Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: downloads/tcl8.5.2/ChangeLog.2004 @ 25

Last change on this file since 25 was 25, checked in by landauf, 16 years ago

added tcl to libs

File size: 177.0 KB
Line 
12004-12-29  Jeff Hobbs  <jeffh@ActiveState.com>
2
3        * win/tcl.m4, win/configure: update MSVC CFLAGS_OPT to -O2, remove -Gs
4        (included in -O2) and -GD (outdated). Use "link -lib" instead of "lib"
5        binary and remove -YX for MSVC7 portability. Add -fomit-frame-pointer
6        for gcc OPT compiles. [Bug 1092952, 1091967] Align LIBS_GUI with Tk
7        head needs.
8
92004-12-29  Kevin B. Kenny  <kennykb@acm.org>
10
11        * generic/tclDate.c: Regen
12        * generic/tclGetDate.y (TclDatelex): Fixed a problem where a
13        four-digit group with >=2 leading zeroes appeared to be a two-digit
14        group, leading to misinterpreting the time 0012 as 1200. [Bug 1090413]
15        * library/clock.tcl: Added code to interpret correctly months outside
16        the range 01-12 as reduced modulo 12 with a corresponding adjustment
17        to the year. [Bug 1092789]
18        * tests/clock.test: Added regression test cases for the above two bugs
19        * unix/Makefile.in: Added --no-lines to the 'bison' command line to
20        * win/Makefile.in: help constrain the number of diffs in a cvs checkin
21
222004-12-24  Miguel Sofer <msofer@users.sf.net>
23
24        * generic/tclCompile.c:
25        * generic/tclCompile.h:
26        * generic/tclExecute.c:
27        * generic/tclInt.h:
28        * generic/tclLiteral.c:
29        * generic/tclProc.c:
30        Avoid sharing cmdName literals accross namespaces, and generalise
31        usage of the TclRegisterNewLiteral macro. [Patch 1090905]
32
332004-12-20  Miguel Sofer <msofer@users.sf.net>
34
35        * generic/tclCompile.c: moved TclInitCompiledLocals to tclProc.c
36        * generic/tclProc.c: new static InitCompiledLocals to allow for a
37        single pass over the proc's arguments at proc load time (instead of
38        two as previously). TclObjInterpProc() now allocates the
39        compiledLocals on the tcl execution stack, using the new
40        TclStackAlloc/Free functions.
41
422004-12-16  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
43
44        * generic/tclInterp.c (Tcl_LimitSetTime, TimeLimitCallback):
45        (TclLimitRemoveAllHandlers, TclInitLimitSupport): Set a timer event to
46        trigger when the time limit runs out. All the time limit actually does
47        is check to see if the time limit has been exceeded, but this is
48        enough to fix [Bug 1085023].
49        * generic/tclInt.h (struct Interp): Added a field to hold the token
50        for the timer event handler associated with the current time limit.
51        * generic/tclEvent.c (Tcl_UpdateObjCmd, Tcl_VwaitObjCmd): Add error
52        message when limit exceeded.
53        * tests/interp.test (interp-34.[89]): Check that time limits handle
54        the two cases reported in [Bug 1085023]
55
56        * generic/tclTimer.c (TclCreateAbsoluteTimerHandler): New internal
57        function that allows setting a timer handler that will be triggered at
58        (or after) a specific time instead of at some number of milliseconds
59        in the future. This is a candidate for future exposure via a TIP.
60
612004-12-15  Miguel Sofer <msofer@users.sf.net>
62
63        * generic/tclBasic.c:
64        * generic/tclExecute.c:
65        * generic/tclInt.decls:
66        * generic/tclIntDecls.h:
67        * generic/tclNamesp.c:
68        * generic/tclProc.c:
69        * generic/tclStubInit.c:
70        * generic/tclTest.c: Added two new functions to allocate memory from
71        the execution stack (TclStackAlloc, TclStackFree). Added functions
72        TclPushStackFrame and TclPopStackFrame that do the work of
73        Tcl_PushCallFrame and Tcl_PopCallFrame, but using frames allocated in
74        the execution stack - i.e., heap instead of C-stack. The core uses
75        these two new functions exclusively; the old ones remain for backwards
76        compat, as at least two popular extensions (itcl, xotcl) are known to
77        use them.
78
792004-12-14  Miguel Sofer <msofer@users.sf.net>
80
81        * generic/tclCmdIL.c:
82        * generic/tclInt.h:
83        * generic/tclProc.c:
84        * generic/tclVar.c: changing the isProcCallFrame field of the
85        CallFrame struct from a 0/1 field to flags. Should be perfectly
86        backwards compatible.
87
882004-12-14  Don Porter  <dgp@users.sourceforge.net>
89
90        * unix/configure.in: Added special processing to remove "$U" from
91        libraries in the LIBOBJS value. This is an auto-make-ism we need to
92        avoid. [Bug 1081541]
93
94        * unix/configure: autoconf-2.57
95
962004-12-13  Don Porter  <dgp@users.sourceforge.net>
97
98        * generic/tcl.h: Restored extern "C" guards so that C++ code sees
99        function pointer typedef linkage consistent with earlier Tcl releases.
100        [Bug 1082349]
101
102        * generic/tclEncoding.c: Plugged some memory leaks. Thanks to Rolf Ade
103        * generic/tclUtil.c:     for reports and testing [Bug 1083082]
104
1052004-12-13  Kevin B. Kenny  <kennykb@acm.org>
106
107        * doc/clock.n: Clarify that the [clock scan] command does not accept
108        the full range of ISO8601 point-in-time formats. [Bug 1075433]
109
1102004-12-12  Miguel Sofer <msofer@users.sf.net>
111
112        * generic/tclVar.c (TclArrayObjCmd - ARRAY_NAMES): leaking an object
113        [Bug 1084111] - thanks to Rolf Ade.
114
1152004-12-12  Miguel Sofer <msofer@users.sf.net>
116
117        * generic/tclObj.c (TclSetCmdNameObj): special handling for fully
118        qualified command names (as in fix [Patch 456668]).
119
1202004-12-11  Miguel Sofer <msofer@users.sf.net>
121
122        * generic/tclInt.h:
123        * generic/tclNamesp.c: converting the static function
124        GetNamespaceFromObj() to MODULE_SCOPE TclGetNamespaceFromObj().
125
1262004-12-10  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
127
128        * tools/tcl.wse.in, unix/tcl.spec, win/README.binary, README:
129        * win/configure.in, unix/configure.in, generic/tcl.h:
130        Bumped version number to 8.5a3 to distinguish HEAD of CVS development
131        from the recent 8.5a2 release.
132
1332004-12-10  Miguel Sofer <msofer@users.sf.net>
134
135        * generic/tclCompile.c (TclInitCompiledLocals):
136        * generic/tclCompile.h:
137        * generic/tclInt.h:
138        * generic/tclProc.c (TclObjInterpProc, TclCreateProc): optimised
139        loops that initialise a proc's arguments and compiled local
140        variables, removing tests from inner loops.
141
1422004-12-10  Donal K. Fellows  <dkf@users.sf.net>
143
144        * generic/tclInt.h: Move ensemble API decls here from tclNamesp.c
145
1462004-12-09  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
147
148        * generic/tclNamesp.c (TclMakeEnsembleCmd, TclSetEnsemble*)
149        (TclSetEnsemble*, TclFindEnsemble): Build an internal API for creating
150        and manipulating ensembles; they can be deleted using the normal
151        command-deletion API.
152
153        * doc/Async.3: Reword for better grammar, better nroff and get the
154        flag name right. (Reported by David Welton.)
155
1562004-12-07  Don Porter  <dgp@users.sourceforge.net>
157
158        * tests/unixInit.test (2.1-4): Added constraints so that when a value
159        of TCL_LIBRARY is required for process initialization, we skip the
160        tests that mess with that value.
161
1622004-12-07  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
163
164        *** 8.5a2 TAGGED FOR RELEASE ***
165
166        * unix/Makefile.in: add library/{tzdata,msgs} to dist target (kbk)
167
168        * doc/foreach.n: Adjust tabs to be friendlier to some HTML
169        converters. [Bug 1078760]
170
1712004-12-06  Jeff Hobbs  <jeffh@ActiveState.com>
172
173        * unix/tclUnixNotfy.c (NotifierThreadProc): init numFdBits
174        [Bug 1079286]
175
176        * doc/error.n, doc/SaveResult.3, doc/Thread.3: minor nroff typos
177
1782004-12-06  Don Porter  <dgp@users.sourceforge.net>
179
180        * tests/safe.test:      Trim auto_path to improve performance [1080039]
181
182        * tests/msgcat.test:    makeFile/removeFile cleanup [1079117]
183
1842004-12-04  Don Porter  <dgp@users.sourceforge.net>
185
186        * generic/tclEncoding.c:        Different fix for [Bug 1077005].
187        * generic/tclEvent.c:   Broke apart TclpSetInitialEncodings() on
188        * generic/tclInt.h:     Windows into TclpSetInterfaces(), that is
189        * unix/tclUnixInit.c:   fundamentally essential, and the initialization
190        * win/tclWinInit.c:     of the system encoding, which is not. Made
191        the TclpSetInterfaces call part of TclInitSubsystems so it cannot be
192        overlooked.
193
1942004-12-03  Jeff Hobbs  <jeffh@ActiveState.com>
195
196        * changes: updated for 8.5a2 release
197
1982004-12-02  Don Porter  <dgp@users.sourceforge.net>
199
200        * generic/tclUtil.c (TclSetProcessGlobalValue): Handle the case where
201        a ProcessGlobalValue might be assigned to itself.
202
203        * generic/tclEncoding.c (MakeFileMap): Correct refcounting errors
204        managing values returned by TclPathPart (with refCount of 1!) that led
205        to a memory leak. [Bug 1077474].
206
2072004-12-02  Vince Darley  <vincentdarley@users.sourceforge.net>
208
209        * generic/tclPathObj.c:  fix and new tests for [Bug 1074671] to ensure
210        * tests/fileSystem.test: tilde paths are not returned specially by
211        'glob'.
212
2132004-12-02  Kevin B. Kenny  <kennykb@acm.org>
214
215        * win/Makefile.in: Added a 'sed' in the setting of ROOT_DIR_NATIVE to
216        compensate for a bug in cygpath (at least version 1.36) that leaves a
217        trailing backslash on the end of the converted path.
218
2192004-12-02  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
220
221        * generic/tclInterp.c (Alias,Target,Master): Rewrote these so that the
222        aliases that refer to an interpreter are stored in a list and not a
223        hashtable (which was only ever a convenience, and forced the use of a
224        global mutex to generate keys!) [FRQ 1077210]
225        * generic/tclNamesp.c (numNsCreated): Moved into thread-local storage
226        to remove a global mutex. [FRQ 1077210]
227
2282004-12-01  Don Porter  <dgp@users.sourceforge.net>
229
230        * generic/tclUtil.c (TclGetProcessGlobalValue): Narrowed the scope of
231        mutex locks.
232
233        * generic/tclUtil.c:            Updated Tcl_GetNameOfExecutable() to
234        * generic/tclEncoding.c:        make use of a ProcessGlobalValue for
235        * generic/tclEvent.c:           storing the executable name. Added
236        internal routines Tcl(Get|Set)ObjNameOfExecutable() to access that
237        storage in Tcl_Obj, rather than string format.
238
239        * unix/tclUnixFile.c:   Rewrote TclpFindExecutable() to use
240        * win/tclWinFile.c:     TclSetObjNameOfExecutable to store the
241        executable name it computes.
242
243        * generic/tclInt.h:     Added internal stub entries for
244        * generic/tclInt.decls: TclpFindExecutable and
245        Tcl(Get|Set)ObjNameOfExecutable.
246
247        * generic/tclIntDecls.h: make genstubs
248        * generic/tclStubInit.c:
249
250        * generic/tclCmdIL.c:   Retrieve executable name in Tcl_Obj form
251        * win/tclWinPipe.c:     instead of string form.
252
253        * unix/tclUnixTest.c:   Update [testfindexecutable] command to use new
254        internal interfaces.
255
256        * generic/tclEncoding.c:        Moved TclpSetInitialEncodings() call
257        from Tcl_FindExecutable() into TclInitEncodingSubsystem(). This is
258        important on Windows where it establishes whether the "ascii" or
259        "unicode" set of system routines will be used, and that needs to be
260        done earlier to support filesystem operations. [Bug 1077005]
261
2622004-12-01  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
263
264        * tests/winDde.test: Rewritten to use tcltest2 features more
265        thoroughly (reducing the [catch] count!) and fix the problem with
266        winDde-6.1 being out of synch with the implementation.
267
2682004-11-30  Don Porter  <dgp@users.sourceforge.net>
269
270        * library/init.tcl ([unknown]): Restored the save/restore of the
271        variables ::errorCode and ::errorInfo. This is needed when the
272        [::bgerror] command is auto-loaded (as it is by Tk).
273
274        Patch 976520 reworks several of the details involved with
275        startup/initialization of the Tcl library, focused on the activities
276        of Tcl_FindExecutable().
277
278        * generic/tclIO.c:      Removed bogus claim in comment that encoding
279        "iso8859-1" is "built-in" to Tcl.
280
281        * generic/tclInt.h:     Created a new struct ProcessGlobalValue,
282        * generic/tclUtil.c:    routines Tcl(Get|Set)ProcessGlobalValue, and
283        function type TclInitProcessGlobalValueProc. Together, these take care
284        of the housekeeping for "values" (things that can be held in a
285        Tcl_Obj) that are global across a whole process. That is, they are
286        shared among multiple threads, and epoch and mutex protection must
287        govern the validity of cached copies maintained in each thread.
288
289        * generic/tclNotify.c:  Modified TclInitNotifier() to tolerate being
290        called multiple times in the same thread.
291        * generic/tclEvent.c:   Dropped the unused argv0 argument to
292        TclInitSubsystems(). Removed machinery to unsure only one
293        TclInitNotifier() call per thread, now that that is safe. Converted
294        Tcl(Get|Set)LibraryPath to use a ProcessGlobalValue, and moved them to
295        tclEncoding.c.
296        * generic/tclBasic.c:   Updated caller.
297
298        * generic/tclInt.h:     TclpFindExecutable now returns void.
299        * unix/tclUnixFile.c:
300        * win/tclWinFile.c:
301        * win/tclWinPipe.c:
302
303        * generic/tclEncoding.c: Built new encoding search initialization on a
304        foundation of ProcessGlobalValues, exposing new routines
305        Tcl(Get|Set)EncodingSearchPath. A cache of a map from encoding name to
306        directory pathname keeps track of where encodings are available for
307        loading. Tcl_FindExecutable greatly simplified into just three
308        function calls. The "library path" is now misnamed, as its only
309        remaining purpose is as a foundation for the default encoding search
310        path.
311
312        * generic/tclInterp.c:  Inlined the initScript that is evaluated by
313        Tcl_Init(). Added verification after initScript evaluation that Tcl
314        can find its installed *.enc files, and that it has initialized
315        [encoding system] in agreement with what the environment expects.
316        [tclInit] no longer driven by the value of $::tcl_libPath; it largely
317        constructs its own search path now, rather than attempt to share one
318        with the encoding system.
319
320        * unix/tclUnixInit.c:   TclpSetInitialEncodings factored so that a new
321        * win/tclWinInit.c:     routine TclpGetEncodingNameFromEnvironment can
322        reveal that Tcl thinks the [encoding system] should be, even when an
323        incomplete encoding search path, or a missing *.enc file won't allow
324        that initialization to succeed. TclpInitLibraryPath reworked as an
325        initializer of a ProcessGlobalValue.
326
327        * unix/tclUnixTest.c:   Update implementations of [testfindexecutable],
328        [testgetdefenc], and [testsetdefenc].
329
330        * tests/unixInit.test:  Corrected tests to operate properly even when
331        a value of TCL_LIBRARY is required to find encodings.
332
333        * generic/tclInt.decls: New internal stubs: TclGetEncodingSearchPath,
334        TclSetEncodingSearchPath, TclpGetEncodingNameFromEnvironment. These
335        are candidates for public exposure by future TIPs.
336
337        * generic/tclIntDecls.h: make genstubs
338        * generic/tclStubInit.c:
339
340        * generic/tclTest.c:    Updated [testencoding] to use
341        * tests/encoding.test:  Tcl(Get|Set)EncodingSearchPath.  Updated tests.
342
3432004-11-30  Kevin B. Kenny  <kennykb@acm.org>
344
345        * library/clock.tcl: Corrected the regular expressions that match a
346        time zone to allow for time zones specified as +HH or -HH.
347        * tests/clock.test: Added regression test case for the above issue.
348        Thanks to Rolf Ade for reporting this issue [http://wiki.tcl.tk/13094]
349        * win/tclWinDde.c (Tcl_DdeObjCmd): Corrected a typo that caused a
350        compilation failure on VC++.
351
3522004-11-29  Andreas Kupries <andreask@activestate.com>
353
354        * win/Makefile.in (install-libraries): Brought entry '2004-10-26 Don
355        Porter (Tcl Modules)' into the windows world, actually the
356        win/configure buildsystem. The other windows buildsystems (.vc, .bc)
357        still have to be updated as well.
358
3592004-11-26  Andreas Kupries <andreask@activestate.com>
360
361        * win/tclWinDde.c (ExecuteRemoteObject): Removed bogus semicolon found
362        at the end of the header for the function definition, terminating it
363        early and preventing a compile. This is likely a fix for '2004-11-25
364        Donal'. I have to conclude that it is also unknown if the other
365        changes to this file actually pass the testsuite. Running testsuite
366        ... They don't. winDde-6.1 fails. This is only a message discrepance,
367        i.e. not too bad. Leaving resolution of that to Pat and Donal.
368
3692004-11-26  Don Porter  <dgp@users.sourceforge.net>
370
371        * library/auto.tcl (tcl_findLibrary): Made sure the uniquifying
372        operations on the search path does not also normalize. [Bug 1072136]
373
3742004-11-26  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
375
376        * unix/configure.in: Simplify the code to check for correctness of
377        strstr, strtoul and strtod.
378        * unix/tcl.m4 (SC_TCL_CHECK_BROKEN_FUNC): Split a complex stanza out
379        of configure.in into its own function. Also force it to do the right
380        thing with cacheing of results of AC_TRY_RUN to deal with issue raised
381        in [Patch 1073524]
382
383        * doc/foreach.n: Added simple example. [FRQ 1073334]
384
3852004-11-25  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
386
387        * generic/tclProc.c (TclObjInterpProc):     Make it so that only
388        * generic/tclIndexObj.c (Tcl_WrongNumArgs): [proc] instances do
389        * tests/indexObj.test (indexObj-5.7):       quoting of their first
390        arguments, so keeping [Bug 942757] fixed and making [Bug 1066837] be
391        fixed as well. Done with a load of #ifdef-ery because this hack is so
392        ugly nobody should keep it around once Itcl's fixed.
393
3942004-11-25  Reinhard Max  <max@suse.de>
395
396        * tests/tcltest.test: The order in which [glob] returns the file names
397        is undefined, so tests should not depend on it.
398
3992004-11-25  Zoran Vasiljevic <vasiljevic@users.sf.net>
400
401        * doc/Thread.3:
402        * doc/Notifier.3: Added changes from the core-8-4-branch
403
4042004-11-25  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
405
406        * doc/dde.n: Synchronized the documentation of the commands with the
407        header of the docs and what the package actually does. Thanks to
408        Andreas Kupries for spotting this.
409        * win/tclWinDde.c (Tcl_DdeObjCmd): Much cleanup of argument parsing
410        code.
411
4122004-11-24  David Gravereaux <davygrvy@pobox.com>
413
414        * generic/tclPort.h: Relative include of tclWinPort.h returned as it
415        was requiring me set -I$(tcl_root)/win for my extensions that need to
416        include tclInt.h and doesn't appear to serve any purpose for windows
417        builds.
418
4192004-11-24  Kevin B. Kenny  <kennykb@acm.org>
420
421        * unix/tcl.m4 (SC_ENABLE_THREADS): Corrected bad check for 3-argument
422        readdir_r [Bug 1001325].
423        * unix/configure: Regenerated.
424        * unix/tclUnixNotfy.c: Corrected all uses of 'select' to manage their
425        masks using the FD_CLR, FD_ISSET, FD_SET, and FD_ZERO macros rather
426        than bit-whacking that failed under Solaris-Sparc-64. [Bug 1071807]
427        * win/tclWinInit.c (TclpInitLibraryPath): Removed unused vars 'pathc'
428        and 'pathv' that caused compilation problems on VC++ with
429        --enable-symbols.
430
4312004-11-24  Don Porter  <dgp@users.sourceforge.net>
432
433        * unix/tcl.m4 (SC_ENABLE_THREADS): Corrected failure to determine the
434        number of arguments for readdir_r on SunOS systems. [Bug 1071701]
435
436        * unix/configure:       autoconf-2.57
437
438        * generic/tclCmdIL.c (InfoVarsCmd):     Corrected segfault in new
439        * tests/info.test (info-19.6):  trivial matching branch [Bug 1072654]
440
4412004-11-24  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
442
443        * tools/man2html.tcl, tools/man2html1.tcl: Update to use Tcl 8.4.
444        * tools/man2html2.tcl: Fix broken .SS handling.
445
4462004-11-23  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
447
448        * unix/Makefile.in: Add (commented-out) code to integrate tclConfig.h
449        into the dependency tree and 'make distclean'. [Bug 1068171]
450
451        * generic/tclResult.c (Tcl_AppendResultVA): Remove call to
452        Tcl_GetStringResult to speed up repeated calls to Tcl_AppendResult
453        with the side effect that code that wants to access interp->result
454        should always call Tcl_GetStringResult first. See [Patch 1041072]
455        discussion for more details.
456
4572004-11-22  Mo DeJong  <mdejong@users.sourceforge.net>
458
459        * unix/configure: Regen.
460        * unix/tcl.m4 (SC_TCL_64BIT_FLAGS): Define HAVE_TYPE_OFF64_T only when
461        off64_t, open64(), and lseek64() are defined. IRIX 5.3 is known to not
462        include an open64 function. [Bug 1030465]
463
4642004-11-22  Mo DeJong  <mdejong@users.sourceforge.net>
465
466        * unix/configure: Regen.
467        * unix/tcl.m4 (SC_ENABLE_THREADS): Check for a 2 argument version of
468        readdir_r that is known to exists under IRIX 5.3.
469        * unix/tclUnixThrd.c (TclpReaddir): Use either 2 arg or 3 arg version
470        of readdir_r. [Bug 1001325]
471
4722004-11-22  Don Porter  <dgp@users.sourceforge.net>
473
474        * unix/tclUnixInit.c (TclpInitLibraryPath): Purged dead code that used
475        * win/tclWinInit.c (TclpInitLibraryPath):  to extend the "library
476        path". Search path construction for init.tcl is now done within the
477        [tclInit] proc.
478        * generic/tclInterp.c:  Restored several directories to the search
479        * tests/unixInit.test:  path used to locate init.tcl within [tclInit].
480        This change does not restore any directories to the encoding search
481        path, so should still avoid the price of an unreasonably large number
482        of filesystem accesses during encoding initialization at startup
483        [Bug 976438]
484
4852004-11-22  Vince Darley  <vincentdarley@users.sourceforge.net>
486
487        * generic/tclPathObj.c: fix and new test for [Bug 1043129] in the
488        * tests/fileSystem.test: treatment of backslashes in file join on
489        Windows.
490
4912004-11-21  Don Porter  <dgp@users.sourceforge.net>
492
493        * doc/AddErrInfo.3:     Typo corrections (Thanks Daniel South).
494        * doc/interp.n:
495
4962004-11-19  Don Porter  <dgp@users.sourceforge.net>
497
498        * doc/AddErrInfo.3:     Docs for Tcl_(Get|Set)ReturnOptions. [TIP 227]
499
500        * doc/AddErrInfo.3:
501        * doc/Async.3:          Documentation updates to replace references
502        * doc/BackgdErr.3:      to global variable ::errorInfo and ::errorCode
503        * doc/SaveResult.3:     and to the ::bgerror command with references
504        * doc/after.n:          to their preferred replacements, the
505        * doc/bgerror.n:        -errorinfo and -errorcode return options,
506        * doc/error.n:          the Tcl_*InterpState routines, and the
507        * doc/exec.n:           [interp bgerror] command.
508        * doc/exit.n:
509        * doc/fileevent.n:
510        * doc/interp.n:
511        * doc/return.n:
512        * doc/tclvars.n:
513        * doc/update.n:
514
515        * tests/unixInit.test: Removed "knownBug" constraints to prompt bug
516        fixing before 8.5a2 release.
517
5182004-11-19  Daniel Steffen  <das@users.sourceforge.net>
519
520        * macosx/Makefile:
521        * unix/configure.in:
522        * unix/tclUnixInit.c (MacOSXGetLibraryPath): changed detection of tcl
523        framework build when determining tclLibPath from overloaded
524        TCL_LIBRARY to configuration define TCL_FRAMEWORK. [Bug 1068088]
525
526        * unix/configure: autoconf-2.57
527        * unix/tclConfig.h.in: autoheader-2.57
528
5292004-11-18  Don Porter  <dgp@users.sourceforge.net>
530
531        * doc/SaveResult.3:     Documentation for Tcl_*InterpState (TIP 226).
532
533        * generic/tclEvent.c (HandleBgErrors):  Simplified program flow.
534
535        * tests/basic.test:     Updated functional (not testing) uses of
536        * tests/io.test:        [bgerror] to make use of [interp bgerror].
537        * tests/socket.test:
538        * tests/timer.test:
539
540        * tests/interp.test (interp-36.*):      [interp bgerror] tests.
541
542        * generic/tclInterp.c:  Corrected [interp bgerror] error messages.
543
5442004-11-18  Reinhard Max  <max@suse.de>
545
546        * unix/tcl.m4 (SC_CONFIG_MANPAGES): Applied an improved version of
547        * unix/configure.in:                [Patch 996085], that introduces
548        * unix/Makefile.in:                 --enable-man-suffix.
549
550        * unix/installManPage:              added
551        * unix/mkLinks.tcl:                 removed
552        * unix/mkLinks:                     removed
553        * unix/configure:                   generated
554
555        * unix/Makefile.in:                 Don't install tclConfig.h .
556
5572004-11-17  Don Porter  <dgp@users.sourceforge.net>
558
559        * unix/configure.in: The change below reveals that the public data
560        type Tcl_StatBuf relies on config information. For now, disabled the
561        use of the tclConfig.h file until its full impact on Tcl's interface
562        can be assessed.
563
564        * unix/configure:       autoconf-2.57
565
566        * generic/tcl.h:        Moved the #include "tclConfig.h" out of
567        * generic/tclInt.h:     tcl.h.  The config settings are not part of
568        * generic/tclPort.:     the public interface, and having it there
569        breaks compiled against uninstalled Tcl and extensions using
570        autoconf-2.5*.
571
5722004-11-16  Jeff Hobbs  <jeffh@ActiveState.com>
573
574        * unix/tclUnixChan.c (TtySetOptionProc): fixed crash configuring
575        -ttycontrol on a channel. [Bug 1067708]
576
5772004-11-16  Don Porter  <dgp@users.sourceforge.net>
578
579        * generic/tclIOUtil.c (TclFSEpochOk): There were two code paths via
580        which the thread copy of filesystemEpoch could be synched with the
581        master copy, but only one kept the filesystem list cache up to date.
582        Fix routes everything through a single code path. [Bug 1035775].
583
5842004-11-16  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
585
586        * unix/tcl.m4 (SC_CONFIG_CFLAGS): Stop architecture flags to 'ld' from
587        getting lost when [load] is disabled. [Bug 1016796]
588
5892004-11-16  Daniel Steffen  <das@users.sourceforge.net>
590
591        * generic/tcl.h:
592        * unix/configure.in: changed HAVE_CONFIG_H to HAVE_TCL_CONFIG_H.
593
594        * unix/configure: autoconf-2.57
595
5962004-11-15  Don Porter  <dgp@users.sourceforge.net>
597
598        * generic/tclInt.h: Added comment warning that the old ERR_IN_PROGRESS
599        and ERROR_CODE_SET flag values should not be re-used for the sake of
600        those extensions that have accessed them.
601
602        * generic/tclCmdMZ.c (Tcl_TraceObjCmd): Fixed Bug 1065378 which failed
603        * tests/trace.test (trace-33.1):        to permit a variable trace
604        created with [trace variable] to be destroyed with [trace remove].
605        Thanks to Keith Vetter for the report.
606
6072004-11-15  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
608
609        * doc/tclvars.n: Added section to documentation on global variables
610        that are specific to tclsh and wish. [Patch 1065732]
611
6122004-11-12  Jeff Hobbs  <jeffh@ActiveState.com>
613
614        * generic/tclEncoding.c (TableFromUtfProc): correct crash condition
615        when TCL_UTF_MAX == 6. [Bug 1004065]
616
6172004-11-12  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
618
619        * doc/interp.n: Basic documentation of the TIP#221 API.
620
6212004-11-12  Don Porter  <dgp@users.sourceforge.net>
622
623        TIP #221 IMPLEMENTATION
624        * generic/tclBasic.c:   Define [::tcl::Bgerror] in new interps.
625        * generic/tclEvent.c:   Update Tcl_BackgroundError to make use of the
626                                registered [interp bgerror] command.
627        * generic/tclInterp.c:  New [interp bgerror] subcommand.
628        * tests/interp.test:    syntax tests updated.
629
630        TIP #226 IMPLEMENTATION
631        * generic/tcl.decls:    Stubs for Tcl_(Save|Restore|Discard)InterpState
632        * generic/tcl.h:        New public opaque type, Tcl_InterpState.
633        * generic/tclInt.h:     Drop old private declarations. Add
634                                Tcl(Get|Set)BgErrorHandler
635        * generic/tclResult.c:  Tcl_*InterpState implementations.
636        * generic/tclDictObj.c: Update callers.
637        * generic/tclIOGT.c:
638        * generic/tclTrace.c:
639
640        TIP #227 IMPLEMENTATION
641        * generic/tcl.decls:    Stubs for Tcl_(Get|Set)ReturnOptions.
642        * generic/tclInt.h:     Drop old private declarations.
643        * generic/tclResult.c:  Tcl_*ReturnOptions implementations.
644        * generic/tclCmdAH.c:   Update callers.
645        * generic/tclMain.c:
646
647        * generic/tclDecls.h:   make genstubs
648        * generic/tclStubInit.c:
649
650        * unix/tclAppInit.c:    Removed tclConfig.h #include, now that tcl.h
651                                takes care of it for us.
652
653        * generic/tclInt.h:     Moved verification of ptrdiff_t typedef from
654        * generic/tclExecute.c: multiple .c files into one common header where
655        * generic/tclVar.c:     it is verifiably after tclConfig.h inclusion.
656
6572004-11-12  Daniel Steffen  <das@users.sourceforge.net>
658
659        * generic/tcl.h:
660        * generic/tclInt.h:
661        * unix/Makefile.in: include tclConfig.h from tcl.h and install it as a
662        public header. Normalized compiler include path order to
663        -I${BUILD_DIR} -I${UNIX_DIR} -I${GENERIC_DIR}.
664
665        * unix/dltest/Makefile.in: add ${BUILD_DIR}/.. to include path to pick
666        up tclConfig.h.
667
668        * unix/tclUnixInit.c: moved check for HAVE_CFBUNDLE define after
669        #include "tclInt.h" to ensure tclConfig.h has been included.
670
6712004-11-12  Reinhard Max  <max@suse.de>
672
673        * unix/config.h.in:
674        * unix/tclConfig.h.in:  renamed
675
676        * unix/Makefile.in:     Completed support for config header,
677        * unix/configure.in:    fixed building outside of the unix dir,
678        * unix/tclAppinit.c:    and reflected the name change of config.h.
679        * generic/tclInt.h:
680
681        * unix/configure:       generated
682
6832004-11-12  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
684
685        * unix/config.h.in:     Allow configure to put all the C #defs into
686        * unix/configure.in:    a file (called config.h) so that Unix builds
687        * unix/tcl.m4:          now take far fewer lines of scrollback to
688        * unix/Makefile.in:     proceed (making it less likely that any errors
689        * generic/tclInt.h:     or warnings will get missed).
690        * unix/tclAppInit.c:    Part of the TIP#34 upgrades.
691
692        * unix/tcl.m4, unix/tclUnixPort.h: Check for pthread_attr_get_np in
693        <pthread.h> before forcing the use of <pthread_np.h> to make things
694        work on NetBSD 2.0. [Bug 1064882]
695
696        * doc/binary.n, doc/upvar.n: More minor fixes.
697
6982004-11-12  Daniel Steffen  <das@users.sourceforge.net>
699
700        * doc/CrtChannel.3:
701        * doc/Interp.3:
702        * doc/Limit.3:
703        * doc/binary.n:
704        * doc/dict.n:
705        * doc/tm.n:
706        * doc/upvar.n: fixed *roff errors uncovered by running 'make html'.
707
708        * tools/tcltk-man2html.tcl: added faked support for bullet point
709        lists, i.e. *nroff ".IP \(bu" syntax.
710
7112004-11-11  Daniel Steffen  <das@users.sourceforge.net>
712
713        * tests/fCmd.test:
714        * unix/tclUnixFCmd.c (TraverseUnixTree): added option to rewind() the
715        readdir() loop whenever the source hierarchy has been modified by
716        traverseProc (e.g. by deleting files); this is required to ensure
717        complete traversal of the source hierarchy on certain filesystems like
718        HFS+. Added test for failing recursive delete on Mac OS X that was due
719        to this. [Bug 1034337]
720
721        * generic/tclListObj.c (Tcl_ListObjReplace): use memmove() instead of
722        manual copy loop to shift list elements. Decreases time spent in
723        Tcl_ListObjReplace() from 5.2% to 1.7% of overall runtime of tclbench
724        on a ppc 7455 (i.e. 200% speed increase). [Patch 1064243]
725
726        * generic/tclHash.c: hoisted some constant pointer dereferences out of
727        loops to eliminate redundant loads that the gcc optimizer didn't deal
728        with. Decreases time spend in Tcl_FindHashEntry() by 10% over a full
729        run of the tcl testuite on a ppc 7455. [Patch 1064243]
730
731        * tests/fileName.test:
732        * tests/fileSystem.test:
733        * tests/io.test:
734        * tests/msgcat.test:
735        * tests/tcltest.test:
736        * tests/unixInit.test: fixed bugs causing failures when running tests
737        with -tmpdir arg not set to working dir.
738
739        * macosx/Makefile: corrected path to html help inside framework.
740        Prevent parallel make from building several targets at the same time.
741
742        * macosx/tclMacOSXFCmd.c (struct fileinfobuf): force struct to be
743        packed to prevent failures when builing with -malign=natural.
744
7452004-11-10  Andreas Kupries <andreask@activestate.com>
746
747        * unix/tclUnixChan.c: [Bug 727786]. Exterminated the code marked
748        DEPRECATED. This code has not been used in over a year now, and we
749        have no complaints.
750
7512004-11-08  David Gravereaux <davygrvy@pobox.com>
752
753        * win/tclWinPipe.c: The pipe channel driver now respects the -blocking
754        option when closing is the same way the UNIX side works. This is to
755        avoid a hung shell when exiting due to open pipes that refuse to close
756        in a graceful manner.
757        * doc/open.n: Added a note about -blocking 0 and lack of exit status
758        as it had never been documented. [Bug 947693]
759
760        ***POTENTIAL INCOMPATIBILITY***
761
762        Scripts that use async pipes on windows, must (like the UNIX side) set
763        -blocking to 1 before calling [close] to receive the exit status.
764
7652004-11-07  David Gravereaux <davygrvy@pobox.com>
766
767        * tests/winFile.test: added contraint to winFile-4.0 to prevent it
768        being run on NT4 [Bug 981829]
769
7702004-11-05  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
771
772        * tests/reg.test: Major reorganization so that this file is much
773        easier for a normal Tcl maintainer to comprehend. The test flags are
774        still very cryptic, but they appear to have to be that way. The number
775        of skipped tests has increased, but now the skipped tests have much
776        more meaningful content.
777
778        * tests/tm.test (genpaths): Add a [file normalize] so we pick up
779        Windows drive letters, etc. [Bug 1053568]
780
7812004-11-04  Don Porter  <dgp@users.sourceforge.net>
782
783        * changes:      Updates toward an 8.5a2 release.
784
7852004-11-03  Kevin B. Kenny  <kennykb@acm.org>
786
787        * library/clock.tcl (FreeScan): Fixed a bug where scanning "Monday"
788        with a base time other than midnight incorrectly carried the base time
789        forward.
790
791        * test/clock.test (clock-33.{5,5a}): Made the test failure more
792        informative.
793
794        * tests/clock.test (clock-34.{28,44,45,46}): Removed 'knownBug'
795        constraints from tests that no longer fail.
796
797        Thanks to Don Porter for reporting these.
798
7992004-11-03  David Gravereaux <davygrvy@pobox.com>
800
801        * generic/tcl.h:                Moved the preprocessor logic
802        * generic/tclDecls.h:           from tclInt.h of setting the
803        * generic/tclInt.h:             TCL_STORAGE_CLASS macro to the
804        * generic/tclIntDecls.h:        tcl*Decls.h files now that no
805        * generic/tclIntPlatDecls.h:    use of EXTERN is left in tclInt.h.
806        * generic/tclPlatDecls.h:       Proto for Tcl_Main moved in tcl.h
807        * win/tclWinPort.h:             to prior the inclusion of the Stubs
808        headers as they are now resetting TCL_STORAGE_CLASS. Removed
809        extraineous reset from tclWinPort.h. [Patch 1055668]
810
811        * generic/tclCompile.h: Removed extrainious reset of TCL_STORAGE_CLASS
812        missed in my last edit.
813
8142004-11-03  Don Porter  <dgp@users.sourceforge.net>
815
816        * library/init.tcl ([unknown]): Corrections to the 2004-10-25 mods to
817        Aunt ??? in [unknown]. Flaws revealed by Itcl test suite, which still
818        apparently relies on this brokenness. Also added comment suggesting
819        the error message that any code using this hack *ought* to receive in
820        reply.
821
822        * generic/tclTrace.c (TclCallVarTraces):  Improved ability to debug
823        * tests/incr-old.test (incr-old-2.6):     errors during variable
824        * tests/incr.test (incr-{1,2}.28):        traces by preserving the
825        * tests/set.test (set-{2,4}.4):           -errorinfo data.
826        * tests/trace.test (trace-33.1):          [Bug 527164]
827
8282004-11-02  David Gravereaux <davygrvy@pobox.com>
829
830        * generic/tclInt.h: added a check for #ifdef __cplusplus around the
831        #define of MODULE_SCOPE. About the only time it would be problem is
832        when someone is statically linking to Tcl and accessing internals from
833        a C++ file and has name mangling issues from the lack of "C" after
834        'extern' [Patch 1055668].
835        * generic/tclCompile.h: Exchanged use of the EXTERN macro to the new
836        MODULE_SCOPE macro. Lowered exported internals count by 35. [Patch
837        1055668]
838        * win/tclWinInt.h:
839        * win/tclWinPort.h: exported internals dropped by a count of 14.
840        * generic/tclFileSystem.h: Added use of MODULE_SCOPE on protos.
841        * generic/tclRegexp.h: manipulating TCL_STORAGE_CLASS unnecessary.
842
8432004-11-02  Don Porter  <dgp@users.sourceforge.net>
844
845        * library/tcltest/tcltest.tcl:          Corrected some misleading
846        * tests/tcltest.test (tcltest-26.1,2):  displays of ::errorInfo and
847        ::errorCode information when the -setup, -body, and/or -cleanup scripts
848        return an unexpected return code. Thanks to Robert Seeger for the fix.
849        [RFE 1017151].
850
8512004-11-02  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
852
853        * generic/tclExecute.c (TclExecuteByteCode): Improved version of the
854        NaN fix from Miguel Sofer. [Bug 761471]
855
8562004-11-02  Kevin Kenny  <kennykb@acm.org>
857
858        * library/tzdata/America/Cuiaba: Change to DST rules for
859        * library/tzdata/America/Havana: autumn of 2004.
860        [ftp://elsie.nci.nih.gov/pub/tzdata2004g.tar.gz]
861
862        * tools/tclZIC.tcl: Updated to be compatible with recent changes in
863        library/clock.tcl.
864
8652004-11-02  Vince Darley  <vincentdarley@users.sourceforge.net>
866
867        * win/tclWinFile.c: Simplify TclpUtime to use Tcl_FSGetNativePath, and
868        add comments.
869
8702004-11-02  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
871
872        * generic/tclInt.h: Change uses of EXTERN to MODULE_SCOPE (defined in
873        this file too to be 'extern' if not overridden) as nothing declared in
874        tclInt.h is supposed to be visible outside the Tcl core. If there *is*
875        anything that extensions are actually using, we can open this up later
876        on. [Patch 1055668]
877
878        * doc/CrtChannel.3 (Tcl_GetChannelMode): Add synopsis. [Bug 1058446]
879
8802004-11-01  Kevin B. Kenny  <kennykb@acm.org>
881
882        * win/tclWinFile.c (FromCTime, TclpUtime): Replaced a call to the
883        Posix 'utime' function with calls to Windows-API equivalents, to avoid
884        a bug where the VC++ versions misconvert times across a Daylight
885        Saving Time boundary. [Bug 926106]
886        * win/tclWinInt.h (TclWinProcs):
887        * win/tclWin32Dll.c (asciiProcs, unicodeProcs): Removed now-unused
888        reference to 'utime'.
889        * tests/cmdAH.test (cmdAH-24.12): Added test case for the above bug.
890
8912004-11-01  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
892
893        * generic/tclExecute.c (TclExecuteByteCode): Make INST_EQ and friends
894        handle NaN correctly in all cases. [Bug 761471]
895
896        * generic/tclNamesp.c (NamespaceInscopeCmd): Make the error message
897        generation the same as in NamespaceEvalCmd().
898        (Tcl_Import): Rationalized to use Tcl_EvalObjv().
899
9002004-10-31  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
901
902        * tests/io.test (io-40.3): Convert umask2 test constraint into a form
903        that most people will be able to satisfy.
904
905        * tests/cmdAH.test (cmdAH-8.45): Removed broken test constraint. It
906        didn't do what it was intended to do, and it implied the other correct
907        constraint. [Bug 1053908]
908
909        * generic/tclCmdIL.c (InfoGlobalsCmd):
910        * tests/info.test (info-8.4): Strip leading global-namespace
911        specifiers from the pattern argument. [Bug 1057461]
912
9132004-10-30  Kevin Kenny  <kennykb@acm.org>
914
915        * generic/clock.c: Replaced WIN32 macro with __WIN32__. [Bug 1054357].
916        Thanks to David Gravereaux for the patch.
917        * win/tclWinFile.c: Removed a long-standing bug that causes incorrect
918        conversion between file time and UTC time if the file time is recorded
919        in a different Daylight Saving Time status than the current one. [Bug
920        926106]
921
9222004-10-29  Don Porter  <dgp@users.sourceforge.net>
923
924        * library/tcltest/tcltest.tcl:  Correct reaction to errors in the
925        obsolete processCmdLineArgsHook.        [Bug 1055673]
926        * library/tcltest/pkgIndex.tcl: Bump to tcltest 2.2.7
927        * unix/Makefile.in:
928        * tests/all.tcl:        Update to use [tcltest::configure].
929
9302004-10-29  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
931
932        * library/tm.tcl (::tcl::tm::*): Use the core proc engine to generate
933        the wrong-num-args error messages for the path ensemble.
934
935        Ensembles can now (sometimes) rewrite the error messages of their
936        subcommands so they appear more like the arguments that the user
937        passed to the ensemble. Below is a description of changes involved in
938        doing this.
939
940        * tests/namespace.test (namespace-50.*): Tests of ensemble subcommand
941        error message rewriting.
942        * generic/tclProc.c (TclObjInterpProc): Make procedures implement
943        their wrong-num-args message using Tcl_WrongNumArgs instead of
944        something baked-at-home.
945        * generic/tclNamesp.c (TclIsEnsemble, NsEnsembleImplementationCmd):
946        Added test of ensemble-hood (available to rest of core) and made
947        ensembles set up the rewriting for Tcl_WrongNumArgs to take advantage
948        of.
949        * generic/tclInt.h (Interp.ensembleRewrite): Extra fields.
950        * generic/tclIndexObj.c (Tcl_WrongNumArgs): Add knowledge of what is
951        going on in ensembles' command rewriting so this command can generate
952        the right error message itself.
953        * generic/tclBasic.c (Tcl_CreateInterp, TclEvalObjvInternal): Added
954        code to initialize (as empty) the rewriting fields and reset them when
955        we leak outside an ensemble implementation.
956
9572004-10-28  Miguel Sofer <msofer@users.sf.net>
958
959        * generic/tclExecute.c (INST_START_CMD):
960        * tests/execute.test (execute-8.3): fix for execution stack corruption
961        [Bug 1055676]. Credit dgp for detective work and fix.
962
9632004-10-27  Don Porter  <dgp@users.sourceforge.net>
964
965        * tests/socket.test (socket-13.1):      Balanced [makeFile] and
966        [removeFile] commands.
967
968        * tests/clock.test:     Correct duplicate test names.
969        * tests/namespace.test:
970        * tests/string.test:
971        * tests/io.test (io-50.4):      Use namespace variables.
972
9732004-10-27  David Gravereaux <davygrvy@pobox.com>
974
975        * generic/tclInt.decls:   The following 9 functions were moved from
976        * generic/tclInt.h:       tclInt.h to the private/int Stubs table for
977        * generic/tclIntDecls.h:  use by the test suite. As tclTest.obj is
978        * generic/tclStubInit.c:  linked to the shell, these functions need
979        "blessed" status so as to always be exported from the library. Being
980        placed in the Stubs table guarantees this [Bug 1054748]:
981                TclpObjRemoveDirectory, TclpObjCopyDirectory,
982                TclpObjCreateDirectory, TclpObjDeleteFile,
983                TclpObjCopyFile,        TclpObjRenameFile,
984                TclpObjStat,            TclpObjAccess,
985                TclpOpenFileChannel
986
987        * tests/registry.test:  Fixed test files to load the correct
988        * tests/winDde.test:    registry and dde packages by using the info
989        * win/Makefile.in:      from makefiles to tell tcltest where to load
990        * win/makefile.vc:      them from. This avoids grabbing the wrong
991        package from $auto_path which might be the install point rather than
992        the dev location. Kudos to Jennifer Hom for adding -load and
993        -loadfile to the tcltest package. [Bug 926088]
994
995        * win/tclWinThrd.c (TclFinalizeLock): release the critical section
996        before deleting it. [Bug 731778]
997
998        * generic/tcl.h: Removed the file level 'extern "C" {' and the
999        coresponding closing block as it serves no purpose given that all the
1000        function prototypes have the proper extern usage already.
1001
1002        * unix/tclAppInit.c:    When built as tcltest, TclThread_Init was
1003        * win/tclAppInit.c:     getting called twice. First by Tcltest_Init,
1004        then again in Tcl_AppInit. The call from Tcl_AppInit is now removed.
1005
10062004-10-27  Andreas Kupries <andreask@activestate.com>
1007
1008        * tests/tm.test:  Expanded on the testsuite entered by Donal.
1009        * library/tm.tcl: Even found bugs, these have been corrected.
1010
10112004-10-26  Kevin Kenny <kennykb@acm.org>
1012
1013        * tests/format.test (format-19.1): Additional regression test for [Bug
1014        868489].
1015
10162004-10-27  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
1017
1018        * doc/*.n: Many small general documentation fixes.
1019
10202004-10-26  David Gravereaux <davygrvy@pobox.com>
1021
1022        * generic/tclPipe.c (TclCleanupChildren): bad cast of resolvedPid
1023        caused PIDs on win95 to go negative. winpipe-4.2 brought this to the
1024        surface. Fixed with sprintf in place of TclFormatInt. Thanks to hgiese
1025        [Patch 767676]
1026
10272004-10-26  Andreas Kupries <andreask@activestate.com>
1028
1029        * library/tm.tcl (::tcl::tm::Defaults): Added a second [file dirname]
1030        around the location of the executable. This fixes [Bug 1038705].
1031        Instable of a bogus "foo/bin/lib" we now have the correct "foo/lib" as
1032        a base path for modules.
1033
10342004-10-26  Don Porter  <dgp@users.sourceforge.net>
1035
1036        * generic/tclParse.c (Tcl_SubstObj):    Fix for failed subst-12.3 test
1037        * tests/subst.test (subst-12.3-5):      More tests for Bug 1036649.
1038
1039        * unix/Makefile.in (install-libraries): Updated the installation of
1040        the http, msgcat, and tcltest packages to install as Tcl Modules on
1041        Unix systems. Other platform Makefiles still need updating. [Patch
1042        1054370]
1043
1044        * tests/basic.test:     Added missing constraints.
1045        * tests/compile.test:
1046        * tests/fileSystem.test:
1047
1048        * tests/init.test (init-2.8):   Updated to not rely on http package.
1049
10502004-10-26  Miguel Sofer <msofer@users.sf.net>
1051
1052        * generic/tclInt.h:
1053        * generic/tclVar.c: removed more direct references to the VAR flags,
1054        replaced with access macros.
1055
10562004-10-26  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
1057
1058        * doc/expr.n: Clarified that non-num/non-bool literals require
1059        quoting. [Bug 1027849]. Also listed booleans as acceptable values.
1060
10612004-10-26  Kevin B. Kenny <kennykb@acm.org>
1062
1063        * library/clock.tcl (FreeScan): Fixed a bug that caused relative days
1064        of the week in free-form [clock scan] to be evaluated in the wrong
1065        time zone.
1066        * tests/clock.test (clock-31.[456]): Made sure that there isn't an
1067        env(TZ) or env(TCL_TZ) lying around that will override the time zone
1068        that we're trying to establish with the simulated registry.
1069        Both problems reported as [Bug 1054101].
1070
10712004-10-25  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
1072
1073        * doc/string.n (map): Rewrote to clarify that we don't just map single
1074        characters. [Bug 1048005]
1075        * doc/info.n (procs): Clarified that the pattern argument may have
1076        namespace separators in it. [Bug 1047928]
1077
1078        * tests/cmdAH.test (cmdAH-8.45): Simplify in the hope that the reasons
1079        for [Bug 1053908] will become clearer.
1080
10812004-10-25  Don Porter  <dgp@users.sourceforge.net>
1082
1083        * generic/tclExecute.c (IllegalExprOperandType,TclExecuteByteCode):
1084        Removed several DECACHE_INFO/CACHE_INFO pairs that are no longer
1085        needed for protection because routines like Tcl_SetErrorCode() and
1086        Tcl_AddErrorInfo() can no longer re-enter bytecode execution.
1087
1088        * generic/tclResult.c (TclProcessReturn): Bug fix. Be sure that a
1089        missing -errorinfo option when code == TCL_ERROR causes the errorInfo
1090        field to get reset.
1091
1092        * tests/thread.test (thread-4.4): Test depended on a ::errorInfo value
1093        initialized to "". Added code to test to setup that requirement.
1094
1095        * library/auto.tcl:     Purged Tcl's script library of all
1096        * library/clock.tcl:    remaining references to global vars
1097        * library/init.tcl:     ::errorInfo and ::errorCode.
1098
1099        * generic/tclMain.c (Tcl_Main): Updated to make use of
1100        TclGetReturnOptions instead of ::errorInfo variable.
1101
1102        * generic/tclInterp.c (tclInit): Bug fix. Access dict variables with
1103        [dict get], not array syntax.
1104
11052004-10-25  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
1106
1107        * tests/tm.test: Rewrote the tests to actually perform syntax checks
1108        on the public API. Added a new test (currently failing) to indicate
1109        that the test suite is not complete yet.
1110        * library/tm.tcl (path): Rewrote to turn this command into an ensemble
1111        to make it faster and simpler.
1112
11132004-10-24  Miguel Sofer <msofer@users.sf.net>
1114
1115        * generic/tclCmdIL.c:
1116        * generic/tclExecute.c:
1117        * generic/tclInt.h:
1118        * generic/tclTrace.c: defined new macros to get/set the flags of
1119        variables. The only files that still access the flag values directly
1120        are tclCompCmds.c, tclCompile.c, tclProc.c and tclVar.c
1121
11222004-10-24  Don Porter  <dgp@users.sourceforge.net>
1123
1124        * generic/tclBasic.c (Tcl_LogCommandInfo,Tcl_AddObjErrorInfo): Shift
1125        the initialization of errorCode to NONE to more central location.
1126
1127        * generic/tclEvent.c (BgError,Tcl_BackgroundError,HandleBgErrors):
1128        Rewrite to build on the new TclGet/SetReturnOptions routines.
1129
1130        * generic/tclResult.c (TclGetReturnOptions): Add call to
1131        Tcl_AddObjErrorInfo to be sure error fields are initialized.
1132
1133        * generic/tclResult.c (TclTransferResult): Rewrite to build on the new
1134        TclGet/SetReturnOptions routines.
1135
11362004-10-22  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
1137
1138        * doc/tm.n: Tightened up the documentation.
1139        * tests/tm.test: Created (with partially dummy content) so TIP#189 can
1140        be marked Final.
1141
1142        * generic/tclNamesp.c (NsEnsembleImplementationCmd): Make ensembles
1143        cut their implementations out of error traces. This is the right thing
1144        to do more often than not.
1145
11462004-10-22  Kevin B. Kenny  <kennykb@acm.org>
1147
1148        * library/clock.tcl: Fixed a typo where the fallback time zone became
1149        ::localtime instead of :localtime. Fixed a bug where time zone names
1150        containing hyphens could not be loaded.
1151        * tests/clock.test: Added regression test cases that covers both bugs.
1152        Thanks to Todd M. Helfter <tmh@jumpgate.itsp.purdue.edu> for finding
1153        these bugs.
1154
11552004-10-22  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
1156
1157        * generic/tclExecute.c (TclCompEvalObj, Tcl_ExprObj):
1158        * generic/tclProc.c (TclProcCompileProc): Always call object
1159        freeIntRepProc's in the same way.
1160
11612004-10-22  Miguel Sofer <msofer@users.sf.net>
1162
1163        * generic/tclVar.c: fixed bug in commit of 2004-07-23, which was
1164        causing a leak of Proc structures and failure of compile-12.1. Two
1165        lines were 'zombies' from the previous way localVarNames worked.
1166        Credit dgp for finding this.
1167
11682004-10-21  Don Porter  <dgp@users.sourceforge.net>
1169
1170        * generic/tclInt.h (Interp):
1171        * generic/tclBasic.c (Tcl_CreateInterp,Tcl_DeleteInterp):
1172        * generic/tclResult.c (GetKeys,ReleaseKeys,etc.): Moved the key values
1173        of the return options dictionary out of private fields of the Interp
1174        struct and into thread-static values managed in tclResult.c.
1175
1176        * generic/tclCmdAH.c (Tcl_CatchObjCmd, Tcl_ErrorObjCmd): Updated to
1177        call the new TclGet/SetReturnOptions routines to do much of their
1178        work.
1179
1180        * generic/tclInt.h (TclGetReturnOptions,TclSetReturnOptions):
1181        * generic/tclResult.c (TclGetReturnOptions,TclSetReturnOptions): New
1182        utility routines to get/set the return options of an interp. Intent is
1183        that these routines will be converted to public routines after TIP
1184        approval.
1185
1186        * generic/tclCmdMZ.c (TclProcessReturn,TclMergeReturnOptions):
1187        * generic/tclResult.c (TclProcessReturn,TclMergeReturnOptions): Move
1188        internal utility routines from tclCmdMZ.c to tclResult.c.
1189
1190        * generic/tclBasic.c (Tcl_CreateInterp, Tcl_DeleteInterp):
1191        * generic/tclResult.c (TclTransferResult): Rework so that
1192        iPtr->returnOpts can be NULL when there are no special options.
1193
1194        * generic/tclResult.c (TclRestoreInterpState): Plug potential memory
1195        leak.
1196
11972004-10-21  Kevin B. Kenny  <kennykb@acm.org>
1198
1199        * generic/tclBasic.c: Various changes to [clock format] that,
1200        * generic/tclClock.c: together, make it roughly twice as fast
1201        * generic/tclInt.h:   while all tests in the test suite
1202        * library/clock.tcl:  continue to pass.
1203
12042004-10-20  Andreas Kupries <andreask@activestate.com>
1205
1206        * win/Makefile.in (install-msgs):   Fixed a problem with the
1207        * win/Makefile.in (install-tzdata): installation of timezone data and
1208        message catalogs. They used the installed tcl library directory, not
1209        the source library. Before it was installed. Switched to source lib
1210        dir. Thanks to Kevin for the help in figuring this out.
1211
12122004-10-20  Don Porter  <dgp@users.sourceforge.net>
1213
1214        * generic/tclThreadTest.c (ThreadEventProc): Corrected subtle bug
1215        where the returned (char *) from Tcl_GetStringResult(interp) continued
1216        to be used without copying or refcounting, while activity on the
1217        interp continued. That's not safe, and recent changes demonstrated the
1218        lack of safety with failing tests thread-4.3 and thread-4.5.
1219
12202004-10-19  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
1221
1222        * generic/tclDictObj.c (DictWithCmd): Make sure all paths (that are
1223        not themselves error paths) do not lose the result code.
1224
12252004-10-19  Don Porter  <dgp@users.sourceforge.net>
1226
1227        * generic/tclInt.h (Tcl*InterpState):           New internal routines
1228        * generic/tclResult.c (Tcl*InterpState):        TclSaveInterpState,
1229        TclRestoreInterpState, and TclDiscardInterpState are superior
1230        replacements for Tcl_(Save|Restore|Discard)Result. Intent is that
1231        these routines will be converted to public routines after TIP
1232        approval. Interfaces for these routines were shamelessly stolen from
1233        Itcl.
1234
1235        * generic/tclBasic.c (TclEvalObjvInternal):
1236        * generic/tclDictObj.c (DictUpdateCmd, DictWithCmd):
1237        * generic/tclIOGT.c (ExecuteCallback):
1238        * generic/tclTrace.c (Trace*Proc,TclCheck*Traces,TclCallVarTraces):
1239        Callers of Tcl_*Result updated to call the new routines. The calls
1240        were relocated in several cases to perform save/restore operations
1241        only when needed.
1242
1243        * generic/tclEvent.c (HandleBgErrors):
1244        * generic/tclFCmd.c (CopyRenameOneFile): Calls to Tcl_*Result that
1245        were eliminated because they appeared to serve no useful purpose,
1246        typically saving/restoring an error message, only to throw it away.
1247
12482004-10-18  Don Porter  <dgp@users.sourceforge.net>
1249
1250        * generic/tclBasic.c (Tcl_CreateInterp,Tcl_DeleteInterp):
1251        * generic/tclCmdAH.c (Tcl_CatchObjCmd):
1252        * generic/tclCmdMZ.c (TclMergeReturnOptions,TclProcessReturn):
1253        * generic/tclCompCmds.c (TclCompileReturnCmd):
1254        * generic/tclExecute.c (TclCompEvalObj):
1255        * generic/tclInt.h (Interp):
1256        * generic/tclProc.c (TclUpdateReturnInfo): Place primary storage of
1257        the -level and -code information in private fields of the Interp
1258        struct, rather than in a DictObj. This should significantly improve
1259        performance of TclUpdateReturnInfo.
1260
12612004-10-17  Miguel Sofer <msofer@users.sf.net>
1262
1263        * generic/tclResult.c: removed unused variable [Bug 1048588]. Thanks
1264        to Daniel South.
1265
12662004-10-15  Don Porter  <dgp@users.sourceforge.net>
1267
1268        * generic/tclCmdMZ.c (TclProcessReturn):        Now that primary
1269        * generic/tclProc.c (TclUpdateReturnInfo):      storage for the
1270        errorInfo and errorCode values are internal fields, we can set them at
1271        the time of the [return] command, and not have to wait until the
1272        specified number of "-level"s have popped.
1273
1274        * generic/tclBasic.c (Tcl_CreateInterp, Tcl_DeleteInterp)
1275        (TclEvalObjvInternal, Tcl_LogCommandInfo, TclAddObjErrorInfo):
1276        * generic/tclCmdAH.c (Tcl_CatchObjCmd):
1277        * generic/tclEvent.c (BgError, ErrAssocData, Tcl_BackgroundError)
1278        (HandleBgErrors, BgErrorDeleteProc):
1279        * generic/tclExecute.c (TclCreateExecEnv, TclDeleteExecEnv):
1280        * generic/tclIOUtil.c (comments only):
1281        * generic/tclInt.h (ExecEnv,Interp, ERR_IN_PROGRESS):
1282        * generic/tclInterp.c ([tclInit]):
1283        * generic/tclMain.c (comments only):
1284        * generic/tclNamesp.c (Tcl_CreateNamespace, Tcl_DeleteNamespace)
1285        (TclTeardownNamespace):
1286        * generic/tclProc.c (TclUpdateReturnInfo):
1287        * generic/tclResult.c (Tcl_ResetResult, TclTransferResult):
1288        * generic/tclTrace.c (CallVarTraces):
1289        Reworked management of the "errorInfo" data of an interp. That
1290        information is now primarily stored in a new private (Tcl_Obj *) field
1291        of the Interp struct, rather than using a global variable ::errorInfo
1292        as the primary storage. The ERR_IN_PROGRESS flag bit value is no
1293        longer required to manage the value in its new location, and is
1294        removed. Variable traces are established to support compatibility for
1295        any code expecting the ::errorInfo variable to hold the information.
1296
1297        ***POTENTIAL INCOMPATIBILITY***
1298        Code that sets traces on the ::errorInfo variable may notice a
1299        difference in timing of the firing of those traces. Code that uses the
1300        value ERR_IN_PROGRESS.
1301
13022004-10-14  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
1303
1304        TIP#217 IMPLEMENTATION
1305
1306        * generic/tclCmdIL.c (Tcl_LsortObjCmd): Add -indices option from James
1307        Salsman. [Patch 1017532]
1308
1309        * generic/tclUtil.c (TclMatchIsTrivial): Detect degenerate cases of
1310        glob matching that let us avoid scanning through hash tables.
1311        * generic/tclCmdIL.c (InfoCommandsCmd, InfoGlobalsCmd, InfoProcsCmd):
1312        (InfoVarsCmd): Use this to speed up some [info] subcommands.
1313
13142004-10-12  Kevin B. Kenny  <kennykb@acm.org>
1315
1316        * library/tzdata/America/Campo_Grande:
1317        * library/tzdata/America/Cuiaba:
1318        * library/tzdata/America/Sao_Paulo
1319        * library/tzdata/America/Argentina/Mendoza:
1320        * library/tzdata/America/Argentina/San_Juan:
1321        Synchronized to Olson's 'tzdata2004e'.
1322
13232004-10-08  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
1324
1325        TIP#201 AND TIP#212 IMPLEMENTATIONS
1326
1327        * doc/dict.n, doc/expr.n: Documentation for new functionality.
1328        * tests/expr.test: Basic tests of 'in' and 'ni' behaviour.
1329        * tests/dict.test (dict-21.*,dict-22.*): Tests for [dict update] and
1330        [dict with].
1331        * generic/tclExecute.c (TclExecuteByteCode): Implementation of the
1332        INST_LIST_IN and INST_LIST_NOT_IN bytecodes.
1333        * generic/tclParseExpr.c (GetLexeme): Parse the 'in' and 'ni'
1334        operators for TIP#201.
1335        * generic/tclDictObj.c (DictUpdateCmd,DictWithCmd): Core of
1336        implementation of TIP#212; docs and tests still to do...
1337
13382004-10-07  Don Porter  <dgp@users.sourceforge.net>
1339
1340        * generic/tclTest.c (TestsetobjerrorcodeCmd):  Simplified.
1341
13422004-10-07  Vince Darley  <vincentdarley@users.sourceforge.net>
1343
1344        * generic/tclFileName.c:
1345        * generic/tclFileSystem.h:
1346        * generic/tclIOUtil.c:
1347        * generic/tclPathObj.c:
1348        * unix/tclUnixFile.c:
1349        * win/tclWinFile.c:
1350        * tests/fileName.test:
1351        * tests/winFCmd.test: code reorganization for better generic/platform
1352        code splitting [Bug 925620] removing the need for several #ifdef's,
1353        and tests and fix for an unreported Windows glob problem ('glob -dir
1354        C: -tails *').
1355
13562004-10-07  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
1357
1358        * *.3: Convert CONST to const and VOID to void so we document how
1359        people should actually use the Tcl API and not the compatability hacks
1360        that it has to have.
1361
1362        * doc/man.macros, *.3: Update .AS macro so it can know how wide to
1363        make the third column of the argument list. Update documentation for C
1364        API (only users) to take advantage of this.
1365
1366        * doc/FileSystem.3: Formatting fixes for greater documentation
1367        clarity.
1368
13692004-10-06  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
1370
1371        * generic/tclFileName.c (DoGlob, TclGlob): Stop messy sharing of
1372        interpreter result and instead use a private object for collecting the
1373        result of the glob. This simplifies TclGlob quite a lot.
1374        * generic/tclIOUtil.c (Tcl_FSMatchInDirectory): Simplify by removing
1375        some nesting. Also standardize variable names.
1376        (FsAddMountsToGlobResult): Force updates to the list to be done
1377        in-place, putting a side-condition of non-shared-ness on the resultPtr
1378        argument to Tcl_FSMatchInDirectory, but everything would have broken
1379        before if that was shared *anyway*.
1380
1381        * generic/tclEncoding.c (LoadTableEncoding): Removed reference to Tcl
1382        interpreter; it wasn't needed as direct object use is more efficient.
1383
1384        * generic/tclPathObj.c: Made this file follow the style rules in the
1385        Engineering Manual more closely, and also take advantage of the
1386        internal object manipulation macros more.
1387
1388        * generic/tclCmdMZ.c (Tcl_SwitchObjCmd): Reorganized to have fewer
1389        magic flag variables and to separate the code that scans for a match
1390        from the code that processes a match body.
1391
13922004-10-06  Don Porter  <dgp@users.sourceforge.net>
1393
1394        * generic/tclBasic.c:
1395        * generic/tclBinary.c:
1396        * generic/tclCmdAH.c:
1397        * generic/tclCmdIL.c:
1398        * generic/tclCmdMZ.c:
1399        * generic/tclCompExpr.c:
1400        * generic/tclDictObj.c:
1401        * generic/tclEncoding.c:
1402        * generic/tclExecute.c:
1403        * generic/tclFCmd.c:
1404        * generic/tclHistory.c:
1405        * generic/tclIndexObj.c:
1406        * generic/tclInterp.c:
1407        * generic/tclIO.c:
1408        * generic/tclIOCmd.c:
1409        * generic/tclNamesp.c:
1410        * generic/tclObj.c:
1411        * generic/tclPkg.c:
1412        * generic/tclResult.c:
1413        * generic/tclScan.c:
1414        * generic/tclTimer.c:
1415        * generic/tclTrace.c:
1416        * generic/tclUtil.c:
1417        * generic/tclVar.c:
1418        * unix/tclUnixFCmd.c:
1419        * unix/tclUnixPipe.c:
1420        * win/tclWinDde.c:
1421        * win/tclWinFCmd.c:
1422        * win/tclWinPipe.c:
1423        * win/tclWinReg.c:
1424        It is a poor practice to directly set or append to the value of the
1425        objResult of an interp, because that value might be shared, and in
1426        that circumstance a Tcl_Panic() will be the result. Searched for
1427        example of this practice and replaced with safer alternatives, often
1428        using the Tcl_AppendResult() routine that dkf just rehabilitated.
1429        * library/dde/pkgIndex.tcl: Bump to dde 1.3.1
1430        * library/reg/pkgIndex.tcl: Bump to registry 1.1.5
1431
14322004-10-06  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
1433
1434        * doc/SetResult.3: Made Tcl_AppendResult non-deprecated; better that
1435        people use it than most of the common alternatives!
1436        * generic/tclResult.c (Tcl_AppendResultVA): Make this work better with
1437        Tcl_Objs. [Patch 1041072]
1438        (Tcl_SetResult, Tcl_AppendElement): Change string to stringPtr to
1439        avoid C++ keywords.
1440
14412004-10-05  Don Porter  <dgp@users.sourceforge.net>
1442
1443        * generic/tclBasic.c (TclObjInvoke): More simplification of the
1444        TclObjInvoke routine toward unification with the rest of the
1445        evaluation stack.
1446
1447        * generic/tclBasic.c (Tcl_CreateInterp, Tcl_DeleteInterp)
1448        (TclEvalObjvInternal, Tcl_LogCommandInfo):
1449        * generic/tclCmdAH.c (Tcl_CatchObjCmd):
1450        * generic/tclEvent.c (BgError, Tcl_BackgroundError, HandleBgErrors):
1451        * generic/tclInt.h (Interp, ERROR_CODE_SET):
1452        * generic/tclNamesp.c (Tcl_CreateNamespace, Tcl_DeleteNamespace)
1453        (TclTeardownNamespace):
1454        * generic/tclResult.c (Tcl_ResetResult, Tcl_SetObjErrorCode)
1455        (TclTransferResult):
1456        * generic/tclTrace.c (CallVarTraces):
1457        Reworked management of the "errorCode" data of an interp. That
1458        information is now primarily stored in a new private (Tcl_Obj *) field
1459        of the Interp struct, rather than using a global variable ::errorCode
1460        as the primary storage. The ERROR_CODE_SET flag bit value is no longer
1461        required to manage the value in its new location, and is removed.
1462        Variable traces are established to support compatibility for any code
1463        expecting the ::errorCode variable to hold the information.
1464
1465        ***POTENTIAL INCOMPATIBILITY***
1466        Code that sets traces on the ::errorCode variable may notice a
1467        difference in timing of the firing of those traces.
1468
1469        * generic/tclNamesp.c (Tcl_PopCallFrame): Removed Bug 1038021
1470        workaround. That bug is now fixed.
1471
14722004-10-04  Kevin B. Kenny  <kennykb@acm.org>
1473
1474        * tests/clock.test (clock-34.*): Removed an antibug that forced
1475        comparison of [clock scan] results with the :localtime time zone. Now
1476        that [clock scan] uses the current time zone instead, the antibug
1477        caused several tests to fail. [Bug 1038554]
1478
14792004-10-04  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
1480
1481        * generic/tclParseExpr.c (GetLexeme): Ensure that the 'eq' and 'ne'
1482        operators are followed by non-alphabetic characters so lexemes can't
1483        run together. [Bug 884830]
1484
1485        * doc/DictObj.3, doc/dict.n: Clarified that a dictionary is not
1486        order-preserving. [Bug 1032243] Also added another example to show off
1487        more ways of using a dictionary and a few other formatting
1488        improvements.
1489
14902004-10-02  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
1491
1492        * generic/tclDictObj.c (TraceDictPath, Tcl_DictObjPutKeyList): Add
1493        support for automatic creation of dictionary paths since that is what
1494        everyone seems to actually expect of the API! [Bug 1037235]
1495        (Tcl_DictObjNext): Make calling this after Tcl_DictObjDone non-fatal
1496        as that simplifies a number of internal APIs. This doesn't break any
1497        existing working code as it is a case which previously caused a panic.
1498
14992004-10-02  Don Porter  <dgp@users.sourceforge.net>
1500
1501        * tests/namespace.test (namespace-8.7): Another test for save/restore
1502        of ::errorInfo and ::errorCode during global namespace teardown.
1503
15042004-10-01  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
1505
1506        * generic/tclProc.c (TclObjGetFrame, Tcl_UplevelObjCmd):
1507        * generic/tclVar.c (Tcl_UpvarObjCmd): Cache stackframe level
1508        references in the level object for speed.
1509
15102004-09-30  Don Porter  <dgp@users.sourceforge.net>
1511
1512        * generic/tclBasic.c (Tcl_CreateInterp):
1513        * generic/tclInt.h (Interp): Removed the flag bit value
1514        EXPR_INITIALIZED. It was set during interp creation and never tested.
1515        Whatever purpose it had is in the past.
1516
1517        * generic/tclBasic.c (Tcl_EvalObjEx):   Removed the flag bit value
1518        * generic/tclInt.h (Interp):            USE_EVAL_DIRECT. It was used
1519        * generic/tcLTest.c (TestevalexObjCmd): only in the testing command
1520        * tests/parser.test (parse-9.2):        [testevalex] and nothing in
1521        the test suite made use of the capability it enabled.
1522
1523        * generic/tclBasic.c (Tcl_AddObjErrorInfo): More re-organization
1524        * generic/tclCmdAH.c (Tcl_ErrorObjCmd):     of the management of
1525        * generic/tclCmdMZ.c (TclProcessReturn):    the errorCode value.
1526        * tests/error.test (error-6.4-9):
1527
1528        * generic/tclNamespace.c (TclTeardownNamespace): Tcl_Obj-ified
1529        * tests/namespace.test (namespace-8.5,6):        the save/restore of
1530        ::errorInfo and ::errorCode during global namespace teardown. Revised
1531        the comment to clarify why this is done, and added tests that will
1532        fail if this is not done.
1533
1534        * generic/tclResult.c (TclTransferResult): Added safety checks so that
1535        unexpected undefined ::errorInfo or ::errorCode will not lead to a
1536        segfault.
1537
1538        * generic/tclTrace.c (TclCallVarTraces):  Save/restore the flag values
1539        * tests/var.test (var-16.1):              that define part of the
1540        interpreter state during variable traces. [Bug 1038021].
1541
15422004-09-30  Miguel Sofer <msofer@users.sf.net>
1543
1544        * tests/subst.test (12.1-2): added tests for [Bug 1036649]
1545
15462004-09-29  Don Porter  <dgp@users.sourceforge.net>
1547
1548        * tests/basic.test (49.*): New tests for TCL_EVAL_GLOBAL.
1549
15502004-09-29  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
1551
1552        * generic/tclVar.c (TclObjLookupVar, TclObjLookupVar):
1553        (TclObjUnsetVar2, SetArraySearchObj):
1554        * generic/tclUtil.c (SetEndOffsetFromAny):
1555        * generic/tclStringObj.c (Tcl_SetStringObj):
1556        (Tcl_SetUnicodeObj, SetStringFromAny):
1557        * generic/tclResult.c (ResetObjResult):
1558        * generic/tclRegexp.c (Tcl_GetRegExpFromObj):
1559        * generic/tclPathObj.c (TclFSMakePathRelative, SetFsPathFromAny):
1560        (TclFSMakePathFromNormalized, Tcl_FSNewNativePath):
1561        * generic/tclObj.c (TclFreeObj, Tcl_SetBooleanObj, SetBooleanFromAny):
1562        (Tcl_SetDoubleObj, SetDoubleFromAny, Tcl_SetIntObj):
1563        (SetIntOrWideFromAny, Tcl_SetLongObj, SetWideIntFromAny):
1564        (Tcl_SetWideIntObj, TclSetCmdNameObj, SetCmdNameFromAny):
1565        * generic/tclNamesp.c (SetNsNameFromAny, MakeCachedEnsembleCommand):
1566        * generic/tclListObj.c (Tcl_SetListObj, SetListFromAny):
1567        * generic/tclIndexObj.c (Tcl_GetIndexFromObjStruct):
1568        * generic/tclDictObj.c (SetDictFromAny):
1569        * generic/tclCompile.c (TclInitByteCodeObj):
1570        * generic/tclBinary.c (Tcl_SetByteArrayObj, SetByteArrayFromAny):
1571        * generic/tclInt.h (TclFreeIntRep): Factorize out deletion of object
1572        internal representation to a shared macro, so simplifying much code.
1573
15742004-09-27  Miguel Sofer <msofer@users.sf.net>
1575
1576        * generic/tclBasic.c (TclObjInvoke): fix for bogus gcc warning about
1577        uninitialised variable.
1578
15792004-09-27  Don Porter  <dgp@users.sourceforge.net>
1580
1581        * generic/tclBasic.c:   Removed internal routines TclInvoke,
1582        * generic/tclInt.decls: TclGlobalInvoke, TclObjInvokeGlobal and the
1583        * tests/basic.test:     portion of TclObjInvoke that handles calls
1584        without TCL_INVOKE_HIDDEN enabled. None of this code is called any
1585        longer within the core, and the superior public interface,
1586        Tcl_EvalObjv, is available for any external callers.
1587
1588        * generic/tclIntDecls.h:        make genstubs
1589        * generic/tclStubInit.c:
1590
1591        * generic/tclEvent.c (HandleBgErrors): Updated [bgerror] invocations
1592        to make use of Tcl_Obj based routines, dropping the calls to
1593        TclGlobalInvoke()
1594
15952004-09-27  Vince Darley  <vincentdarley@users.sourceforge.net>
1596
1597        * generic/tclFileName.c:
1598        * generic/tclFileSystem.h:
1599        * generic/tclIOUtil.c:
1600        * generic/tclPathObj.c:
1601        * tests/cmdAH.test:
1602        * tests/fileSystem.test:
1603        * tests/winFCmd.test: fix to bad error message with 'cd' on windows,
1604        when permissions are inadequate [Bug 1035462] and to treatment of a
1605        volume-relative pwd on Windows [Bug 1018980].
1606
1607        * doc/FileSystem.3: added missing Tcl_GlobTypeData documentation [Bug
1608        935853]
1609
16102004-09-27  Kevin Kenny  <kennykb@acm.org>
1611
1612        * compat/strftime.c (Removed):
1613        * generic/tclClock.c (removed TclClockOldscanObjCmd):
1614        * generic/tclDate.c (Regenerated):
1615        * generic/tclGetDate.y:
1616        * generic/tclInt.decls (removed TclGetDate and TclpStrftime):
1617        * generic/tclInt.h (removed TclGetDateInfo):
1618        * generic/tclIntDecls.h (Regenerated):
1619        * generic/tclStubInit.c (Regenerated):
1620        * library/clock.tcl:
1621        * unix/tclUnixTime.c (removed TclpStrftime):
1622        * win/Makefile.in:
1623        * win/makefile.bc:
1624        * win/makefile.bc:
1625        * win/tcl.dsp:
1626        Continued refactoring of [clock] for TIP 173 changes. Broke the
1627        free-form parser apart so that the Bison parser is responsible for
1628        only parsing, while clock.tcl handles relative times like "next
1629        Thursday", "next January". This change is needed to make timezones
1630        other than :localtime and :Etc/UTC work with free-form scanning. This
1631        change closes out the issue identified as being "for another day" in
1632        my log message of 2004-09-08. The refactored code also eliminates the
1633        last known references to TclpStrftime and TclGetDate, so those
1634        routines (including compat/strftime.c) have been removed. The
1635        refactoring also has the benefit that all storage in the Bison parser
1636        is now on the C stack, eliminating any need for mutex protection
1637        around [clock scan]. Also, changed the Makefiles so that 'make
1638        gendate' is available on Windows as well as Unix.
1639
1640        * generic/tclCmdAH.c (Tcl_FormatObjCmd): Removed some grubby
1641        * generic/tclObj.c (SetBooleanFromAny):  work-around code that was
1642        needed only because of Bug 868489.
1643
1644        * generic/tclBasic.c (TclObjInvoke): Removed three unused variables to
1645        silence a compiler warning in VC++.
1646
16472004-09-27  Vince Darley  <vincentdarley@users.sourceforge.net>
1648
1649        * doc/FileSystem.3: fix to small typo.
1650
16512004-09-26  Miguel Sofer <msofer@users.sf.net>
1652
1653        * generic/tclCompCmds.c:
1654        * generic/tclCompExpr.c:
1655        * generic/tclCompile.c:
1656        * generic/tclCompile.h:
1657        * generic/tclInt.h:
1658        * generic/tclProc.c:
1659        * tests/compExpr-old.test:
1660        * tests/compExpr.test:
1661        * tests/expr.test:
1662        * tests/for.test:
1663        * tests/if.test:
1664        * tests/incr.test:
1665        * tests/while.test:
1666        Report compilation errors at runtime, [Patch 1033689] by dgp.
1667
16682004-09-23  Mo DeJong  <mdejong@users.sourceforge.net>
1669
1670        * unix/dltest/Makefile.in (clean): Fixup make clean rule so that it
1671        does not delete all files when SHLIB_SUFFIX is set to the empty string
1672        in a static build. [Bug 1016726]
1673
16742004-09-23  Don Porter  <dgp@users.sourceforge.net>
1675
1676        * generic/tclBasic.c:   Corrections to the 2004-09-21 commit
1677        * generic/tclExecute.c: regarding ERR_ALREADY_LOGGED. That commit
1678        * generic/tclNamesp.c:  caused Tk test send-10.7 to fail. Added
1679        * tests/namespace.test (25.7,8): tests in the Tcl test suite
1680        * tests/pkg.test (2.25,26):      to catch this error without the aid
1681        of Tk in the future.
1682
1683        * generic/tclCmdAH.c (Tcl_ExprObjCmd):  Simplified the TclObjCmdProc
1684        of [expr] with a call to Tcl_ConcatObj.
1685
16862004-09-22  Don Porter  <dgp@users.sourceforge.net>
1687
1688        * generic/tclCmdMZ.c (TclProcessReturn):        Support the -errorline
1689        * generic/tclCompile.c (TclCompileScript):      option to [return].
1690        * tests/compile.test (16.23.*): Use that capability to defer reporting
1691        * tests/misc.test (1.2):        of parse errors until runtime. Updated
1692        tests to reflect change. [Bug 1032805]
1693
16942004-09-22  Miguel Sofer <msofer@users.sf.net>
1695
1696        * generic/tclExecute.c (INST_START_CMD):
1697        * tests/proc.test (7.2-3): fix for [Bug 729692] was incorrect whenever
1698        a loop exception was returned.
1699
17002004-09-22  Kevin B. Kenny  <kennykb@acm.org>
1701
1702        * library/tzdata/America/Montevideo: Updated to reflect
1703        ftp://elsie.nci.nih.gov/pub/tzdata2004d.tar.gz. (Changes to
1704        Asia/Jerusalem were in the comments only.) [Routine maintenance - no
1705        bug] Spanish-language description of the change at
1706        http://www.presidencia.gub.uy/decretos/2004091502.htm
1707
17082004-09-21  Don Porter  <dgp@users.sourceforge.net>
1709
1710        * generic/tclCompCmds.c:        Tolerate [append] syntax errors
1711        * tests/appendComp.test (8.1):  at compile time, and allow runtime to
1712        raise the error (or succeed if a redefined [append] allows).
1713
1714        * generic/tclBasic.c:   Reworked management of the interp flag
1715        * generic/tclCompile.c: ERR_ALREADY_LOGGED, to reduce its exposure.
1716        * generic/tclExecute.c: Still left several referebces that are just
1717        * generic/tclNamesp.c:  too nice on performace to do away with. These
1718        changes also resolve an inconsistency in the ::errorInfo values
1719        produced by [namespace eval x error foo bar] and [namespace eval x
1720        {error foo bar}].
1721
1722        * generic/tclExecute.c (TclCompEvalObj):        Simplified the
1723        TclCompEvalObj routine. Much housekeeping now reliably happens
1724        elsewhere. [Patch 1031949]
1725
17262004-09-21  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
1727
1728        * doc/interp.n: Tighten up wording on how [interp eval] and [interp
1729        invokehidden] operate w.r.t. stack frames. [Bug 926590]
1730
17312004-09-20  Don Porter  <dgp@users.sourceforge.net>
1732
1733        * tests/error.test (error-6.2,3):       Added more tests to verify
1734        ::errorCode setting by/after a [catch].
1735
17362004-09-19  Miguel Sofer <msofer@users.sf.net>
1737
1738        * generic/tclCmdAH.c: removed outdated comment [Bug 1029518].
1739
17402004-09-18  David Gravereaux <davygrvy@pobox.com>
1741
1742        * win/tclAppInit.c: Dde package can load into a safe interp. Claim
1743        this fact for the Tcl_StaticPackage() call when the shell is built
1744        with the TCL_USE_STATIC_PACKAGES option.
1745
17462004-09-18  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
1747
1748        * generic/tclExecute.c (TEBC-INST_LSHIFT,INST_RSHIFT): Ensure that
1749        large shifts end up shifting correctly. [Bug 868467]
1750
1751        * doc/FileSystem.3, doc/OpenFileChnl.3: More documentation fixes from
1752        Mikhail Kolesnitchenko. [Patch 1022527]
1753        * doc/*: Standardize highlighting of symbols defined in tcl.h
1754
17552004-09-17  Don Porter  <dgp@users.sourceforge.net>
1756
1757        * generic/tclBasic.c (Tcl_AddObjErrorInfo, Tcl_LogCommandInfo):
1758        * generic/tclCmdAH.c ([catch], [error]):
1759        * generic/tclCmdMZ.c ([return]):
1760        * generic/tclProc.c (TclUpdateReturnInfo):
1761        * generic/tclResult.c (Tcl_SetErrorCodeVA, Tcl_SetObjErrorCode)
1762        (TclTransferResult):    Refactored so that all errorCode setting flows
1763        through Tcl_SetObjErrorCode(). This greatly reduces the number of
1764        different places in the code that need to know details about an
1765        internal bitflag field of the Interp struct. Also places errorCode
1766        setting in one place for easier future mods.
1767
17682004-09-17  Kevin B.Kenny  <kennykb@acm.org>
1769
1770        * generic/tclDate.c:    Revised tclGetDate.y to use bison instead of
1771        * generic/tclGetDate.y: yacc to build the parser, eliminating all the
1772        * generic/tclInt.h:     complicated hackery involving 'sed'
1773        * unix/Makefile.in:     postprocessing. Rebuilt the parser.
1774
17752004-09-14  Kevin B. Kenny  <kennykb@acm.org>
1776
1777        * generic/tclClock.c (ClockOldscanObjCmd): Silenced a compiler warning
1778        (long passed as a param where unsigend long was expected). 'Unsigned
1779        long' is wrong, but the fix is really to change the signature of
1780        TclGetDate to return a structure of its 'yy' variables and then do the
1781        remaining work inside clock.tcl. But, as I said on 2004-09-08, that's
1782        a job for another day. [Bug 1027993]
1783
17842004-09-10  Miguel Sofer <msofer@users.sf.net>
1785
1786        * doc/interp.n:
1787        * generic/tclInterp.c (TclPreventAliasLoop, AliasCreate):
1788        * tests/interp.test (17.4-6, 19.3-4): fixing problems with renaming of
1789        aliases [Bugs 707104 1026493]. Fix designed by dgp.
1790
17912004-09-13  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
1792
1793        * generic/tclNamesp.c (NsEnsembleImplementationCmd): Add token field
1794        to internal rep of EnsembleCmdRep structure so that we can check it to
1795        see if the subcommand object is really being used with the same
1796        ensemble. [Bug 1026903]
1797
17982004-09-11  Kevin B. Kenny  <kennykb@acm.org>
1799
1800        * generic/tclClock.c (TclMktimeObjCmd): Corrected a bad check for
1801        error return from 'mktime'.
1802        * generic/tclObj.c (Tcl_GetIntFromObj): Corrected a problem where
1803        demoting a wide to an int failed on a big-endian machine. [Bug
1804        1026125].
1805        * tests/clock.test (clock-43.1): Added regression test for error
1806        return from 'mktime'.
1807
18082004-09-11  Miguel Sofer <msofer@users.sf.net>
1809
1810        * generic/tclExecute.c (INST_CONCAT1): fix for [Bug 1025834]; avoid
1811        unnecessary string copies.
1812
18132004-09-10  David Gravereaux <davyrgvy@pobox.com>
1814
1815        * tests/tcltest.test: tcltest-12.3-4 needed to have
1816        ::tcltest::loadScript set to empty in their -setup
1817
18182004-09-10  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
1819
1820        * generic/tclObj.c (SetIntOrWideFromAny): Rewritten integral value
1821        parsing code so that values do not flip so easily between numeric
1822        representations. Thanks to KBK for this! [Bug 868489]
1823
1824        * generic/tclIO.c (Tcl_Seek): Make sure wide seeks do not fail to set
1825        ::errorCode on error. [Bug 1025359]
1826
18272004-09-10  Andreas Kupries  <andreask@activestate.com>
1828
1829        * generic/tcl.h: Micro formatting fixes.
1830        * generic/tclIOGT.c: Channel version fixed, must be 3, to have
1831        wideseekProc. Thanks to David Graveraux <davygrvy@pobox.com>.
1832
18332004-09-11  Don Porter  <dgp@users.sourceforge.net>
1834
1835        * generic/tclNamespace.c (TclGetNamespaceForQualName): Resolved
1836        longstanding inconsistency in the treatment of the TCL_NAMESPACE_ONLY
1837        flag revealed by testing the 2004-09-09 commits against Itcl.
1838        TCL_NAMESPACE_ONLY now acts as specified in the pre-function comment,
1839        forcing resolution in the passed in context namespace. It has been
1840        incorrectly forcing resolution in the interp's current namespace.
1841
18422004-09-10  Kevin Kenny  <kennykb@acm.org>
1843
1844        * library/clock.tcl: Fixed a bug where %z always put a plus sign on
1845        the time zone in :localtime.
1846        * tests/clock.test: Added test case for the above bug.
1847
18482004-09-10  Miguel Sofer <msofer@users.sf.net>
1849
1850        * generic/tclExecute.c (INST_CONCAT1): added a peephole optimisation
1851        for concatting an empty string. This enables replacing the idiom 'K $x
1852        [set x {}]' by '$x[set x {}]' for fastest execution.
1853
18542004-09-09  David Gravereaux <davygrvy@pobox.com>
1855
1856        * win/tclWinConsole.c: Calls to WriteFile and WriteConsoleA changed to
1857        WriteConsole for simplicity.
1858
18592004-09-09  Don Porter  <dgp@users.sourceforge.net>
1860
1861        * generic/tclNamesp.c (Tcl_ForgetImport):       Corrected faulty
1862
1863        * tests/namespace.test: logic that relied exclusively on string
1864        matching and failed in the presence of [rename]s. [Bug 560297] Also
1865        corrected faulty prevention of [namespace import] cycles. [Bug 1017299]
1866
18672004-09-08  Don Porter  <dgp@users.sourceforge.net>
1868
1869        * generic/tclBasic.c (Tcl_CreateInterp):        Removed obsolete field
1870        for storing the string-based command procedure of built-in commands.
1871        We no longer have any string-based built-in commands!
1872
18732004-09-08  Kevin B. Kenny <kennykb@acm.org>
1874
1875        * compat/strftime.c (_conv): Corrected a problem where hour 0 would
1876        format as a blank format group with %k.
1877        * doc/clock.n: Corrected a buglet in the header information. [Bug
1878        1024058]
1879        * generic/tclClock.c (TclClockMktimeObjCmd): Fixed a bug where the
1880        month was scanned incorrectly in -timezone :localtime.
1881        * tests/clock.test (clock-34.*,clock-40.1, clock-41.1): Adjusted the
1882        clock-34.* test cases so that the consistency check is performed in
1883        :localtime rather than the current time zone. This change allows
1884        dealing with issues where the C library has a different idea of DST
1885        conversion than Tcl. (Real fix would be to break TclGetDate into
1886        separate parser and time converter, and do the time conversion in
1887        clock.tcl. That's for another day.) Added regression test case for the
1888        bug where month was scanned incorrectly in -timezone :localtime. [Bug
1889        1023779] Added regression test case for %k at the zero hour.
1890
18912004-09-07  David Gravereaux <davygrvy@pobox.com>
1892
1893        * win/makefile.vc: some quoting needed to be removed as it was
1894        breaking with VC7. [Bug 1023150]
1895
18962004-09-07  Kevin B. Kenny  <kennykb@acm.org>
1897
1898        * doc/clock.n: Documented the default -format, and changed references
1899        to a (nonexistent) msgcat command to refer to the msgcat package. [Bug
1900        1023870]
1901        * generic/tclTimer.c: Removed a premature optimisation that attempted
1902        to store the assoc data in the client data; the optimisation caused a
1903        bug that [after] would overwrite its imports. [Bug 1016167]
1904        * library/clock.tcl (InitTZData, ClearCaches): Changed so that the
1905        in-memory time zone :UTC (and its aliases) always gets reinitialised,
1906        in case tzdata is absent. [Bug 1019537, 1023779]
1907        * library/tzdata/*: Regenerated.
1908        * tests/clock.test (clock-31.*, clock-39.1): Corrected a problem where
1909        the 'system' locale tests fail on a non-English Windows machine. [Bug
1910        1023761]. Added a test to make sure that alias time zones load
1911        correctly. [Bug 1023779].
1912        * tests/timer.test (timer-1.1, timer-2.1): Changed to (one hopes!) be
1913        more resilient on an overloaded system, if [after 200] sleeps for 300
1914        ms or longer.
1915        * tools/tclZIC.tcl (writeLinks): Corrected a problem where alias time
1916        zone names were written incorrectly, causing them to fail to load at
1917        run time. [Bug 1023779].
1918        * win/tclWinTime.c (Tcl_GetTime): Eliminated CPUID tests on Win64 -
1919        assuming that HAL vendors now do a better job of keeping the
1920        performance counters synchronized among CPU's. [Bug 1020445]
1921
19222004-09-06  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
1923
1924        * doc/tclvars.n, doc/tcltest.n, doc/tclsh.1, doc/safe.n, doc/expr.n
1925        * doc/WrongNumArgs.3, doc/Utf.3, doc/TraceVar.3, doc/Thread.3
1926        * doc/TCL_MEM_DEBUG.3, doc/SubstObj.3, doc/StdChannels.3
1927        * doc/SetResult.3, doc/RegExp.3, doc/RegConfig.3, doc/RecEvalObj.3
1928        * doc/PrintDbl.3, doc/ParseCmd.3, doc/Panic.3, doc/ObjectType.3
1929        * doc/Object.3, doc/Namespace.3, doc/Interp.3, doc/IntObj.3
1930        * doc/Hash.3, doc/GetOpnFl.3, doc/GetIndex.3, doc/Eval.3
1931        * doc/Encoding.3, doc/DoubleObj.3, doc/DictObj.3, doc/CrtTimerHdlr.3
1932        * doc/CrtObjCmd.3, doc/CrtMathFnc.3, doc/CrtCommand.3, doc/CrtChannel.3
1933        * doc/ChnlStack.3, doc/ByteArrObj.3, doc/AssocData.3, doc/Alloc.3:
1934        More documentation fixes from Mikhail Kolesnitchenko. [Patch 1022527]
1935
19362004-09-03  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
1937
1938        * unix/tclUnixFCmd.c: Stop NULL interp arguments from triggering a
1939        crash when an error happens. [Bug 1020538]
1940
19412004-09-02  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
1942
1943        * doc/lsearch.n: Clarified meaning of -dictionary. [Bug 759545]
1944
19452004-09-02  Vince Darley  <vincentdarley@users.sourceforge.net>
1946
1947        * win/makefile.vc: clock.tcl needs to be installed.
1948
19492004-09-01  Jeff Hobbs  <jeffh@ActiveState.com>
1950
1951        * win/tclWinReg.c (BroadcastValue): WIN64 cast corrections
1952
1953        * win/tclWinDde.c (DdeClientWindowProc):
1954        (DdeServicesOnAck, DdeEnumWindowsCallback): WIN64 corrections
1955
1956        * win/tclWin32Dll.c (TclWinCPUID): need _asm for WIN64 (Itanium),
1957        until we have it, just return unknown. [Bug 1020445]
1958
19592004-09-01  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
1960
1961        * doc/regsub.n, doc/RegConfig.3, doc/Environment.3:
1962        * doc/CrtChannel.3, doc/safe.n: Use correct abbreviations.
1963
19642004-08-31  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
1965
1966        * doc/trace.n, doc/socket.n, doc/registry.n, doc/pid.n:
1967        * doc/namespace.n, doc/msgcat.n, doc/lsort.n, doc/lsearch.n:
1968        * doc/linsert.n, doc/info.n, doc/http.n, doc/history.n:
1969        * doc/format.n, doc/file.n, doc/exec.n, doc/dde.n, doc/clock.n:
1970        * doc/catch.n, doc/binary.n: More spelling and grammar fixes from
1971        Mikhail Kolesnitchenko. [Patch 1018486]
1972
19732004-08-31  Vince Darley  <vincentdarley@users.sourceforge.net>
1974
1975        * doc/FileSystem.3:
1976        * generic/tclIOUtil.c: Clarified documentation regarding ability of a
1977        filesystem to say that it doesn't support a given operation using the
1978        EXDEV posix error code (copyFileProc, renameFileProc, etc), and
1979        updated one piece of code to ensure correct behaviour when an
1980        operation is not supported [Bug 1017072]
1981
1982        * tests/fCmd.test: fix to test suite problem [Bug 1002884]
1983
19842004-08-31  Daniel Steffen  <das@users.sourceforge.net>
1985
1986        * unix/Makefile.in (install-libraries): portable sh fix.
1987
19882004-08-30  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
1989
1990        * generic/tclCmdMZ.c (Tcl_StringObjCmd): Stop [string map] from
1991        crashing when its map and input string are the same object.
1992
19932004-08-27  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
1994
1995        * generic/tclNamesp.c (FindEnsemble): Factor out the code to convert a
1996        command name into an ensemble configuration and add support for
1997        ignoring [namespace import] link chains. [Bug 1017022]
1998        (NamespaceWhichCmd): Rework to use newer option parsing API.
1999
20002004-08-27  Daniel Steffen  <das@users.sourceforge.net>
2001
2002        * unix/Makefile.in: added customization of default module path roots
2003        via TCL_MODULE_PATH makefile variable.
2004        * macosx/Makefile: add platform standard locations to default module
2005        path roots. [Patch 942881]
2006
2007        * tests/env.test: macosx fixes.
2008
20092004-08-25  Don Porter  <dgp@users.sourceforge.net>
2010
2011        * tests/timer.test (timer-10.1):        Test for Bug 1016167.
2012        * generic/tclTimer.c: Workaround for situation when a [namespace
2013        import] causes the objv[0] value to be something other than what
2014        Tcl_AfterObjCmd expects. [Bug 1016167].
2015
20162004-08-25  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
2017
2018        * generic/tclNamesp.c (NsEnsembleImplementationCmd): Use the ensemble
2019        command token to get the name of the ensemble for passing to the
2020        -unknown handler instead of relying on objv[0], which may contain
2021        useless info in the presence of [namespace import]. Problem found by
2022        Don Porter when investigating [Bug 1016167].
2023
20242004-08-24  Don Porter  <dgp@users.sourceforge.net>
2025
2026        * generic/tclProc.c:            The routine TclProcInterpProc was a
2027        * generic/tclTestProcBodyObj.c: specific instance of the general
2028        service already provided by TclObjInvokeProc. Removed
2029        TclProcInterpProc and TclGetInterpProc from the code...
2030
2031        * generic/tclInt.decls: ...and from the internal stubs table.
2032        * generic/tclIntDecls.h
2033        * generic/tclStubInit.c
2034
20352004-08-24  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
2036
2037        * doc/string.n: Added clarifying note.
2038
20392004-08-23  Don Porter  <dgp@users.sourceforge.net>
2040
2041        * library/auto.tcl:     Updated [tcl_findLibrary] search path to
2042        include any [<pkg>::pkgconfig get scriptdir,runtime] directory, as
2043        well as the $::auto_path. [RFE 695441]
2044
20452004-08-21  Kevin B. Kenny  <kennykb@acm.org>
2046
2047        * tests/clock.test (clock-38.1): Changed TZ setting to specify CET in
2048        excruciating detail to deal with systems that lack the Posix defaults
2049        for DST changes (and to be formally correct with the change dates for
2050        CET).
2051
20522004-08-19  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
2053
2054        * generic/tclScan.c (Tcl_ScanObjCmd, ValidateFormat): Ensure that the
2055        %ld conversion works correctly on 64-bit platforms. [Bug 1011860]
2056
20572004-08-19  Kevin Kenny  <kennykb@acm.org>
2058
2059        * library/clock.tcl (format): Changed default timezone format from
2060        alphabetic to numeric to produce scannable times in more locales.
2061        * tests/clock.test (clock-37.1): Removed now-unused 'needPST'
2062        constraint and the comments that refer to it.
2063
20642004-08-18  Andreas Kupries  <andreask@activestate.com>
2065
2066        * library/init.tcl: Integrated TIP #189. We source a separate file
2067        (see below), instead of inlining the contents of that file. This
2068        should beeasier to maintain, and easier to backport/install in 8.4
2069        installations.
2070
2071        Note: Usage of Tcl Modules is restricted to non-safe interps. It
2072        cannot be loaded into a safe interp.
2073
2074        * library/tm.tcl: New file, the v2 reference implementation for TIP
2075        #189, Tcl Modules.
2076
2077        * doc/tm.n: New file, documentation for Tcl Modules, based on the TIP.
2078
2079        * unix/mkLinks: Regenerated.
2080        * win/makefile.vc: Added tm.tcl to list of files to install.
2081
20822004-08-18  Kevin Kenny  <kennykb@acm.org>
2083
2084        * tests/httpd (httpdRespond): Corrected an abuse of the [clock]
2085        command that caused test failures for some values of [clock clicks].
2086
2087        * doc/clock.n
2088        * generic/tclBasic.c (Tcl_CreateInterp, Tcl_HideUnsafeCommands):
2089        * generic/tclClock.c (all):
2090        * generic/tclInt.h:
2091        * generic/tclInterp.c (CreateSlave):
2092        * library/clock.tcl: (new file)
2093        * library/init.tcl (clock):
2094        * library/msgs/*.msg:(new files)
2095        * library/tzdata/*:
2096        * library/tzdata/*/*:
2097        * library/tzdata/*/*/*: (new files)
2098        * tools/installData.tcl: (new file)
2099        * tools/loadICU.tcl: (new file)
2100        * tools/makeTestCases.tcl: (new file)
2101        * tools/tclZIC.tcl: (new file)
2102        * unix/Makefile.in:
2103        * unix/configure: (regenerated)
2104        * unix/tcl.m4:
2105        * tests/clock.test (all):
2106        * win/Makefile.in:
2107        * win/Makefile.vc:
2108                Implementation of TIPs #173 and #209.
2109
2110        The [clock] command is now a Tcl ensemble, with most of its
2111        functionality written in Tcl and callouts to C code only to access
2112        low-level functions such as localtime, mktime and tzset.
2113
2114        In addition to the functionality changes called out in the two TIPs,
2115        it is worth noting that the [clock] command in a safe slave
2116        interpreter is now an alias to the [clock] command in the master, and
2117        that [clock] is otherwise not expected to function entirely correctly
2118        in safe interps. C code that simply does Tcl_MakeSafe needs to be
2119        aware that [clock] may need special handling. (It appears unlikely
2120        that such code actually exists.)
2121
2122        One incompatibility of note is that if the time zone cannot be
2123        determined from the TZ, TCL_TZ environment variables, or from the
2124        Windows control panel, so that the C library must be used for date and
2125        time conversions, then times outside the range of time_t will fail;
2126        they used to return bad data silently.
2127
2128        Many thanks to all the many people who assisted with testing,
2129        debugging, criticism of the specification, and localisation. Deserving
2130        of particular mention are Joe English, Clif Flynt, Donal K. Fellows,
2131        Jeff Hobbs, Cameron Laird, Arjen Markus, Reinhard Max, Christopher
2132        Nelson, Steve Offutt, Donald G. Porter, Pascal Scheffers, Peter da
2133        Silva and Richard Suchenwirth-Bauersachs.
2134
2135        *** POTENTIAL INCOMPATIBILITY ***
2136
21372004-08-16  Miguel Sofer <msofer@users.sf.net>
2138
2139        * doc/SetVar.3:
2140        * generic/tclTest.c (TestseterrorcodeCmd):
2141        * generic/tclVar.c (TclPtrSetVar):
2142        * tests/result.test (result-4.*, result-5.*): [Bug 1008314] detected
2143        and fixed by dgp.
2144
21452004-08-13  Don Porter  <dgp@users.sourceforge.net>
2146
2147        * library/msgcat/msgcat.tcl:    Added checks to prevent [mclocale]
2148        * tests/msgcat.test:    from registering filesystem paths to possibly
2149        malicious code to be evaluated by a later [mcload].
2150
21512004-08-10  Zoran Vasiljevic <vasiljevic@users.sf.net>
2152
2153        * unix/tclUnixThrd.c (TclpThreadCreate): changed handling of the
2154        returned thread ID since broken on 64-bit systems (Cray). Thanks to
2155        Rob Ratcliff for reporting the bug.
2156
21572004-08-03  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
2158
2159        * generic/tclNamesp.c (MakeCachedEnsembleCommand): Initialize the
2160        epoch field cached in the subcommand. [Bug 989298]
2161        (NsEnsembleImplementationCmd): Plug a leak (thanks to Miguel Sofer for
2162        spotting it with valgrind) and reduce the number of goto labels to
2163        make the code clearer.
2164
21652004-08-02  Don Porter  <dgp@users.sourceforge.net>
2166
2167        * library/package.tcl (pkg_mkIndex):    Updated [pkg_mkIndex] to make
2168        use of [glob -directory $dir -tails] and return options.
2169
2170        TIP#207 IMPLEMENTATION
2171
2172        * doc/interp.n:         Added support for a -namespace option to the
2173        * generic/tclBasic.c:   [interp invokehidden] command.  Also added an
2174        * generic/tclInt.h:     internal routine TclObjInvokeNamespace() and
2175        * generic/tclInterp.c:  corrected the flag names TCL_FIND_ONLY_NS and
2176        * generic/tclNamesp.c:  TCL_CREATE_NS_IF_UNKNOWN that are passed to the
2177        * generic/tclTrace.c:   internal routine TclGetNamespaceForQualName().
2178        * tests/interp.test:    [Patch 981841]
2179
2180        * generic/tclLiteral.c (TclCleanupLiteralTable):        Corrected
2181        * tests/compile.test (compile-12.4):    flawed deletion of literal
2182        internal reps that could lead to accessing of freed memory. Thanks to
2183        Kevin Kenny for test case and fix [Bug 1001997].
2184
21852004-07-30  Don Porter  <dgp@users.sourceforge.net>
2186
2187        * tests/safe.test (safe-2.1):  Disabled senseless test.  [Bug 999612]
2188
2189        * library/auto.tcl (auto_reset):  Removed "protected" list of commands
2190        from [auto_reset]. All entries in the auto_index can be re-loaded.
2191        * library/package.tcl: Updated comment to reflect 2004-07-28 commit.
2192
2193        * generic/tclEvent.c (Tcl_Finalize):    Re-organized Tcl_Finalize so
2194        that Tcl_ExitProc's that call Tcl_Finalize recursively do not cause
2195        deadlock. [Patch 999084 fixes Tk Bug 714956]
2196
21972004-07-30  Daniel Steffen  <das@users.sourceforge.net>
2198
2199        * unix/configure:
2200        * unix/tcl.m4 (SC_CONFIG_CFLAGS): Darwin: instead of setting PLAT_OBJS
2201        to explict object files in tcl.m4, refer to MAC_OSX_OBJS makefile var.
2202        * unix/Makefile.in: added MAC_OSX_OBJS variable.
2203
22042004-07-29  Don Porter  <dgp@users.sourceforge.net>
2205
2206        * library/package.tcl: [::pkg::create] is now an alias. Test safe-2.1
2207        will now fail until Bug 999612 is corrected.
2208
22092004-07-28  Don Porter  <dgp@users.sourceforge.net>
2210
2211        * library/package.tcl:          Moved private command
2212        * library/tclIndex:             [pkg_compareExtension] into ::tcl::Pkg.
2213        * tests/pkg_mkIndex.test:       Also moved implementation of
2214        [::pkg::create] to [::tcl::Pkg::Create].
2215
22162004-07-25  Pat Thoyts  <patthoyts@users.sourceforge.net>
2217
2218        * tests/io.test: Make io-61.1 create file as binary to pass on Win32
2219
22202004-07-23  Miguel Sofer <msofer@users.sf.net>
2221
2222        * generic/tclVar.c: simplify tclLocalVarNameType, removing the
2223        reference to the corresponding proc. The reference is now seen as
2224        unnecessary, and it may cause leaking circular references under some
2225        circumstances (see for example [Bug 994838]).
2226
22272004-07-22  Don Porter  <dgp@users.sourceforge.net>
2228
2229        * tests/eofchar.data (removed): Test io-61.1 now generates its own
2230        * tests/io.test:        file of test data as needed.
2231
22322004-07-20  Jeff Hobbs  <jeffh@ActiveState.com>
2233
2234        * generic/tclEvent.c:       Correct threaded obj allocator to
2235        * generic/tclInt.h:         fully cleanup on exit and allow for
2236        * generic/tclThreadAlloc.c: reinitialization. [Bug 736426]
2237        * unix/tclUnixThrd.c:       (mistachkin, kenny)
2238        * win/tclWinThrd.c:
2239
22402004-07-21  Kevin Kenny  <kennykb@acm.org>
2241
2242        * generic/tclBasic.c (DeleteInterpProc):
2243        * generic/tclLiteral.c (TclCleanupLiteralTable):
2244        * generic/tclInt.h: added a TclCleanupLiteralTable function, called
2245        from DeleteInterpProc, that frees internal representations of shared
2246        literals early when an interpreter is being deleted. This change
2247        corrects a number of memory mismanagement issues in the cases where
2248        the internal representation of one literal contains a reference to
2249        another, and avoids conditions such as resolved variable names
2250        referring to procedure and namespace contexts that no longer exist.
2251        [Bug 994838]
2252
22532004-07-20  Daniel Steffen  <das@users.sourceforge.net>
2254
2255        * unix/Makefile.in:
2256        * win/Makefile.in: added 'install-private-headers' makefile target to
2257        allow optionally installing private tcl headers. [FR 922727]
2258
2259        * macosx/Makefile: use new 'install-private-headers' target to install
2260        private headers into framework. [FR 922727]
2261
2262        * unix/tclUnixFile.c (NativeMatchType): added support for readonly
2263        matching of user immutable files (where available).
2264
2265        * macosx/tclMacOSXBundle.c: dynamically acquire address for
2266        CFBundleOpenBundleResourceMap symbol, since it is only present in full
2267        CoreFoundation on Mac OS X and not in CFLite on pure Darwin.
2268
22692004-07-19  Zoran Vasiljevic <vasiljevic@users.sf.net>
2270
2271        * win/tclwinThrd.c: redefined MASTER_LOCK to call TclpMasterLock.
2272        Fixes [Bug 987967]
2273
22742004-07-17  Vince Darley  <vincentdarley@users.sourceforge.net>
2275
2276        * generic/tclIOUtil.c: fix to rare 'cd' infinite loop in normalization
2277        with vfs [Bug 991420].
2278        * tests/fileSystem.test: added test for above bug.
2279
2280        * doc/FileSystem.3: clarified documentation of posix error codes in
2281        'remove directory' FS proc - 'EEXIST' is used to signify a non-empty
2282        directory error (bug reported against tclvfs).
2283
22842004-07-16  Jeff Hobbs  <jeffh@ActiveState.com>
2285
2286        * unix/Makefile.in, unix/tcl.m4:     move (C|LD)FLAGS after their
2287        * unix/configure.in, unix/configure: _DEFAULT to allow for env setting
2288        to override m4 switches. Move SC_MISSING_POSIX_HEADERS up and
2289        consolidate calls to limit redundancy in configure.
2290        (CFLAGS_WARNING): Remove -Wconversion
2291        (SC_ENABLE_THREADS): Set m4 to force threaded build when built against
2292        a threaded Tcl core.
2293
22942004-07-16  Andreas Kupries  <andreask@activestate.com>
2295
2296        * generic/tclIOCmd.c (Tcl_FcopyObjCmd): Corrected a typo in the
2297        generation of error messages and simplified by reusing data in a
2298        variable instead of retrieving the string again. Fixes [Bug 835289].
2299
2300        * doc/OpenFileChnl.3: Added description of the behaviour of
2301        Tcl_ReadChars when its 'charsToRead' argument is set to -1. Fixes [Bug
2302        934511].
2303
2304        * doc/CrtCommand.3: Added note that the arguments given to the command
2305        proc of a Tcl_CreateCommand are in utf8 since Tcl 8.1. Closing [Patch
2306        414778].
2307
2308        * doc/ChnlStack.3: Removed the declaration that the interp argument to
2309        Tcl_(un)StackChannel can be NULL. This fixes [Bug 881220], reported by
2310        Marco Maggi <marcomaggi@users.sourceforge.net>.
2311
2312        * tests/socket.test: Accepted two new testcases by Stuart Casoff
2313        <stwo@users.sourceforge.net> checking that -server and -async don't go
2314        together [Bug 796534].
2315
2316        * unix/tclUnixNotfy.c (NotifierThreadProc): Accepted Joe Mistachkin's
2317        patch for [Bug 990500], properly closing the notifier thread when its
2318        exits.
2319
23202004-07-15  Andreas Kupries  <andreask@activestate.com>
2321
2322        * unix/tclUnixThrd.c (TclpFinalizeMutex): Accepted Joe Mistachkin's
2323        patch for [Bug 990453], closing leakage of mutexes. They were not
2324        destroyed properly upon finalization.
2325
23262004-07-15  Andreas Kupries  <andreask@activestate.com>
2327
2328        * generic/tclIO.h (CHANNEL_INCLOSE):       New flag. Set in
2329        * generic/tclIO.c (Tcl_UnregisterChannel): 'Tcl_Close' while the
2330        * generic/tclIO.c (Tcl_Close):             close callbacks are
2331        run. Checked in 'Tcl_Close' and 'Tcl_Unregister' to prevent recursive
2332        call of 'close' in the close-callbacks. This is a possible error made
2333        by implementors of virtual filesystems based on 'tclvfs', thinking
2334        that they have to close the channel in the close handler for the
2335        filesystem.
2336
23372004-07-14  Andreas Kupries  <andreask@activestate.com>
2338
2339        * generic/tclIO.c:
2340        * generic/tclIO.h:
2341        * Not reverting, but #ifdef'ing the changes from May 19, 2004 out of
2342        the core. This removes the ***POTENTIAL INCOMPATIBILITY*** for channel
2343        drivers it introduced. This has become possible due to Expect gaining
2344        a BlockModeProc and now handling blockingg and non-blocking modes
2345        correctly. Thus [SF Tcl Bug 943274] is still fixed if a recent enough
2346        version of Expect is used.
2347
2348        * doc/CrtChannel.3: Added warning about usage of a channel without a
2349        BlockModeProc.
2350
23512004-07-15  Andreas Kupries  <andreask@pliers.activestate.com>
2352
2353        * generic/tclIOCmd.c (Tcl_PutsObjCmd): Added length check to the old
2354        depreceated newline syntax, to ensure that only "nonewline" is
2355        accepted. [Tcl SF Bug 985869], reported by Joe Mistachkin
2356        <mistachkin@users.sourceforge.net>.
2357
23582004-07-15  Zoran Vasiljevic <vasiljevic@users.sf.net>
2359
2360        * generic/tclEvent.c (Tcl_Finalize): stuffed memory leak incurred by
2361        re-initializing of TSD slots after the last call to
2362        TclFinalizeThreadData (done from within Tcl_FinalizeThread()). We
2363        basically just repeat the TclFinalizeThreadData() once more before
2364        tearing down TSD keys in TclFinalizeSynchronization(). There should be
2365        more elaborate mechanism in place for handling such issues, based on
2366        thread cleanup handlers registered on the OS level. Such change
2367        requires much more work and would also require TIP because some
2368        visible parts of Tcl API would have to be modified. In the meantime,
2369        this will do.
2370
2371        * generic/tclNotify.c (TclFinalizeNotifier): Added conditional
2372        notifier finalization based on the fact that an TclInitNotifier has
2373        been called for the current thread. This fixes the [Bug 770053] again.
2374        Hopefully this time w/o unwanted side-effects.
2375
23762004-07-15  Kevin Kenny  <kennykb@acm.org>
2377
2378        * generic/tclLiteral.c (TclReleaseLiteral): Removed unused variable
2379        'codePtr' to silence a message from VC++.
2380
23812004-07-15  Miguel Sofer <msofer@users.sf.net>
2382
2383        * generic/tclCompile.c (TclCompileScript):
2384        * generic/tclLiteral.c (TclReleaseLiteral): fix for [Bug 467523],
2385        which resurfaced with the latest changes. The previous strategy was to
2386        have special code in TclReleaseLiteral to handle the self-references
2387        generated by empty scripts. The new approach avoids the self-reference
2388        altogether, by having empty scripts return an unshared literal.
2389
23902004-07-15  Zoran Vasiljevic <vasiljevic@users.sf.net>
2391
2392        * generic/tclEvent.c (NewThreadProc): Backout of changes to fix the
2393        [Bug 770053]. See SF bugreport for more info.
2394
23952004-07-11  Miguel Sofer <msofer@users.sf.net>
2396
2397        * generic/tclBasic.c (Tcl_EvalEx): leak fix by dgp, release
2398        objv[objectsUsed] on error.
2399
24002004-07-11  Miguel Sofer <msofer@users.sf.net>
2401
2402        * generic/tclParse.c (Tcl_SubstObj): leak fix by dgp, release result
2403        on error.
2404
24052004-07-11  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
2406
2407        * generic/tclNamesp.c (BuildEnsembleConfig): Don't forget to clean out
2408        references when deleting the hash table.
2409        * generic/tclDictObj.c (Tcl_DictObjRemoveKeyList): Oops, forgot to
2410        delete value object when removing the hash entry. [Bug 989093 in part]
2411
24122004-07-11  Miguel Sofer <msofer@users.sf.net>
2413
2414        * generic/tclExecute.c (TEBC): fixed leak of expandNestList objs when
2415        there is an error while an expansion is in progress (code added at
2416        checkForCatch).
2417
24182004-07-11  Vince Darley  <vincentdarley@users.sourceforge.net>
2419
2420        * generic/tclIOUtil.c: fix to 'cd' bug when vfs is active [tclvfs Bug
2421        986944] - this bug recently introduced by some threading fixes. Need
2422        to work out how to add tests for this.
2423
24242004-07-10  Kevin Kenny  <kennykb@acm.org>
2425
2426        * tests/clock.test (clock-2.11): Changed the test so that it isn't an
2427        infinite loop when run under valgrind on a slow virtual machine.
2428        Thanks to Miguel Sofer for the bug report. Also put in code to restore
2429        env(LC_TIME) after tests complete, silencing a warning from 'make
2430        TESTFLAGS="-debug 1" test'.
2431
24322004-07-08  Miguel Sofer <msofer@users.sf.net>
2433
2434        * generic/tclBasic.c (DeleteInterpProc): reverted the modification of
2435        3 days ago, as the leak of [Bug 983660] is now handled by the change
2436        in TclCleanupByteCode.
2437        * generic/tclCompile.c (TclCleanupByteCode): let each bytecode remove
2438        its references to literals at interp deletion, without updating the
2439        dying literal table.
2440        * generic/tclLiteral.c (TclDeleteLiteralTable): with the above change
2441        to TclCleanupByteCode, this function now removes a single reference to
2442        the literal object and cleans up its own structures.
2443
24442004-07-08  Kevin Kenny  <kennykb@acm.org>
2445
2446        * win/tclWinInit.c (AppendEnvironment): Silenced a compilation warning
2447        about a type mismatch.
2448
24492004-07-07  Miguel Sofer <msofer@users.sf.net>
2450
2451        * generic/tclCompile.c (TclCompileScript): fix for [Bug 458361].
2452        Single-word scripts are compiled with an unshared cmdName to avoid
2453        shimmering between bytecode and cmdName reps.
2454
24552004-07-07  Don Porter  <dgp@users.sourceforge.net>
2456
2457        * generic/tclCmdMZ.c (TclMergeReturnOptions):  Simplified logic and
2458        removed potential memory leak. [Bug 986257].
2459
24602004-07-07  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
2461
2462        * tools/man2help2.tcl (setTabs, IPmacro): Added support for the more
2463        advanced *roff macros used in Tk's doc/bind.n
2464
2465        * generic/tclObj.c (TclInitObjSubsystem): Declare all current object
2466        types.
2467
24682004-07-06  Don Porter  <dgp@users.sourceforge.net>
2469
2470        * tests/cmdMZ.test (cmdMZ-return-2.17): Added a test that a word
2471        containing backslash-quoted value is treated correctly.
2472
2473        * generic/tclCompile.c (TclWordKnownAtCompileTime): [Bug 986196]
2474        Corrected flaw above and the flaw that caused TCL_TOKEN_SIMPLE_WORDs
2475        to have their original word value copied ( "{a b}" ) rather than the
2476        actual value ( "a b" ). Thanks to Kevin Kenny for report and tests.
2477
24782004-07-06  Kevin B. Kenny  <kennykb@acm.org>
2479
2480        * tests/cmdMZ.test (cmdMZ-return-2.15,cmdMZ-return-2.16): Added a test
2481        that a return code containing spaces is correctly returned.
2482
24832004-07-06  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
2484
2485        * tools/man2html2.tcl (IPmacro, setTabs): Added support for the more
2486        advanced *roff macros used in Tk's doc/bind.n
2487
24882004-07-05  Miguel Sofer <msofer@users.sf.net>
2489
2490        * generic/tclBasic.c (DeleteInterpProc): fix for [Bug 983660], found
2491        by pspjuth. Tear down the global namespace before freeing the interp
2492        handle, to allow the bytecodes to free their non-shared literals.
2493        * generic/tclLiteral.c (TclReleaseLiteral): moved special code for
2494        self-ref so that it is also used for non-shared literals. Possible bug
2495        found by inspection.
2496
24972004-07-03  Miguel Sofer <msofer@users.sf.net>
2498
2499        * generic/tclExecute.c (ExprRoundFunc):
2500        * tests/expr-old.test (39.1): added support for wide integers to
2501        round(); [Bug 908375], reported by Hemang Lavana.
2502
25032004-07-03  Miguel Sofer <msofer@users.sf.net>
2504
2505        * generic/tclCompile.h:
2506        * generic/tclInt.decls:
2507        * generic/tclIntDecls.h:
2508        * generic/tclStubInit.c: Moved declaration of TclCompEvalObj() from
2509        tclCompile.h to the internal stubs table, for compiler
2510        experimentation.
2511
25122004-07-02  Jeff Hobbs  <jeffh@ActiveState.com>
2513
2514        * generic/regcomp.c (stid): correct minor pointer size error
2515
2516        * generic/tclPipe.c (TclCreatePipeline): applied TIP #202 patch that
2517        * doc/exec.n, tests/exec.test:           adds 2>@1 as a special case
2518        redirection of stderr to the result output.
2519
25202004-07-02  Kevin B. Kenny  <kennykb@acm.org>
2521
2522        * tests/io.test: Changed several tests to run the event loop rather
2523        than just calling [update] periodically, avoiding intermittent
2524        failures (usually in io-29.32) that stemmed from unreaped processes on
2525        Windows.
2526        * tests/winPipe.test (winpipe-1.11): Fixed a bug that caused test to
2527        fail if the path name of the working directory contained whitespace
2528        [Bug 678430]
2529
25302004-07-01  Vince Darley  <vincentdarley@users.sourceforge.net>
2531
2532        * tests/fileSystem.test: Added test for [Bug 970529]
2533
25342004-07-01  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
2535
2536        * win/README.binary, win/README: Updated references to Tcl and Tk 8.4
2537        to point to 8.5 instead. Thanks to Theo Verelst for spotting this.
2538        * generic/tcl.h: Added note to help prevent those changes from getting
2539        missed in the future.
2540
2541        * doc/Namespace.3, doc/load.n, doc/Limit.3: Typo fixes and remove
2542        duplicate documentation. [Bug 983146]
2543
25442004-06-30  Don Porter  <dgp@users.sourceforge.net>
2545
2546        * tests/fileSystem.test: Minor correction to new fileSystem-9.X tests
2547        so that they clean up temporary directories correctly.
2548
25492004-06-30  Vince Darley  <vincentdarley@users.sourceforge.net>
2550
2551        * doc/filename.n: clarified behaviour concerning trailing slashes in
2552        filenames [Bug 971976]
2553
2554        * win/tclWinFile.c:
2555        * tests/fileSystem.test: fix and tests for [Bug 979879]
2556
25572004-06-30  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
2558
2559        TIP#188 IMPLEMENTATION
2560
2561        * doc/string.n, tests/string.test:       Add 'wideinteger' to things
2562        * generic/tclCmdMZ.c (Tcl_StringObjCmd): that can be tested for with
2563        the [string is] subcommand. [Patch 940915, by Kevin Kenny]
2564
25652004-06-29  Don Porter  <dgp@users.sourceforge.net>
2566
2567        * win/tclWinInit.c:     Corrected reference counting flaw in recent
2568        changes. Thanks to Pat Thoyts. [Bug 981893].
2569
25702004-06-29  Vince Darley  <vincentdarley@users.sourceforge.net>
2571
2572        * win/tclWin32Dll.c: fix to compilation with VC++ 5.2
2573
25742004-06-29  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
2575
2576        * library/safe.tcl: Make sure that the temporary variable is local to
2577        the namespace and not inadvertently global. [Bug 981733]
2578
25792004-06-24  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
2580
2581        * tests/unixNotfy.test: Modified constraints so that testing with a
2582        threaded tclsh (not tcltest) will not hang.
2583
25842004-06-23  Don Porter  <dgp@users.sourceforge.net>
2585
2586        * generic/tclThreadStorage.c: Corrected type casting errors that led
2587        to calculation of a negative index value, thus accesses outside the
2588        threadStorageCache array, thus memory corruption. Crash observed on
2589        Mac OS X platform.
2590
25912004-06-23  Joe Mistachkin  <joe@mistachkin.com>
2592
2593        * generic/tclThread.c: Implements platform independent thread storage
2594        * generic/tclThreadStorage.c: mechanism and fixes associated bugs on
2595        platforms where there is limited thread local storage space
2596        (Win98/WinNT4). [Patch 976496]
2597
2598        * generic/tclInt.decls:
2599        * generic/tclIntDecls.h: Added thread storage functions to the
2600        * generic/tclStubInit.c: internal stubs table.
2601
2602        * unix/Makefile.in:
2603        * unix/configure:
2604        * unix/tcl.m4:
2605        * win/makefile.vc:
2606        * win/rules.vc:
2607        * win/Makefile.in: Modified the unix, VC++, and Cygwin build systems
2608        * win/configure: to include the new "tclThreadStorage.c" and the new
2609        * win/tcl.m4: USE_THREAD_STORAGE define.
2610
26112004-06-23  Pat Thoyts  <patthoyts@users.sourceforge.net>
2612
2613        * tests/io.test: Added -force to 18.1 and 18.2. This was failing on
2614        WinXP.
2615
2616        * tests/winFCmd.test: Added a cleanup to winFCmd-16.11 to avoid a
2617        failure in 16.12.
2618
2619        * tests/eofchar.data: Added -kb option to ensure a binary checkout to
2620        win32 systems. This fixes a failure in io-61.1
2621
2622        * win/makefile.vc: fix for [Bug 977369] about launching tclsh to
2623        generate a tclConfig.sh with the nmake build system
2624
26252004-06-23  Kevin B. Kenny  <kennykb@acm.org>
2626
2627        * tests/winDde.test (createChildProcess): Added a 200-ms delay (with
2628        the event loop live) when shutting down the test DDE server process.
2629        With the delay in place, nuisance failures of tests winDde-4.2, -6.5,
2630        and -6.6 appear to be much less frequent. [Bug 957449]
2631
26322004-06-23  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
2633
2634        * tests/*.test: Standardize use of platform constraints.
2635
2636        * unix/tclUnixInit.c (GetStackSize, TclpCheckStackSpace):
2637        * unix/tclUnixThrd.c (TclpThreadGetStackSize): Added code to check
2638        whether the C stack is about to be exceeded, from [Patch 746378] by
2639        Joe Mistachkin but with substantial revisions.
2640
26412004-06-22  Kevin Kenny  <kennykb@acm.org>
2642
2643        * generic/tclEvent.c (NewThreadProc): Fixed broken build on Windows
2644        caused by missing TCL_THREAD_CREATE_RETURN.
2645
2646        * tests/stack.test (stack-3.1): Corrected nuisance error in threaded
2647        builds.
2648
26492004-06-22  Zoran Vasiljevic <vasiljevic@users.sf.net>
2650
2651        * generic/tclEvent.c:
2652        * generic/tclInt.h:
2653        * unix/tclUnixNotfy.c:
2654        * unix/tclUnixThrd.c:
2655        * win/tclWinThrd.c: [Bug 770053]. See bug report for more information
2656        about what it does.
2657
2658        * tests/unixNotfy.test: rewritten to use tcltest::threadReap to
2659        gracefully wait for the test thread to exit. Otherwise we got a race
2660        condition with main thread exiting before the test thread. This
2661        exposed the long-standing Tcl lib issue with resource
2662        garbage-collection on application exit.
2663
26642004-06-21  Mo DeJong  <mdejong@users.sourceforge.net>
2665
2666        * win/tclWin32Dll.c (DllMain, _except_dllmain_detach_handler)
2667        (TclpCheckStackSpace, _except_checkstackspace_handler)
2668        (TclWinCPUID, _except_TclWinCPUID_detach_handler):
2669        * win/tclWinChan.c (Tcl_MakeFileChannel)
2670        (_except_makefilechannel_handler):
2671        * win/tclWinFCmd.c (DoRenameFile, _except_dorenamefile_handler)
2672        (DoCopyFile, _except_docopyfile_handler):
2673        Rework pushing of exception handler function pointer so that compiling
2674        with gcc -O3 works. Remove empty function call to avoid compiler
2675        warning. Mark the DllMain function as noinline to avoid compiler error
2676        from duplicated asm labels in generated code.
2677
26782004-06-21  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
2679
2680        * generic/tclThreadAlloc.c (Ptr2Block): Rewrote so as to maximize the
2681        chance of detecting and reporting a memory inconsistency without
2682        relying on things being consistent. [Bug 975895]
2683
26842004-06-18  Don Porter  <dgp@users.sourceforge.net>
2685
2686        * tests/load.test:      Relaxed strictness of error message matching
2687        for test load-2.3 so that it will pass on Mac OSX.
2688
2689        * generic/tclEncoding.c: Static TclFindEncodings -> FindEncodings.
2690        * generic/tclInt.h:     Updated TclpFindExecutable() so that failed
2691        * generic/tclUtil.c:    attempts to find the executable are saved
2692        * unix/tclUnixFile.c:   just as successful finds are. [Patch 966053]
2693        * unix/tclUnixTest.c:
2694
26952004-06-18  Kevin B. Kenny  <kennykb@acm.org>
2696
2697        * tests/winFCmd.test (winFCmd-16.12): Changed test to compute the
2698        target directory, so as not to fail if the user's HOME isn't the root.
2699
27002004-06-19  Daniel Steffen  <das@users.sourceforge.net>
2701
2702        * unix/tcl.m4: autoconf 2.5 fixes in Darwin section.
2703        * unix/configure: autoconf-2.57
2704
27052004-06-18  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
2706
2707        * unix/tclUnixInit.c (localeTable): Added some more locale to encoding
2708        mapping info from Jim Huang <jserv@kaffe.org>
2709
2710        * generic/tclInt.h (PendingObjData,TclFreeObjMacro,etc):
2711        * generic/tclObj.c (TclFreeObj): Added scheme for making TclFreeObj()
2712        avoid blowing up the C stack when freeing up very large object trees.
2713        [Bug 886231]
2714
2715        * win/tclWinInit.c (SetDefaultLibraryDir): Fix logic, simplify and add
2716        comments.
2717
27182004-06-17  Don Porter  <dgp@users.sourceforge.net>
2719
2720        * generic/tclObj.c:     Added missing space in panic message.
2721
2722        * win/tclWinInit.c:     Inform [tclInit] about the default library
2723        directory via the ::tclDefaultLibrary variable. This should correct a
2724        problem with my 2004-06-11 commit. Better solutions still in the
2725        works. Thanks to Joe Mistachkin for pointing out the breakage.
2726
27272004-06-16  Don Porter  <dgp@users.sourceforge.net>
2728
2729        * doc/library.n:        Moved variables ::auto_oldpath and
2730        * library/auto.tcl:     ::unknown_pending into ::tcl namespace.
2731        * library/init.tcl:     [Bugs 808319, 948794]
2732
27332004-06-15  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
2734
2735        * doc/binary.n: Added some notes to the documentation of the 'a'
2736        format to address the point raised in [RFE 768852].
2737
27382004-06-15  Jeff Hobbs  <jeffh@ActiveState.com>
2739
2740        * unix/tclConfig.sh.in (TCL_EXTRA_CFLAGS): set to @CFLAGS@, which is
2741        the configure-time CFLAGS. Addendum to m4 change on 2004-05-26.
2742
27432004-06-14  Kevin Kenny  <kennykb@acm.org>
2744
2745        * win/Makefile.in: Corrected compilation flags for tclPkgConfig.c so
2746        that it doesn't require Stubs.
2747        * generic/tclBasic.c (Tcl_CreateInterp): Removed comment stating that
2748        TclInitEmbeddedConfigurationInformation needs Stubs; with the change
2749        above, the comment is now erroneous.
2750
27512004-06-11  Don Porter  <dgp@users.sourceforge.net>
2752
2753        * doc/Encoding.3:       Removed bogus claims about tcl_libPath.
2754
2755        * generic/tclInterp.c (Tcl_Init):       Stopped setting the
2756        tcl_libPath variable. [tclInit] can get all its directories without it.
2757
2758        * tests/unixInit.test:  Modified test code that made use of
2759        tcl_libPath variable.
2760
2761        * unix/tclUnixInit.c:   Stopped setting the tclDefaultLibrary variable,
2762        execept on the Mac OS X platform with HAVE_CFBUNDLE. In that
2763        configuration we should seek some way to make use of the TIP 59
2764        facilities and get rid of that usage of tclDefaultLibrary as well.
2765
2766        * generic/tclInterp.c:  Updated [tclInit] to make $env(TCL_LIBRARY) an
2767        absolute path, and to include the scriptdir,runtime configuration value
2768        on the search path for init.tcl.
2769
2770        * unix/tclUnixInit.c:   The routines Tcl_Init() and TclSourceRCFile()
2771        * win/tclWinInit.c:     had identical implementations for both win and
2772        * generic/tclInterp.c:  unix. Moved to a single generic implementation.
2773        * generic/tclMain.c:
2774        * library/init.tcl:
2775        * generic/tclInitScript.h (removed):
2776        * unix/Makefile.in:
2777        * win/tcl.dsp:
2778
2779        * unix/configure.in:    Updated TCL_PACKAGE_PATH value to handle
2780        * win/configure.in:     --libdir configuration.
2781
2782        * unix/configure.in:    autoconf-2.57
2783        * win/configure.in:
2784
2785        * generic/tclBasic.c (Tcl_CreateInterp): Moved call to
2786        TclInitEmbeddedConfigurationInformation() earlier in
2787        Tcl_CreateInterp() so that other parts of interp creation and
2788        initialization may access and use the config values.
2789
27902004-06-11  Kevin Kenny  <kennykb@acm.org>
2791
2792        * win/tclAppInit.c: Restored the 'setargv' procedure when compiling
2793        with mingw. Apparently, the command line parsing in mingw doesn't work
2794        as well as that in vc++, and the result was (1) that winPipe-8.19
2795        failed, and (2) that 'make test' would work at all only with
2796        TESTFLAGS='-singleproc 1'. [Bug 967195]
2797
27982004-06-10  Zoran Vasiljevic <vasiljevic@users.sf.net>
2799
2800        * generic/tclIOUtil.c: removed forceful setting of the private cached
2801        current working directory rep from within the Tcl_FSChdir(). We
2802        delegate this task to the Tcl_FSGetCwd() which does this task anyway.
2803        The relevant code is still present but disabled temporarily until the
2804        change proves correct. The Tcl test suite passes all test with the
2805        given change so I suppose it is good enough.
2806
28072004-06-10  Don Porter  <dgp@users.sourceforge.net>
2808
2809        * unix/tclUnixInit.c (TclpInitLibraryPath):     Disabled addition of
2810        * win/tclWinInit.c (TclpInitLibraryPath):       relative-to-executable
2811        directories to the library search path. A first step in reform of
2812        Tcl's startup process.
2813
2814        ***POTENTIAL INCOMPATIBILITY***
2815        Attempts to directly run ./tclsh or ./tcltest out of a build directory
2816        will either fail, or will make use of an installed script library in
2817        preference to the one in the source tree. Use `make shell` or `make
2818        runtest` instead.
2819
2820        * tests/unixInit.test:  Modified tests to suit above changes.
2821
2822        * generic/tclPathObj.c: Corrected [file tail] results when operating
2823        on a path produced by TclNewFSPathObj(). [Bug 970529]
2824
28252004-06-09  Zoran Vasiljevic <vasiljevic@users.sf.net>
2826
2827        * generic/tclIOUtil.c: partially corrected [Bug 932314]. Also
2828        corrected return values of Tcl_FSChdir() to reflect those of the
2829        underlying platform-specific call. Originally, return codes were mixed
2830        with those of Tcl.
2831
28322004-06-08  Miguel Sofer <msofer@users.sf.net>
2833
2834        * generic/tclCompile.c:
2835        * generic/tclExecute.c: handle warning [Bug 969066]
2836
28372004-06-08  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
2838
2839        * generic/tclHash.c (RebuildTable): Move declaration of variable so it
2840        is only declared when it is used. [Bug 969068]
2841
28422004-06-07  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
2843
2844        * doc/lsearch.n: Added correct option to example. [Bug 968219]
2845
28462004-06-05  Kevin B. Kenny  <kennykb@acm.org>
2847
2848        * generic/tcl.h: Corrected Tcl_WideInt declarations so that the mingw
2849        build works again.
2850        * generic/tclDecls.h:                   Changes to the tests for clock
2851        * generic/tclInt.decls:                 frequency in Tcl_WinTime so
2852        * generic/tclIntDecls.h:                that any clock frequency is
2853        * generic/tclIntPlatDecls.h:            accepted provided that all
2854        * generic/tclPlatDecls.h:               CPU's in the system share a
2855        * generic/tclStubInit.c:                common chip, and hence,
2856        * tests/platform.test (platform-1.3):   presumably, a common clock.
2857        * win/tclWin32Dll.c (TclWinCPUID):      This change necessitated a
2858        * win/tclWinTest.c (TestwincpuidCmd)    small burst of assembly code
2859        * win/tclWinTime.c (Tcl_GetTime):       to read CPU ID information,
2860        which was added as TclWinCPUID in the internal Stubs. To test this
2861        code in the common case of a single-processor machine, a
2862        'testwincpuid' command was added to tclWinTest.c, and a test case in
2863        platform.test. Thanks to Jeff Godfrey and Richard Suchenwirth for
2864        reporting this bug. [Bug 976722]
2865
28662004-06-04  Don Porter  <dgp@users.sourceforge.net>
2867
2868        * generic/tcl.h:        Restored #include <stdio.h> to tcl.h,
2869        rejecting the "fix" for "Bug" 945570. Tcl_FSSeek() needs the values of
2870        SEEK_SET, etc. and too many extensions rely on tcl.h providing stdio.h
2871        for them.
2872
28732004-06-02  Jeff Hobbs  <jeffh@ActiveState.com>
2874
2875        * win/tclWinFile.c (TclpFindExecutable): when using GetModuleFileNameA
2876        (Win9x), convert from CP_ACP to WCHAR then convert back to utf8.
2877        Adjunct to 2004-04-07 fix.
2878
28792004-06-02  David Gravereaux <davygrvy@pobox.com>
2880
2881        * tests/winPipe.test (winpipe-6.1): blocking set to 1 before closing
2882        to ensure we get an exitcode. The windows pipe channel driver doesn't
2883        differentiate between a blocking and non-blocking close just yet, but
2884        will soon. Part of [Bug 947693]
2885
28862004-06-02  Vince Darley  <vincentdarley@users.sourceforge.net>
2887
2888        * doc/file.n: fix to documentation of 'file volumes' (Bug 962435)
2889
28902004-06-01  David Gravereaux <davygrvy@pobox.com>
2891
2892        * win/makefile.vc: check for either MSDEVDIR or MSVCDIR being in the
2893        environment, for VC7. [Bug 942214]
2894
2895        * generic/tclIO.c (Tcl_SetChannelOption): -buffersize wasn't
2896        understanding hexidecimal notation nor was reporting number conversion
2897        errors. The behavior to silently ignore settings outside the
2898        acceptable range of Tcl_SetChannelBufferSize (<10 or >1M) is
2899        unchanged. This silent ignoring behavior might be up for review soon.
2900
29012004-05-30  David Gravereaux <davygrvy@pobox.com>
2902
2903        * win/tclWinPipe.c:
2904        * win/tclWinPort.h:  Reworked the win implementation of Tcl_WaitPid to
2905        support exitcodes in the 'signed short' range. Even though this range
2906        is non-portable, it is valid on windows. Detection of exception codes
2907        are now more accurate. Previously, an application that exited with
2908        ExitProcess((DWORD)-1); was improperly reported as exiting with
2909        SIGABRT.
2910
29112004-05-30  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
2912
2913        * generic/tclInterp.c: Added comments describing the purposes of each
2914        function in the limit implementation and rewrote the names of some
2915        non-public functions for greater clarity of purpose.
2916        * doc/interp.n: Added note about what happens when a limited
2917        interpreter creates a slave interpreter.
2918        * doc/Limit.3: Added manual page for the resource limit subsystem's C
2919        API. [Bug 953903]
2920
29212004-05-29  Joe English  <jenglish@users.sourceforge.net>
2922
2923        * doc/global.n, doc/interp.n, doc/lrange.n: Fix minor markup errors.
2924
29252004-05-28  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
2926
2927        * doc/*.n: Added examples to many (too many to list) more man pages.
2928
29292004-05-25  Miguel Sofer <msofer@users.sf.net>
2930
2931        * generic/tclExecute.c:
2932        * generic/tclVar.c: using (ptrdiff_t) instead of (int) casting to
2933        correct compiler warnings [Bug 961657], reported by Bob Techentin.
2934
29352004-05-27  Kevin B. Kenny  <kennykb@acm.org>
2936
2937        * tests/clock.test: Added a single test for the presence of %G in
2938        [clock format], and conditioned out the clock-10.x series if they're
2939        all going to fail because of a broken strftime() call. [Bug 961714]
2940
29412004-05-27  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
2942
2943        * generic/tclHash.c (CompareStringKeys): Added #ifdef to allow people
2944        to instruct this function to use strcmp(). [FRQ 951168]
2945
2946        * generic/tclVar.c: Moved declarations into #if guards so they only
2947        happen when required.
2948        * unix/tclUnixPort.h: Guard declaration of strtod() so it is only
2949        enabled when we don't have a declaration in stdlib.h
2950        * unix/tclUnixThrd.c (Tcl_CreateThread):        Added declarations
2951        * unix/tclUnixTest.c (AlarmHandler):            and casts so that
2952        * unix/tclUnixChan.c (TtyModemStatusStr):       all functions are
2953        * generic/tclScan.c (Tcl_ScanObjCmd):           defined before use
2954        * generic/tclDictObj.c (InvalidateDictChain):   and no cross-type
2955        * generic/tclCmdMZ.c (Tcl_StringObjCmd):        uses are performed.
2956
2957        The overall effect is to make building with gcc with the additional
2958        flags -Wstrict-prototypes -Wmissing-prototypes produce no increase in
2959        the total number of warnings (except for main(), which is undeclared
2960        for traditional reasons.)
2961
29622004-05-26  Jeff Hobbs  <jeffh@ActiveState.com>
2963
2964        * unix/Makefile.in:  Rework configure ordering to TCL_LINK_LIBS,
2965        * unix/tcl.m4:       ENABLE_SHARED, CONFIG_CFLAGS, & ENABLE_SYMBOLS
2966        * unix/configure:    before TCL_EARLY_FLAGS and TCL_64BIT_FLAGS
2967        * unix/configure.in: (about 400 lines earlier) in configure.in. This
2968        forces CFLAGS configuration to be done before many tests, which is
2969        needed for 64-bit builds and may affect other builds. Also make
2970        CONFIG_CFLAGS append to CFLAGS directly instead of using EXTRA_CFLAGS,
2971        and have LDFLAGS append to any existing value. [Bug 874058]
2972        * unix/dltest/Makefile.in: change EXTRA_CFLAGS to DEFS
2973
29742004-05-26  Don Porter  <dgp@users.sourceforge.net>
2975
2976        * library/tcltest/tcltest.tcl:  Correction to debug prints and testing
2977        * library/tcltest/pkgIndex.tcl: if TCLTEST_OPTIONS value. Corrected
2978        * tests/tcltest.test:           double increment of numTestFiles in
2979        -singleproc 1 configurations. Updated tcltest-19.1 to tcltest 2.1
2980        behavior. Corrected tcltest-25.3 to not falsely report a failure in
2981        tcltest.test. Bumped to tcltest 2.2.6. [Bugs 960560, 960926]
2982
29832004-05-25  Jeff Hobbs  <jeffh@ActiveState.com>
2984
2985        * doc/http.n (http::config): add -urlencoding option (default utf-8)
2986        * library/http/http.tcl:     that specifies encoding conversion of
2987        * library/http/pkgIndex.tcl: args for http::formatQuery. Previously
2988        * tests/http.test:           undefined, RFC 2718 says it should be
2989        utf-8. 'http::config -urlencoding {}' returns previous behavior, which
2990        will throw errors processing non-latin-1 chars. Bumped http package to
2991        2.5.0.
2992
29932004-05-25  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
2994
2995        * generic/tclInterp.c (DeleteScriptLimitCallback): Move all deletion
2996        of script callback hash table entries to happen here so the entries
2997        are correctly removed at the right time. [Bug 960410]
2998
29992004-05-25  Miguel Sofer <msofer@users.sf.net>
3000
3001        * docs/global.n: added details for qualified variable names [Bug
3002        959831]
3003
30042004-05-25  Miguel Sofer <msofer@users.sf.net>
3005
3006        * generic/tclNamesp.c (Tcl_FindNamespaceVar):
3007        * tests/namespace.test (namespace-17.10-12): reverted commit of
3008        2004-05-23 and removed the tests, as it interferes with the varname
3009        resolver and there are apps that break (AlphaTk). A fix will have to
3010        wait for Tcl9.
3011
3012        * generic/tclVar.c: Caching of namespace variables disabled: no simple
3013        way was found to avoid interfering with the resolver's idea of
3014        variable existence. A cached varName may keep a variable's name in the
3015        namespace's hash table, which is the resolver's criterion for
3016        existence.
3017
3018        * tests/namespace.c (namespace-17.10): testing for interference
3019        between varname caching and name resolver.
3020
30212004-05-25  Kevin Kenny  <kennykb@acm.org>
3022
3023        * tests/winFCmd.test: Correct test for the presence of a CD-ROM so
3024        that it doesn't misdetect some other sort of filesystem with a
3025        write-protected root as being a CD-ROM drive. [Bug 918267]
3026
30272004-05-25  Don Porter  <dgp@users.sourceforge.net>
3028
3029        * tests/winPipe.test:   Protect against path being set
3030        * tests/unixInit.test:  Unset path when done.
3031        * tests/unload.test (unload-3.1): Verify [pkgb_sub] does not exist.
3032        Delete interps when done.
3033        * tests/stringComp.test:        stop re-use of string.test test names
3034        * tests/regexpComp.test:        stop re-use of regexp.test test names
3035        * tests/namespace.test (namespace-46.3): Verify [p] does not exist.
3036        * tests/http.test:      Clear away the custom [bgerror] when done.
3037        * tests/io.test:        Take care to use namespace variables.
3038        * tests/autoMkindex.test (autoMkindex-5.2): Use variable "result"
3039        that gets cleaned up.
3040        * tests/exec.test:      Clean up the "path" array.
3041        * tests/interp.test (interp-9.3): Initialize res, so prior values
3042        cannot make the test fail.
3043        * tests/execute.test (execute-8.1):  Updated to remove the trace set
3044        on ::errorInfo. When left in place, that trace can cause later tests
3045        to fail.
3046
30472004-05-25  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
3048
3049        * generic/tclBasic.c: Removed references to Tcl_RenameCommand from
3050        * generic/tcl.h:      comments. [Bug 848440, second part]
3051
3052        * tests/fCmd.test: Rewrote tests that failed consistently on NFS so
3053        they either succeed (through slightly more liberal matching of the
3054        results) or are constrained to not run. [Bug 931312]
3055
3056        * doc/bgerror.n: Use idiomatic open flags for working with log
3057        files. [Bug 959602]
3058
30592004-05-24  Jeff Hobbs  <jeffh@ActiveState.com>
3060
3061        * generic/tclExecute.c (VerifyExprObjType): use GET_WIDE_OR_INT to
3062        properly have tclIntType used for smaller values. This corrects [TclX
3063        Bug 896727] and any other 3rd party extension that created math
3064        functions but was not yet WIDE_INT aware in them.
3065
30662004-05-24  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
3067
3068        * generic/tclInterp.c (TclInitLimitSupport): Made limits work on
3069        platforms where sizeof(void*)!=sizeof(int). [Bug 959193]
3070
30712004-05-24 Miguel Sofer <msofer@users.sf.net>
3072
3073        * doc/set.n: accurate description of name resolution process,
3074        referring to namespace.n for details [Bug 959180]
3075
30762004-05-23  Miguel Sofer <msofer@users.sf.net>
3077
3078        * generic/tclNamesp.c (Tcl_FindNamespaceVar): [Bug 959052] fixed,
3079        insuring that no "zombie" variables are found.
3080        * generic/tclVar.c (TclLookupSimpleVar): comments re [Bug 736729]
3081        (predecessor of [Bug 959052]) removed.
3082        * tests/namespace.test: added tests 17.10-12
3083
3084        The patch modifies non-documented behaviour, and passes every test in
3085        the testsuite. However, scripts relying on the old behaviour may
3086        break.
3087        Note that the only behaviour change concerns the creative writing of
3088        unset variables. More precisely, which variable will be created when
3089        neither a namespace variable nor a global variable by that name
3090        exists, as defined by [info vars]. The new behaviour is that the
3091        namespace resolution process deems a variable to exist exactly when
3092        [info vars] finds it - ie, either it has value, or else it was "fixed"
3093        by a call to [variable].
3094        Note: this patch was removed on 2002-05-25.
3095
30962004-05-22  Miguel Sofer <msofer@users.sf.net>
3097
3098        * generic/tclVar.c (TclObjLookupVar, TclObjUnsetVar2): fix for new (in
3099        tcl8.4) exteriorisations of [Bug 736729] due to the use of
3100        tclNsVarNameType obj types. Reenabling the use of this objType ("VAR
3101        ref absolute" benchmark down to 66 ms, from 230). Added comments in
3102        TclLookupSimpleVar explaining my current understanding of [Bug
3103        736729].
3104
31052004-05-22  Miguel Sofer <msofer@users.sf.net>
3106
3107        * generic/tclVar.c: fix for [Bug 735335]. The use of tclNsVarNameType
3108        objs is still disabled, pending resolution of [Bug 736729].
3109
31102004-05-21  Miguel Sofer <msofer@users.sf.net>
3111
3112        * tests/namespace.test (namespace-41.3): removed the {knownBug}
3113        constraint: [Bug 231259] is closed since nov 2001, and the fix of [Bug
3114        729692] (INST_START_CMD) makes the test succeed.
3115
31162004-05-21  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
3117
3118        * generic/tclExecute.c (TclExecuteByteCode): Move a few declarations a
3119        short distance so pre-C99 compilers can cope. Also fix so
3120        TCL_COMPILE_DEBUG path compiles...
3121
31222004-05-21  Miguel Sofer <msofer@users.sf.net>
3123
3124        * generic/tclExecute.c (TclExecuteByteCode): reorganised TEBC
3125        automatic variables, defining them in tight blocks instead of at the
3126        function level. This has three purposes:
3127        - it simplifies the analysis of individual instructions
3128        - it is preliminary work to the non-recursive engine
3129        - it allows a better register allocation by the optimiser; under
3130        gcc3.3, this results in up to 10% runtime in some tests
3131
31322004-05-20  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
3133
3134        * generic/tclInterp.c (TclLimitRemoveAllHandlers):
3135        * generic/tclBasic.c (DeleteInterpProc):
3136        * tests/interp.test (interp-34.7): Ensure that all limit callbacks are
3137        deleted when their interpreters are deleted. [Bug 956083]
3138
31392004-05-19  Kevin B. Kenny  <kennykb@acm.org>
3140
3141        * win/tclWinFile.c (TclpMatchInDirectory): fix for an issue where
3142        there was a sneak path from Tcl_DStringFree to SetErrorCode(0). The
3143        result was that the error code could be reset between a call to
3144        FindFirstFileEx and the check of its status return, leading to a
3145        bizarre error return of {POSIX unknown {No error}}. (Found in
3146        unplanned test - no incident logged at SourceForge.)
3147
31482004-05-19  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
3149
3150        * tests/interp.test (interp-34.3): Rewrite this test to see if a time
3151        limit can catch a tight bytecode loop, a maximally aggressive
3152        denial-of-service attack.
3153        * generic/tclInterp.c (Tcl_LimitCheck): Fix the sense of checks to see
3154        whether a time limit has been extended.
3155
3156        * tests/*.test: Many minor fixes, including ensuring that every test
3157        is run (so constraints control whether the test is doing anything) and
3158        making sure that constraints are always set using the API instead of
3159        poking around inside tcltest's internal datastructures. Also got rid
3160        of all trailing whitespace lines from the test suite!
3161
31622004-05-19  Andreas Kupries  <andreask@activestate.com>
3163
3164        * generic/tclIO.c: Fixed [SF Tcl Bug 943274]. This is the same problem
3165        * generic/tclIO.h: as [SF Tcl Bug 462317], see ChangeLog entry
3166        2001-09-26. The fix done at that time is incomplete. It is possible to
3167        get around it if the actual read operation is defered and not executed
3168        in the event handler itself. Instead of tracking if we are in an read
3169        caused by a synthesized fileevent we now track if the OS has delivered
3170        a true event = actual data and bypass the driver if a read finds that
3171        there is no actual data waiting. The flag is cleared by a short or
3172        full read.
3173
3174        ***POTENTIAL INCOMPATIBILITY*** for channel drivers.
3175
31762004-05-17  Vince Darley  <vincentdarley@users.sourceforge.net>
3177
3178        * generic/tclPathObj.c: fix to (Bug 956063) in 'file dirname'.
3179        * tests/cmdAH.test: added test for this bug.
3180
3181        * doc/FileSystem.3: better documentation of refCount requirements of
3182        some FS functions (Bug 956126)
3183
31842004-05-19  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
3185
3186        * generic/tclTest.c (TestgetintCmd): Made the tests in get.test check
3187        * tests/get.test:                    Tcl_GetInt() since the core now
3188                                             avoids that function.
3189
31902004-05-18  Kevin B. Kenny  <kennykb@acm.org>
3191
3192        * compat/strftime.c (_fmt, ISO8601Week):
3193        * doc/clock.n:
3194        * tests/clock.test: Major rework to the handling of ISO8601 week
3195        numbers. Now passes all the %G and %V test cases on Windows, Linux and
3196        Solaris [Bugs 500285, 500389, and 852944]
3197
31982004-05-18  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
3199
3200        * doc/append.n, doc/upvar.n: Added example.
3201
32022004-05-18  David Gravereaux <davygrvy@pobox.com>
3203
3204        * win/makefile.vc: now generates a tclConfig.sh from Pat Thoyts [Patch
3205        909911]
3206
32072004-05-18  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
3208
3209        * doc/lsearch.n: Improve clarity (based on [Patch 955361] by Peter
3210        Spjuth)
3211
3212        * tools/man2help2.tcl (macro,SHmacro): Added support for subsection
3213        (.SS) header macros.
3214
3215        * doc/interp.n: Added user documentation for the TIP#143 resource
3216        limits and some examples.
3217
3218        * generic/tclInterp.c (Tcl_LimitCheck, Tcl_LimitTypeReset): Reset the
3219        limit-exceeded flag when removing a limit.
3220
32212004-05-18  Miguel Sofer <msofer@users.sf.net>
3222
3223        * generic/tclExecute.c (TclExecuteByteCode): added comments to
3224        classify the variables according to their use in TEBC.
3225
32262004-05-17  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
3227
3228        * doc/global.n, doc/uplevel.n: Added an example.
3229
3230        * tests/info.test (info-3.1): Corrected test result back to what it
3231        used to be in Tcl 7.* now that command counts are being correctly kept
3232
3233        * generic/tclExecute.c (TEBC:INST_START_CMD): Make sure that the
3234        command-count is always advanced. Allows TIP#143 limits to tell that
3235        work is being done.
3236
3237        * doc/list.n: Updated example to fit with the unified format.
3238        * doc/seek.n: Added some examples.
3239
32402004-05-17  Vince Darley  <vincentdarley@users.sourceforge.net>
3241
3242        * win/tclWinFile.c:
3243        * tests/cmdAH.test: fix to (Bug 954263) where 'file executable' was
3244        case-sensitive.
3245
32462004-05-17  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
3247
3248        * doc/OpenFileChnl.3: Documented type of 'offset' argument to Tcl_Seek
3249        was wrong. [Bug 953374]
3250
32512004-05-16  Miguel Sofer <msofer@users.sf.net>
3252
3253        * generic/tclExecute.c (TclExecuteByteCode): remove one level of
3254        indirection for compiledLocals addressing.
3255
32562004-05-16  Miguel Sofer <msofer@users.sf.net>
3257
3258        * generic/tclExecute.c (INST_CALL_FUNC1): bugfix; restored
3259        (DE)CACHE_STACK_INFO pair around the call - the user defined math
3260        function could cause a recursive call to TEBC.
3261
32622004-05-16  Miguel Sofer <msofer@users.sf.net>
3263
3264        * generic/tclBasic.c (Tcl_DeleteInterp):
3265        * generic/tclExecute.c (INST_START_CMD): interp deletion now modifies
3266        the compileEpoch, eliminating the need for the check for interp
3267        deletion in INST_START_CMD.
3268
32692004-05-16  Miguel Sofer <msofer@users.sf.net>
3270
3271        * generic/tclCompile.h:
3272        * generic/tclCompile.c:
3273        * generic/tclExecute.c: changed implementation of {expand}, last
3274        chance while in alpha as ...
3275
3276        ***POTENTIAL INCOMPATIBILITY***
3277        Scripts precompiled with ProComp under previous tcl8.5a versions may
3278        malfunction due to changed instruction numbers for
3279        INST_LIST_INDEX_IMM, INST_LIST_RANGE_IMM and INST_START_CMD.
3280
32812004-05-14  Kevin B. Kenny  <kennykb@acm.org>
3282
3283        * generic/tclInt.decls:      Promoted TclpLocaltime and TclpGmtime
3284        * generic/tclIntDecls.h:     from Unix-specific stubs to the generic
3285        * generic/tclIntPlatDecls.h: internal Stubs table. Reran 'genstubs'
3286        * generic/tclStubInit.c:
3287        * unix/tclUnixPort.h:
3288
3289        * generic/tclClock.c: Changed a buggy 'GMT' timezone specification
3290                              to the correct 'GMT0'. [Bug 922848]
3291
3292        * unix/tclUnixThrd.c: Moved TclpGmtime and TclpLocaltime to
3293                              unix/tclUnixTime.c where they belong.
3294
3295        * unix/tclUnixTime.c (TclpGmtime, TclpLocaltime, TclpGetTimeZone,
3296                              ThreadSafeGMTime [removed],
3297                              ThreadSafeLocalTime [removed],
3298                              SetTZIfNecessary, CleanupMemory):
3299        Restructured to make sure that the same mutex protects all calls to
3300        localtime, gmtime, and tzset. Added a check in front of those calls to
3301        make sure that the TZ env var hasn't changed since the last call to
3302        tzset, and repeat tzset if necessary. [Bug 942078] Removed a buggy
3303        test of the Daylight Saving Time information in 'gettimeofday' in
3304        favor of applying 'localtime' to a known value. [Bug 922848]
3305
3306        * tests/clock.test (clock-3.14): Added test to make sure that changes
3307        to $env(TZ) take effect immediately.
3308
3309        * win/tclWinTime.c (TclpLocaltime, TclpGmtime): Added porting layer
3310        for 'localtime' and 'gmtime' calls.
3311
33122004-05-14  Miguel Sofer <msofer@users.sf.net>
3313
3314        * generic/tclExecute.c:
3315        * generic/tclCompile.h: the math functions receive a pointer to top of
3316        the stack (tosPtr) instead of the execution environment (eePtr). First
3317        step towards a change in the execution stack management - it is now
3318        only used within TEBC.
3319
33202004-05-13  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
3321
3322        TIP#143 IMPLEMENTATION
3323
3324        * generic/tclExecute.c (TclCompEvalObj, TclExecuteByteCode):
3325        * generic/tclBasic.c (TclEvalObjvInternal): Enable limit checking.
3326        * generic/tclInterp.c (Tcl_Limit*): Public limit API.
3327        * generic/tcl.decls:
3328        * tests/interp.test: Basic tests of command limits.
3329
3330        * doc/binary.n:         TIP#129 IMPLEMENTATION [Patch 858211]
3331        * generic/tclBinary.c:  Note that the test suite probably has many more
3332        * tests/binary.test:    failures now due to alterations in constraints.
3333
33342004-05-12  Miguel Sofer <msofer@users.sf.net>
3335
3336        Optimisations for INST_START_CMD [Bug 926164].
3337        * generic/tclCompile.c (TclCompileScript): avoid emitting
3338        INST_START_CMD as the first instruction in a bytecoded Tcl_Obj. It is
3339        not needed, as the checks are done before calling TEBC.
3340        * generic/tclExecute.c (TclExecuteByteCode): runtime peephole
3341        optimisation: check at INST_POP if the next instruction is
3342        INST_START_CMD, in which case we fall through.
3343
33442004-05-11  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
3345
3346        * doc/split.n, doc/join.n: Updated examples and added more.
3347
33482004-05-11  Vince Darley  <vincentdarley@users.sourceforge.net>
3349
3350        * doc/glob.n: documented behaviour of symbolic links with 'glob -types
3351        d' (Bug 951489)
3352
33532004-05-11  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
3354
3355        * doc/scan.n: Updated the examples to be clearer about their relevance
3356        to the scan command.
3357
33582004-05-10  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
3359
3360        * doc/scan.n: Added examples.
3361
33622004-05-10  David Gravereaux <davygrvy@pobox.com>
3363
3364        * win/tclWinPipe.c (BuildCommandLine): Moved non-obvious appending
3365        logic to outside the loop and added commentary for its purpose. Also
3366        use the existence of contents in the linePtr rather than the scratch
3367        DString post the append, as this more clear.
3368
3369        (TclpCreateProcess): When under NT, with no console, and executing a
3370        DOS application, the path priming does not need an ending space as
3371        BuildCommandLine() will do this for us.
3372
33732004-05-08  Vince Darley  <vincentdarley@users.sourceforge.net>
3374
3375        * generic/tclFileName.c:
3376        * generic/tclIOUtil.c: remove some compiler warnings on MacOS X.
3377
33782004-05-07  Chengye Mao <chengye.geo@yahoo.com>
3379
3380        * win/tclWinPipe.c: refixed bug 789040 re-entered in rev 1.41. Let's
3381        be careful and don't re-enter previously fixed bugs.
3382
33832004-05-08  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
3384
3385        * doc/format.n: Added examples.
3386
33872004-05-07  Miguel Sofer <msofer@users.sf.net>
3388
3389        * doc/unset.n: added upvar.n to the "see also" list
3390
33912004-05-07  Reinhard Max  <max@suse.de>
3392
3393        * generic/tclEncoding.c:
3394        * tests/encoding.test: added support and tests for translating
3395        embedded null characters between real nullbytes and the internal
3396        representation on input/output [Bug 949905].
3397
33982004-05-07  Vince Darley  <vincentdarley@users.sourceforge.net>
3399
3400        * generic/tclFileName.c:
3401        * generic/tclIOUtil.c:
3402        * generic/tclFileSystem.h:
3403        * tests/fileSystem.test: fix for [Bug 943995], in which vfs-registered
3404        root volumes were not handled correctly as glob patterns in all
3405        circumstances.
3406
34072004-05-06  Miguel Sofer <msofer@users.sf.net>
3408
3409        * generic/tclInt.h:
3410        * generic/tclObj.c (TclFreeObj): made TclFreeObj use the new macro
3411        TclFreeObjMacro(), so that the allocation and freeing of Tcl_Obj is
3412        defined in a single spot (the macros in tclInt.h), with the exception
3413        of the TCL_MEM_DEBUG case.
3414        The #ifdef logic for the corresponding macros has been reformulated to
3415        make it clearer.
3416
34172004-05-05  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
3418
3419        * doc/break.n, doc/continue.n, doc/for.n, doc/while.n: More examples.
3420
34212004-05-05  Don Porter  <dgp@users.sourceforge.net>
3422
3423        * tests/unixInit.test (unixInit-2.10):  Test correction for Mac OSX.
3424        Be sure to consistently compare normalized path names. Thanks to
3425        Steven Abner (tauvan). [Bug 948177]
3426
34272004-05-05  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
3428
3429        * doc/CrtObjCmd.3: Remove reference to Tcl_RenameCommand; there is no
3430        such API. [Bug 848440]
3431
34322004-05-05  David Gravereaux <davygrvy@pobox.com>
3433
3434        * win/tclWinSock.c (SocketEventProc) : connect errors should fire both
3435        the readable and writable handlers because this is how it works on
3436        UNIX [Bug 794839]
3437
3438        * generic/tclEncoding.c (TclFinalizeEncodingSubsystem):
3439        FreeEncoding(systemEncoding); moved to before the hash table iteration
3440        as it was causing a double free attempt under some conditions.
3441
3442        * win/coffbase.txt: Added the tls extension to the list of preferred
3443        load addresses.
3444
34452004-05-04  Jeff Hobbs  <jeffh@ActiveState.com>
3446
3447        * tests/fileSystem.test (filesystem-1.39): replace 'file volumes'
3448        * tests/fileName.test (filename-12.9,10):  lindex with direct C:/
3449        hard-coded because A:/ was being used and that is empty for most.
3450
3451        * tests/winFCmd.test (winFCmd-16.12): test volumerelative $HOME
3452
34532004-05-04  Don Porter  <dgp@users.sourceforge.net>
3454
3455        * generic/tclAlloc.c:           Make sure Tclp*Alloc* routines get
3456        * generic/tclInt.h:             declared in the TCL_MEM_DEBUG and
3457        * generic/tclThreadAlloc.c:     TCL_THREADS configuration. [Bug 947564]
3458
3459        * tests/tcltest.test:   Test corrections for Mac OSX. Thanks to Steven
3460        Abner (tauvan). [Bug 947440]
3461
34622004-05-04  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
3463
3464        * generic/tclEvent.c (TclSetLibraryPath): Suppress a warning.
3465
34662004-05-03  Andreas Kupries  <andreask@activestate.com>
3467
3468        * Applied [Patch 868853], fixing a mem leak in TtySetOptionProc.
3469        Report and Patch provided by Stuart Cassoff <stwo@users.sf.net>.
3470
34712004-05-03  Miguel Sofer <msofer@users.sf.net>
3472
3473        * generic/tclProc.c (TclCreateProc): comments corrected.
3474
34752004-05-03  Miguel Sofer <msofer@users.sf.net>
3476
3477        * generic/tclCompile.c (TclCompileScript): setting the compilation
3478        namespace outside of the loop.
3479
34802004-05-03  Miguel Sofer <msofer@users.sf.net>
3481
3482        * generic/tclCompile.c:
3483        * generic/tclInt.h: reverted fix for [Bug 926445] of 2004-04-02,
3484        restoring TCL_ALIGN to the header file. Todd Helfter reported that the
3485        macro is required by tbcload.
3486
34872004-05-03  Kevin Kenny  <kennykb@acm.org>
3488
3489        * win/tclWin32Dll.c (TclpCheckStackSpace):
3490        * tests/stack.test (stack-3.1): Fix for undetected stack overflow in
3491        TclReExec on Windows. [Bug 947070]
3492
34932004-05-03  Don Porter  <dgp@users.sourceforge.net>
3494
3495        * library/init.tcl:     Corrected unique prefix matching of
3496        interactive command completion in [unknown]. [Bug 946952]
3497
34982004-05-02  Miguel Sofer <msofer@users.sf.net>
3499
3500        * generic/tclProc.c (TclObjInvokeProc):
3501        * tests/proc.test (proc-3.6): fix for bad quoting of multi-word proc
3502        names in error messages [Bug 942757]
3503
35042004-04-30  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
3505
3506        * doc/glob.n, doc/incr.n, doc/set.n:    More examples.
3507        * doc/if.n, doc/rename.n, doc/time.n:
3508
35092004-04-30  Don Porter  <dgp@users.sourceforge.net>
3510
3511        * generic/tclInt.h:             Replaced Kevin Kenny's temporary
3512        * generic/tclThreadAlloc.c:     fix for Bug 945447 with a cleaner,
3513        more permanent replacement.
3514
35152004-04-30  Kevin B. Kenny   <kennykb@acm.org>
3516
3517        * generic/tclThreadAlloc.c: Added a temporary (or so I hope!)
3518        inclusion of "tclWinInt.h" to avoid problems when compiling on
3519        Win32-VC++ with --enable-threads. [Bug 945447]
3520
35212004-04-30  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
3522
3523        * doc/puts.n: Added a few examples.
3524
35252004-04-29  Don Porter  <dgp@users.sourceforge.net>
3526
3527        * tests/execute.test (execute-8.2):     Avoid crashes when there is
3528        limited system stack space (threads-enabled).
3529
35302004-04-28  Miguel Sofer <msofer@users.sf.net>
3531
3532        * doc/global.n:
3533        * doc/upvar.n:
3534        * generic/tclVar.c (ObjMakeUpvar):
3535        * tests/upvar.test (upvar-8.11):
3536        * tests/var.test (var-3.11): Avoid creation of unusable variables:
3537        [Bug 600812] [TIP 184].
3538
35392004-04-28  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
3540
3541        * doc/lsearch.n: Fixed fault in documentation of -index option [943448]
3542
35432004-04-26  Don Porter  <dgp@users.sourceforge.net>
3544
3545        * unix/tclUnixFCmd.c (TclpObjNormalizePath):  Corrected improper
3546        positioning of returned checkpoint. [Bug 941108]
3547
35482004-04-26  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
3549
3550        * doc/open.n, doc/close.n: Updated (thanks to David Welton) to be
3551        clearer about pipeline errors and added example to open(n) that shows
3552        simple pipeline use. [Patches 941377,941380]
3553
3554        * doc/DictObj.3: Added warning about the use of Tcl_DictObjDone and an
3555        example of use of iteration. [Bug 940843]
3556
3557        * doc/Thread.3: Reworked to remove references to testing interfaces
3558        and instead promote the use of the Thread package. [Patch 932527]
3559        Also reworked and reordered the page for better readability.
3560
35612004-04-25  Don Porter  <dgp@users.sourceforge.net>
3562
3563        * generic/tcl.h:        Removed obsolete declarations and #include's.
3564        * generic/tclInt.h:     [Bugs 926459, 926486]
3565
35662004-04-24  David Gravereaux <davygrvy@pobox.com>
3567
3568        * win/tclWin32Dll.c (DllMain): Added DisableThreadLibraryCalls() for
3569        the DLL_PROCESS_ATTACH case. We're not interested in knowing about
3570        DLL_THREAD_ATTACH, so disable the notices.
3571
35722004-04-24  Daniel Steffen  <das@users.sourceforge.net>
3573
3574        * generic/tclPort.h:
3575        * macosx/Makefile:
3576        * unix/Makefile.in: followup on tcl header reform [FR 922727]: removed
3577        use of relative #include paths in tclPort.h to allow installation of
3578        private headers outside of tcl source tree; added 'unix' dir to
3579        compiler header search path; add newly required tcl private headers to
3580        Tcl.framework on Mac OSX.
3581
35822004-04-23  Andreas Kupries  <andreask@activestate.com>
3583
3584        * generic/tclIO.c (Tcl_SetChannelOption): Fixed [SF Tcl Bug 930851].
3585        When changing the eofchar we have to zap the related flags to prevent
3586        them from prematurely aborting the next read.
3587
35882004-04-25  Vince Darley  <vincentdarley@users.sourceforge.net>
3589
3590        * generic/tclPathObj.c: fix to [Bug 940281]. Tcl_FSJoinPath will now
3591        always return a valid Tcl_Obj when the input is valid.
3592        * generic/tclIOUtil.c: fix to [Bug 931823] for a more consistent
3593        Tcl_FSPathSeparator() implementation which allows filesystems not to
3594        implement their Tcl_FSFilesystemSeparatorProc if they wish to use the
3595        default '/'. Also fixed associated memory leak seen with, e.g., tclvfs
3596        package.
3597        * doc/FileSystem.3: documented Tcl_FSJoinPath return values more
3598        clearly, and Tcl_FSFilesystemSeparatorProc requirements.
3599
36002004-04-23  David Gravereaux <davygrvy@pobox.com>
3601
3602        * win/tclWin32Dll.c: Removed my mistake from 4/19 of adding an exit
3603        handler to TclWinInit. TclWinEncodingsCleanup called from
3604        TclFinalizeFilesystem does the Tcl_FreeEncoding for us.
3605
3606        * win/tclWinChan.c (Tcl_MakeFileChannel): Case for CloseHandle
3607        returning zero and not throwing a
3608        RaiseException(EXCEPTION_INVALID_HANDLE) now being done.
3609
36102004-04-22  David Gravereaux <davygrvy@pobox.com>
3611
3612        * generic/tclEvent.c: TclSetLibraryPath's use of caching the stringrep
3613        of the pathPtr object to TclGetLibraryPath called from another thread
3614        was ineffective if the original's stringrep had been invalidated as
3615        what happens when it gets muted to a list.
3616
3617        * win/tclWinTime.c: If the Tcl_ExitProc (StopCalibration) is called
3618        from the stack frame of DllMain's PROCESS_DETACH, the wait operation
3619        should timeout and continue.
3620
3621        * generic/tclInt.h:
3622        * generic/tclThread.c:
3623        * generic/tclEvent.c:
3624        * unix/tclUnixThrd.c:
3625        * win/tclWinThrd.c: Provisions made so masterLock, initLock, allocLock
3626        and joinLock mutexes can be recovered during Tcl_Finalize.
3627
36282004-04-22  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
3629
3630        * doc/switch.n: Reworked the examples to be more systematically named
3631        and to cover some TIP#75 capabilities.
3632
3633        * doc/cd.n: Documentation clarification from David Welton.
3634
3635        * doc/exec.n: Added some examples, Windows ones from Arjen Markus and
3636        Unix ones by myself.
3637
36382004-04-21  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
3639
3640        * doc/Hash.3: Added note to Tcl_{First,Next}HashEntry docs that
3641        deleting the element they return is supported (and is in fact the only
3642        safe update you can do to the structure of a hashtable while an
3643        iteration is going over it.)
3644
3645        * doc/bgerror.n: Added example from David Welton. [Patch 939473]
3646
3647        * doc/after.n: Added examples from David Welton. [Patch 938820]
3648
36492004-04-19  David Gravereaux <davygrvy@pobox.com>
3650
3651        * win/tclWin32Dll.c: Added an exit handler in TclWinInit() so
3652        tclWinTCharEncoding could be freed during Tcl_Finalize().
3653
3654        * generic/tclEncoding.c: Added FreeEncoding(systemEncoding) in
3655        TclFinalizeEncodingSubsystem because its ref count was incremented in
3656        TclInitEncodingSubsystem.
3657
36582004-04-19  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
3659
3660        * doc/read.n: Added example from David Welton. [Patch 938056]
3661
36622004-04-19  Kevin B. Kenny   <kennykb@acm.org>
3663
3664        * generic/tclObj.c (Tcl_GetDoubleFromObj) Corrected "short circuit"
3665        conversion of int to double. Reported by Jeff Hobbs on the Tcl'ers
3666        Chat.
3667
36682004-04-16  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
3669
3670        * doc/lreplace.n, doc/lrange.n, doc/llength.n:  More examples for
3671        * doc/linsert.n, doc/lappend.n:                 the documentation.
3672
36732004-04-16  Vince Darley  <vincentdarley@users.sourceforge.net>
3674
3675        * doc/FileSystem.3: Corrected documentation of Tcl_FSUtime, and the
3676        corresponding filesystem driver Tcl_FSUtimeProc. [Bug 935838]
3677
36782004-04-16  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
3679
3680        * doc/socket.n: Added example from [Patch 936245].
3681        * doc/gets.n: Added example based on [Patch 935911].
3682
36832004-04-15  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
3684
3685        * generic/tclClock.c (Tcl_ClockObjCmd): Minor fault in a [clock
3686        clicks] error message.
3687
36882004-04-07  Jeff Hobbs  <jeffh@ActiveState.com>
3689
3690        * win/tclWinInit.c (TclpSetInitialEncodings): note that WIN32_CE is
3691        also a unicode platform.
3692        * generic/tclEncoding.c (TclFindEncodings, Tcl_FindExecutable):
3693        * generic/tclInt.h:                         Correct handling of UTF
3694        * unix/tclUnixInit.c (TclpInitLibraryPath): data that is actually
3695        * win/tclWinFile.c (TclpFindExecutable):    "clean", allowing the
3696        * win/tclWinInit.c (TclpInitLibraryPath):   loading of Tcl from paths
3697        that contain multi-byte chars on Windows [Bug 920667]
3698
3699        * win/configure:    define TCL_LIB_FLAG, TCL_BUILD_LIB_SPEC,
3700        * win/configure.in: TCL_LIB_SPEC, TCL_PACKAGE_PATH in tclConfig.sh.
3701
37022004-04-06  Don Porter  <dgp@users.sourceforge.net>
3703
3704        Patch 922727 committed.  Implements three changes:
3705
3706        * generic/tclInt.h:     Reworked the Tcl header files into a clean
3707        * unix/tclUnixPort.h:   hierarchy where tcl.h < tclPort.h < tclInt.h
3708        * win/tclWinInt.h:      and every C source file should #include
3709        * win/tclWinPort.h:     at most one of those files to satisfy its
3710        declaration needs. tclWinInt.h and tclWinPort.h also better organized
3711        so that tclWinPort.h includes the Windows implementation of
3712        cross-platform declarations, while tclWinInt.h makes declarations that
3713        are available on Windows only.
3714
3715        * generic/tclBinary.c (TCL_NO_MATH):    Deleted the generic/tclMath.h
3716        * generic/tclMath.h (removed):          header file. The internal Tcl
3717        * macosx/Makefile (PRIVATE_HEADERS):    header, tclInt.h, has a
3718        * win/tcl.dsp:                          #include <math.h> directly,
3719        and file external to Tcl needing libm should do the same.
3720
3721        * win/Makefile.in (WIN_OBJS):   Deleted the win/tclWinMtherr.c file.
3722        * win/makefile.bc (TCLOBJS):    It's a vestige from matherr() days
3723        * win/makefile.vc (TCLOBJS):    gone by.
3724        * win/tcl.dsp:
3725        * win/tclWinMtherr.c (removed):
3726
3727        End Patch 922727.
3728
3729        * tests/unixInit.test (unixInit-3.1):   Default encoding on Darwin
3730        systems is utf-8. Thanks to Steven Abner (tauvan). [Bug 928808]
3731
37322004-04-06  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
3733
3734        * tests/cmdAH.test (cmdAH-18.2): Added constraint because
3735        access(...,X_OK) is defined to be permitted to be meaningless when
3736        running as root, and OSX exhibits this. [Bug 929892]
3737
37382004-04-02  Miguel Sofer <msofer@users.sf.net>
3739
3740        * generic/tclCompile.c:
3741        * generic/tclInt.h: removed the macro TCL_ALIGN() from tclInt.h,
3742        replaced by the static macro ALIGN() in tclCompile.c [Bug 926445]
3743
37442004-04-02  Miguel Sofer <msofer@users.sf.net>
3745
3746        * generic/tclCompile.h: removed redundant #ifdef _TCLINT [Bug 928415],
3747        reported by tauvan.
3748
37492004-04-02  Don Porter  <dgp@users.sourceforge.net>
3750
3751        * tests/tcltest.test: Corrected constraint typos: "nonRoot" ->
3752        "notRoot". Thanks to Steven Abner (tauvan). [Bug 928353]
3753
37542004-04-01  Don Porter  <dgp@users.sourceforge.net>
3755
3756        * generic/tclInt.h:  Removed obsolete tclBlockTime* declarations. [Bug
3757        926454]
3758
37592004-04-01  Vince Darley  <vincentdarley@users.sourceforge.net>
3760
3761        * generic/tclIOUtil.c: Fix to privately reported vfs bug with 'glob
3762        -type d -dir . *' across a vfs boundary. No tests for this are
3763        currently possible without effectively moving tclvfs into Tcl's test
3764        suite.
3765
37662004-03-31  Don Porter  <dgp@users.sourceforge.net>
3767
3768        * doc/msgcat.n: Clarified message catalog file encodings. [Bug 811457]
3769        * library/msgcat/msgcat.tcl: Updated internals to make use of [dict]s
3770        to store message catalog data and to use [source -encoding utf-8] to
3771        access catalog files. Thanks to Michael Sclenker. [Patch 875055, RFE
3772        811459] Corrected [mcset] to be able to successfully set a translation
3773        to the empty string. [mcset $loc $src {}] was incorrectly set the $loc
3774        translation of $src back to $src. Also changed [ConvertLocale] to
3775        minimally require a non-empty "language" part in the locale value. If
3776        not, an error raised prompts [Init] to keep looking for a valid locale
3777        value, or ultimately fall back on the "C" locale. [Bug 811461].
3778        * library/msgcat/pkgIndex.tcl:  Bump to msgcat 1.4.1.
3779
37802004-03-30  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
3781
3782        * generic/tclHash.c (HashStringKey): Cleaned up. This function is not
3783        faster, but it is a little bit clearer.
3784        * generic/tclLiteral.c (HashString): Applied logic from HashObjKey.
3785        * generic/tclObj.c (HashObjKey): Rewrote to fix fault which hashed
3786        every single-character object to the same hash bucket. The new code is
3787        shorter, simpler, clearer, and (happily) faster.
3788
37892004-03-30  Miguel Sofer <msofer@users.sf.net>
3790
3791        * generic/tclExecute.c (TEBC): reverting to the previous method for
3792        async tests in TEBC, as the new method turned out to be too costly.
3793        Async tests now run every 64 instructions.
3794
37952004-03-30  Miguel Sofer <msofer@users.sf.net>
3796
3797        * generic/tclCompile.c:     New instruction code INST_START_CMD that
3798        * generic/tclCompile.h:     allows checking the bytecode's validity
3799        * generic/tclExecute.c:     [Bug 729692] and the interp's readyness
3800        * tests/interp.test (18.9): [Bug 495830] before running the command.
3801        * tests/proc.test (7.1):    It also changes the mechanics of the async
3802        * tests/rename.test (6.1):  tests in TEBC, doing it now at command
3803        start instead of every 16 instructions.
3804
38052004-03-30  Vince Darley  <vincentdarley@users.sourceforge.net>
3806
3807        * generic/tclFileName.c:  Fix to Windows glob where the pattern is a
3808        * generic/tclIOUtil.c:    volume relative path or a network share [Bug
3809        * tests/fileName.test:    898238]. On windows 'glob' will now return
3810        * tests/fileSystem.test:  the results of 'glob /foo/bar' and 'glob
3811        \\foo\\bar' as 'C:/foo/bar', i.e. a correct absolute path (rather than
3812        a volume relative path).
3813
3814        Note that the test suite does not test commands like
3815        'glob //Machine/Shared/*' (on a network share).
3816
38172004-03-30  Vince Darley  <vincentdarley@users.sourceforge.net>
3818
3819        * generic/tclPathObj.c:   Fix to filename bugs recently
3820        * tests/fileName.test:    introduced [Bug 918320].
3821
38222004-03-29  Don Porter  <dgp@users.sourceforge.net>
3823
3824        * generic/tclMain.c (Tcl_Main, StdinProc):      Append newline only
3825        * tests/basic.test (basic-46.1):                to incomplete scripts
3826        as part of multi-line script construction. Do not add an extra
3827        trailing newline to the complete script. [Bug 833150]
3828
38292004-03-28  Miguel Sofer <msofer@users.sf.net>
3830
3831        * generic/tclCompile.c (TclCompileScript): corrected possible segfault
3832        when a compilation returns TCL_OUTLINE_COMPILE after having grown the
3833        compile environment [Bug 925121].
3834
38352004-03-27  Miguel Sofer <msofer@users.sf.net>
3836
3837        * doc/array.n: added documentation for trace-realted behaviour of
3838        'array get' [Bug 449893]
3839
38402004-03-26  Don Porter  <dgp@users.sourceforge.net>
3841
3842        * README:               Bumped version number to 8.5a2 to distinguish
3843        * tools/tcl.wse.in:     HEAD of CVS development from the recent 8.5a1
3844        * unix/configure.in:    release.
3845        * unix/tcl.spec:
3846        * win/README.binary:
3847        * win/configure.in:
3848
3849        * unix/configure:       autoconf-2.57
3850        * win/configure:
3851
38522004-03-26  Vince Darley  <vincentdarley@users.sourceforge.net>
3853
3854        * generic/tclPathObj.c:   Fix to Windows-only volume relative path
3855        * tests/fileSystem.test:  normalization. [Bug 923568]. Also fixed
3856        another volume relative bug found while testing.
3857
38582004-03-24  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
3859
3860        * generic/tclNamesp.c (NsEnsembleImplementationCmd): Fix messed up
3861        handling of strncmp result which just happened to work in some libc
3862        implementations. [Bug 922752]
3863
38642004-03-23  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
3865
3866        * doc/StringObj.3: Inverted the sense of the documentation of how the
3867        bytes parameter is documented to match behaviour. [Bug 921464]
3868
38692004-03-19  Kevin B. Kenny   <kennykb@acm.org>
3870
3871        * compat/strtoll.c:
3872        * compat/strtoull.c:
3873        * generic/tclIntDecls.h:
3874        * generic/tclMain.c:
3875        * generic/tclObj.c:
3876        * win/tclWinDde.c:
3877        * win/tclWinReg.c:
3878        * win/tclWinTime.c:        Made HEAD build on Windows VC++ again.
3879
38802004-03-19  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
3881
3882        * generic/tclIntDecls.h: Made HEAD build on Solaris again by applying
3883        fix recommended by Don Porter.
3884
38852004-03-18  Reinhard Max  <max@suse.de>
3886
3887        * generic/tclIntDecls.h: Removed TclpTime_t. It wasn't really needed,
3888        * generic/tclInt.h:      but caused warnings related to
3889        * generic/tclInt.decls:  strict aliasing with GCC 3.3.
3890        * generic/tclClock.c:
3891        * generic/tclDate.c:
3892        * generic/tclGetDate.y:
3893        * win/tclWinTime.c:
3894        * unix/tclUnixTime.c:
3895
3896        * generic/tclNamesp.c:   Added temporary pointer variables to work
3897        * generic/tclStubLib.c:  around warnings related to
3898        * unix/tclUnixChan.c:    strict aliasing with GCC 3.3.
3899
3900        * unix/tcl.m4:           Removed -Wno-strict-aliasing.
3901
39022004-03-18  Daniel Steffen  <das@users.sourceforge.net>
3903
3904        Removed support for Mac OS Classic platform [Patch 918142]
3905
3906        * README:
3907        * compat/string.h:
3908        * doc/Encoding.3:
3909        * doc/FileSystem.3:
3910        * doc/Init.3:
3911        * doc/Macintosh.3 (removed):
3912        * doc/OpenFileChnl.3:
3913        * doc/OpenTcp.3:
3914        * doc/SourceRCFile.3:
3915        * doc/Thread.3:
3916        * doc/clock.n:
3917        * doc/exec.n:
3918        * doc/fconfigure.n:
3919        * doc/file.n:
3920        * doc/filename.n:
3921        * doc/glob.n:
3922        * doc/open.n:
3923        * doc/puts.n:
3924        * doc/resource.n (removed):
3925        * doc/safe.n:
3926        * doc/source.n:
3927        * doc/tclvars.n:
3928        * doc/unload.n:
3929        * generic/README:
3930        * generic/tcl.decls:
3931        * generic/tcl.h:
3932        * generic/tclAlloc.c:
3933        * generic/tclBasic.c:
3934        * generic/tclCmdAH.c:
3935        * generic/tclDate.c:
3936        * generic/tclDecls.h:
3937        * generic/tclFCmd.c:
3938        * generic/tclFileName.c:
3939        * generic/tclGetDate.y:
3940        * generic/tclIOCmd.c:
3941        * generic/tclIOUtil.c:
3942        * generic/tclInitScript.h:
3943        * generic/tclInt.decls:
3944        * generic/tclInt.h:
3945        * generic/tclIntDecls.h:
3946        * generic/tclIntPlatDecls.h:
3947        * generic/tclMain.c:
3948        * generic/tclMath.h:
3949        * generic/tclNotify.c:
3950        * generic/tclPathObj.c:
3951        * generic/tclPlatDecls.h:
3952        * generic/tclPort.h:
3953        * generic/tclStubInit.c:
3954        * generic/tclTest.c:
3955        * generic/tclThreadJoin.c:
3956        * library/auto.tcl:
3957        * library/init.tcl:
3958        * library/package.tcl:
3959        * library/safe.tcl:
3960        * library/tclIndex:
3961        * mac/AppleScript.html (removed):
3962        * mac/Background.doc (removed):
3963        * mac/MW_TclAppleScriptHeader.h (removed):
3964        * mac/MW_TclAppleScriptHeader.pch (removed):
3965        * mac/MW_TclBuildLibHeader.h (removed):
3966        * mac/MW_TclBuildLibHeader.pch (removed):
3967        * mac/MW_TclHeader.h (removed):
3968        * mac/MW_TclHeader.pch (removed):
3969        * mac/MW_TclHeaderCommon.h (removed):
3970        * mac/MW_TclStaticHeader.h (removed):
3971        * mac/MW_TclStaticHeader.pch (removed):
3972        * mac/MW_TclTestHeader.h (removed):
3973        * mac/MW_TclTestHeader.pch (removed):
3974        * mac/README (removed):
3975        * mac/bugs.doc (removed):
3976        * mac/libmoto.doc (removed):
3977        * mac/morefiles.doc (removed):
3978        * mac/porting.notes (removed):
3979        * mac/tclMac.h (removed):
3980        * mac/tclMacAETE.r (removed):
3981        * mac/tclMacAlloc.c (removed):
3982        * mac/tclMacAppInit.c (removed):
3983        * mac/tclMacApplication.r (removed):
3984        * mac/tclMacBOAAppInit.c (removed):
3985        * mac/tclMacBOAMain.c (removed):
3986        * mac/tclMacChan.c (removed):
3987        * mac/tclMacCommonPch.h (removed):
3988        * mac/tclMacDNR.c (removed):
3989        * mac/tclMacEnv.c (removed):
3990        * mac/tclMacExit.c (removed):
3991        * mac/tclMacFCmd.c (removed):
3992        * mac/tclMacFile.c (removed):
3993        * mac/tclMacInit.c (removed):
3994        * mac/tclMacInt.h (removed):
3995        * mac/tclMacInterupt.c (removed):
3996        * mac/tclMacLibrary.c (removed):
3997        * mac/tclMacLibrary.r (removed):
3998        * mac/tclMacLoad.c (removed):
3999        * mac/tclMacMath.h (removed):
4000        * mac/tclMacNotify.c (removed):
4001        * mac/tclMacOSA.c (removed):
4002        * mac/tclMacOSA.r (removed):
4003        * mac/tclMacPanic.c (removed):
4004        * mac/tclMacPkgConfig.c (removed):
4005        * mac/tclMacPort.h (removed):
4006        * mac/tclMacProjects.sea.hqx (removed):
4007        * mac/tclMacResource.c (removed):
4008        * mac/tclMacResource.r (removed):
4009        * mac/tclMacSock.c (removed):
4010        * mac/tclMacTclCode.r (removed):
4011        * mac/tclMacTest.c (removed):
4012        * mac/tclMacThrd.c (removed):
4013        * mac/tclMacThrd.h (removed):
4014        * mac/tclMacTime.c (removed):
4015        * mac/tclMacUnix.c (removed):
4016        * mac/tclMacUtil.c (removed):
4017        * mac/tcltkMacBuildSupport.sea.hqx (removed):
4018        * tests/all.tcl:
4019        * tests/binary.test:
4020        * tests/cmdAH.test:
4021        * tests/cmdMZ.test:
4022        * tests/fCmd.test:
4023        * tests/fileName.test:
4024        * tests/fileSystem.test:
4025        * tests/interp.test:
4026        * tests/io.test:
4027        * tests/ioCmd.test:
4028        * tests/load.test:
4029        * tests/macFCmd.test (removed):
4030        * tests/osa.test (removed):
4031        * tests/resource.test (removed):
4032        * tests/socket.test:
4033        * tests/source.test:
4034        * tests/unload.test:
4035        * tools/cvtEOL.tcl (removed):
4036        * tools/genStubs.tcl:
4037        * unix/Makefile.in:
4038        * unix/README:
4039        * unix/mkLinks:
4040        * unix/tcl.spec:
4041        * win/README.binary:
4042        * win/tcl.dsp:
4043
40442004-03-17  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
4045
4046        * doc/lsearch.n: Improved examples on the advanced capabilities of
4047        lsearch (with the right options, set element removal can be done)
4048        following discussion on tkchat.
4049
40502004-03-16  Don Porter  <dgp@users.sourceforge.net>
4051
4052        * doc/catch.n:  Compiled [catch] no longer fails to catch syntax
4053        errors. Removed the claims in the documentation that it does.
4054        * doc/return.n: Updated example to use [dict merge].
4055
40562004-03-16  Jeff Hobbs  <jeffh@ActiveState.com>
4057
4058        * unix/configure, unix/tcl.m4: add -Wno-strict-aliasing for GCC to
4059        suppress useless type puning warnings.
4060
40612004-03-16  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
4062
4063        * doc/file.n: *roff formatting fix. [Bug 917171]
4064
40652004-03-15  David Gravereaux <davygrvy@pobox.com>
4066
4067        * win/tclWinNotify.c: Fixed a mistake where the return value of
4068        MsgWaitForMultipleObjectsEx for "a message is in the queue" wasn't
4069        accurate. I removed the check on the case result==(WAIT_OBJECT_0 + 1)
4070        This was having the error of falling into GetMessage and waiting there
4071        by accident, which wasn't alertable through Tcl_AlertNotifier. I'll do
4072        some more study on this and try to find-out why.
4073
40742004-03-12  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
4075
4076        IMPLEMENTATION OF TIP#163
4077        * generic/tclDictObj.c (DictMergeCmd):  This is based on work by Joe
4078        * tests/dict.test (dict-20.*):          English in Tcl [FRQ 745851]
4079        * doc/dict.n:                           but not exactly.
4080
40812004-03-10  Kevin B. Kenny <kennykb@acm.org>
4082
4083        * generic/tclGetDate.y (TclGetDate): Fix so that [clock scan
4084        <timeOfDay> -gmt true] uses the GMT base date instead of the local
4085        one. [Bug 913513]
4086        * tests/clock.test: Added test cases for wrong ISO8601 week number
4087        [Bug 500285] and wrong GMT base date [Bug 913513]. Several tests still
4088        fail on Windows, and these are actual faults in [clock scan]. Fix is
4089        still pending.
4090        * generic/tclDate.c: Regenerated.
4091
40922004-03-08  Vince Darley  <vincentdarley@users.sourceforge.net>
4093
4094        * generic/tclFileName.c:  Fix to 'glob -path' near the root
4095        * tests/fileName.test:    of the filesystem. [Bug 910525]
4096
40972004-03-08  Don Porter  <dgp@users.sourceforge.net>
4098
4099        * generic/tclParse.c (TclParseInit):    Modified TclParseInit so
4100        * generic/tclTest.c ([testexprparser]): that Tcl_Parse initialization
4101        conforms to documented promised about what fields will not be
4102        modified by what Tcl_Parse* routines. [Bug 910595]
4103
41042004-03-05  Mo DeJong  <mdejong@users.sourceforge.net>
4105
4106        * win/configure: Regen.
4107        * win/configure.in: Check for define of MWMO_ALERTABLE in winuser.h.
4108        * win/tclWinPort.h: If MWMO_ALERTABLE is not defined in winuser.h then
4109        define it. This is needed for Mingw.
4110
41112004-03-05  Kevin B. Kenny <kennykb@acm.org>
4112
4113        * generic/tclTest.c: Modified TesteventObjCmd to use a
4114        Tcl_QueuePosition in place of an 'int' for the enumerated queue
4115        position, to avoid a compiler warning on SGI. [Bug 771960]
4116
41172004-03-05  Kevin B. Kenny <kennykb@acm.org>
4118
4119        * tests/registry.test: Applied fix from [Patch 910174] to make the test
4120        for an English-language system include any country code, rather than
4121        just English-United States.1252. Thanks to Pat Thoyts for the changes.
4122
41232004-03-04  Pat Thoyts  <patthoyts@users.sourceforge.net>
4124
4125        * tests/registry.test: Applied fixed from [Bug 766159] to skip two
4126        tests on Win98 that depend on a Unicode registry (NT specific).
4127
41282004-03-04  Don Porter  <dgp@users.sourceforge.net>
4129
4130        * generic/tclInt.h (TclParseInit):      Factored the common code
4131        * generic/tclParse.c (TclParseInit):    for initializing a Tcl_Parse
4132        * generic/tclParseExpr.c:               struct into one routine.
4133
41342004-03-04  Pat Thoyts  <patthoyts@users.sourceforge.net>
4135
4136        * library/reg/pkgIndex.tcl:  Added TIP #100 support to the
4137        * win/tclWinReg.c:           registry package [patch 903831]
4138        This provides a Windows test of the TIP #100 mechanism and a sample to
4139        show how unloading an extension can be done.
4140
41412004-03-04  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
4142
4143        * unix/dltest/pkgua.c: Fix minor syntax problems. [Bug 909288]
4144
41452004-03-03  Jeff Hobbs  <jeffh@ActiveState.com>
4146
4147        *** 8.5a1 TAGGED FOR RELEASE ***
4148
4149        * changes: updated for 8.5a1
4150
41512004-03-03  David Gravereaux <davygrvy@pobox.com>
4152
4153        * win/makefile.vc: default environment variable for VC++ is %MSDevDir%
4154        not %MSVCDir%, although vcvars32.bat sets both.
4155
4156        * win/tclWinNotify.c (Tcl_WaitForEvent) : Allows an idling notifier to
4157        service "Asynchronous Procedure Calls" from its wait state. Only
4158        useful for extension authors who decide they might want to try
4159        "completion routines" with WriteFileEx(), as an example. From
4160        experience, I recommend that "completion ports" should be used instead
4161        as the execution of the callbacks are more managable.
4162
41632004-03-01  Jeff Hobbs  <jeffh@ActiveState.com>
4164
4165        * README:           update patchlevel to 8.5a1
4166        * generic/tcl.h:
4167        * tools/tcl.wse.in, tools/tclSplash.bmp:
4168        * unix/configure, unix/configure.in, unix/tcl.spec:
4169        * win/README.binary, win/configure, win/configure.in:
4170
4171        * unix/tcl.m4: update HP-11 build libs setup
4172
41732004-03-01  Don Porter  <dgp@users.sourceforge.net>
4174
4175        * unix/tcl.m4 (SC_CONFIG_CFLAGS):       Allow 64-bit enabling on
4176        IRIX64-6.5* systems. [Bug 218561]
4177        * unix/configure:       autoconf-2.57
4178
4179        * generic/tclTrace.c (TclCheckInterpTraces):    The TIP 62
4180        * generic/tclTest.c (TestcmdtraceCmd):  implementation introduced a
4181        * tests/trace.test (trace-29.10):       bug by testing the CallFrame
4182        level instead of the iPtr->numLevels level when deciding what traces
4183        created by Tcl_Create(Obj)Trace to call. Added test to expose the
4184        error, and made fix. [FRQ 462580]
4185
41862004-02-28  Vince Darley  <vincentdarley@users.sourceforge.net>
4187
4188        * tests/fileSystem.test: fix to Tcl Bug 905163.
4189        * tests/fileName.test: fix to Tcl Bug 904705.
4190
4191        * doc/{various}.n: removed 'the the' typos.
4192
41932004-02-26  Daniel Steffen  <das@users.sourceforge.net>
4194
4195        * macosx/Makefile: fixed copyright year in Tcl.framework Info.plist
4196
41972004-02-25  Don Porter  <dgp@users.sourceforge.net>
4198
4199        * tests/basic.test:     Made several tests more robust to the
4200        * tests/cmdMZ.test:     list-quoting of path names that might contain
4201        * tests/exec.test:      Tcl-special chars like { or [. Should help us
4202        * tests/io.test:        sort out [Bug 554068]
4203        * tests/pid.test:
4204        * tests/socket.test:
4205        * tests/source.test:
4206        * tests/unixInit.test:
4207
42082004-02-25  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
4209
4210        * generic/tclLoad.c (Tcl_LoadObjCmd): Missing dereference caused
4211        segfault with non-loadable extension. [Bug 904307]
4212
4213        * unix/tclUnixChan.c (TcpGetOptionProc): Stop memory leak with very
4214        long hostnames. [Bug 888777]
4215
42162004-02-25  Pat Thoyts  <patthoyts@users.sourceforge.net>
4217
4218        * win/tclWinDde.c: Removed some gcc warnings - except for the
4219        -Wconversion warning for GetGlobalAtomName. gcc is just wrong about
4220        this.
4221
42222004-02-24  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
4223
4224        IMPLEMENTATION OF TIP#100 FROM GEORGIOS PETASIS
4225        * generic/tclLoad.c (Tcl_UnloadObjCmd): Implementation.
4226        * tests/unload.test:                    Test suite.
4227        * unix/dltest/pkgua.c:                  Helper for test suite.
4228        * doc/unload.n:                         Documentation.
4229        Also assorted changes (mostly small) to several other files.
4230
42312004-02-23  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
4232
4233        * generic/regc_locale.c (cclass): Buffer was having its size reset
4234        instead of being released => memleak. [Bug 902562]
4235
42362004-02-21  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
4237
4238        * generic/tclLoad.c (Tcl_LoadObjCmd): Fixed memory leak due to an
4239        improper error exit route.
4240
42412004-02-20  David Gravereaux <davygrvy@pobox.com>
4242
4243        * win/tclWinSock.c (SocketThreadExitHandler): Don't call
4244        TerminateThread when WaitForSingleObject returns a timeout.
4245        Tcl_Finalize called from DllMain will pause all threads. Trust that
4246        the thread will get the close notice at a later time if it does ever
4247        wake up before being cleaned up by the system anyway.
4248
42492004-02-17  Don Porter  <dgp@users.sourceforge.net>
4250
4251        * doc/tcltest.n:
4252        * library/tcltest/tcltest.tcl:  Changed -verbose default value to
4253        {body error} so that detailed information on unexpected errors in
4254        tests is provided by default, even after the fix for [Bug 725253]
4255
42562004-02-17  Jeff Hobbs  <jeffh@ActiveState.com>
4257
4258        * tests/unixInit.test (unixInit-7.1):
4259        * unix/tclUnixInit.c (TclpInitPlatform): ensure the std fds exist to
4260        prevent crash condition [Bug 772288]
4261
42622004-02-17  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
4263
4264        * generic/tclCompCmds.c (TclCompileSwitchCmd): Bozo mistake in memory
4265        releasing order when in an error case. [Bug 898910]
4266
42672004-02-16  Jeff Hobbs  <jeffh@ActiveState.com>
4268
4269        * generic/tclTrace.c (TclTraceExecutionObjCmd)
4270        (TclTraceCommandObjCmd): fix possible mem leak in trace info.
4271
42722004-02-12  Mo DeJong  <mdejong@users.sourceforge.net>
4273
4274        * win/tclWinInit.c (AppendEnvironment): Use the tail component of the
4275        passed in lib path instead of just blindly using lib+4. That worked
4276        when lib was "lib/..." but fails for other values. Thanks go to
4277        Patrick Samson for pointing this out.
4278
42792004-02-10  David Gravereaux  <davygrvy@pobox.com>
4280
4281        * win/nmakehlp.c: better macro grepping logic.
4282
42832004-02-07  David Gravereaux  <davygrvy@pobox.com>
4284
4285        * win/makefile.vc:
4286        * win/rules.vc:
4287        * win/tcl.rc:
4288        * win/tclsh.rc: Added an 'unchecked' option to the OPTS macro so a
4289        core built with symbols can be linked to the non-debug enabled C
4290        run-time. As per discussion with Kevin Kenny. Called like this:
4291
4292                nmake -af makefile.vc OPTS=unchecked,symbols
4293
4294        This clarifies the meaning of the 'g' naming suffix to mean only that
4295        the binary requires the debug enabled C run-time. Whether the binary
4296        contains symbols or not is a different condition.
4297
42982004-02-06  Don Porter  <dgp@users.sourceforge.net>
4299
4300        * doc/clock.n:  Removed reference to non-existent [file ctime].
4301
43022004-02-05  David Gravereaux  <davygrvy@pobox.com>
4303
4304        * docs/tclvars.n: Added clarification of the tcl_platform(debug) var
4305        that it only refers to the flavor of the C run-time, and not whether
4306        the core contains symbols.
4307
43082004-02-05  Don Porter  <dgp@users.sourceforge.net>
4309
4310        * generic/tclFileName.c (SkipToChar): Corrected CONST and type-casting
4311        issues that caused compiler warnings.
4312
43132004-02-04  Don Porter  <dgp@users.sourceforge.net>
4314
4315        * generic/tclCmdAH.c (StoreStatData): Removed improper refcount
4316        decrement of the varName parameter. This error was causing segfaults
4317        following test cmdAH-28.7.
4318
4319        * library/tcltest/tcltest.tcl: Corrected references to non-existent
4320        $name variable in [cleanupTests]. [Bug 833637]
4321
43222004-02-03  Don Porter  <dgp@users.sourceforge.net>
4323
4324        * library/tcltest/tcltest.tcl:  Corrected parsing of single command
4325        line argument (option with missing value) [Bug 833910]
4326        * library/tcltest/pkgIndex.tcl: Bump to version 2.2.5.
4327
43282004-02-02  David Gravereaux <davygrvy@pobox.com>
4329
4330        * generic/tclIO.c (Tcl_Ungets): Fixes improper filling of the channel
4331        buffer. This is the buffer before the splice. [Bug 405995]
4332
43332004-02-01  David Gravereaux <davygrvy@pobox.com>
4334
4335        * tests/winPipe.test: more pass-thru commandline verifications.
4336        * win/tclWinPipe.c (BuildCommandLine): Special case quoting for '{'
4337        not required by the c-runtimes's parse_cmdline().
4338        * win/tclAppInit.c: Removed our custom setargv() in favor of the work
4339        provided by the c-runtime. [Bug 672938]
4340
4341        * win/nmakehlp.c: defensive techniques to avoid static buffer
4342        overflows and a couple envars upsetting invokations of cl.exe and
4343        link.exe. [Bug 885537]
4344
4345        * tests/winPipe.test: Added proof that BuildCommandLine() is not doing
4346        the "N backslashes followed a quote -> insert N * 2 + 1 backslashes
4347        then a quote" rule needed for the crt's parse_cmdline().
4348        * win/tclWinPipe.c: Fixed BuildCommandLine() to pass the new cases.
4349
43502004-01-30  David Gravereaux <davygrvy@pobox.com>
4351
4352        * win/makefile.vc: Use the -GZ compiler switch when building for
4353        symbols. This is supposed to emulate the release build better to avoid
4354        hiding problems that only show themselves in a release build.
4355
43562004-01-29  Vince Darley  <vincentdarley@users.sourceforge.net>
4357
4358        * generic/tclPathObj.c: fix to [Bug 883143] in file normalization
4359
43602004-01-29  Vince Darley  <vincentdarley@users.sourceforge.net>
4361
4362        * doc/file.n:
4363        * generic/tclFCmd.c
4364        * generic/tclTest.c
4365        * library/init.tcl
4366        * mac/tclMacFile.c
4367        * tests/fileSystem.test: fix to [Bug 886352] where 'file copy -force'
4368        had inconsistent behaviour wrt target files with insufficient
4369        permissions, particular from vfs->native fs. Behaviour of '-force' is
4370        now always consistent (and now consistent with behaviour of 'file
4371        delete -force'). Added new tests and documentation and cleaned up the
4372        'simplefs' test filesystem.
4373
4374        * generic/tclIOUtil.c
4375        * unix/tclUnixFCmd.c
4376        * unix/tclUnixFile.c
4377        * win/tclWinFile.c: made native filesystems more robust to C code
4378        which asks for mount lists.
4379
4380        * generic/tclPathObj.c: fix to [Bug 886607] removing warning/error
4381        with some compilers.
4382
43832004-01-28  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
4384
4385        * generic/tclObj.c (SetBooleanFromAny): Rewrite to do more efficient
4386        string->bool conversion.
4387        Many other minor whitespace/style fixes to this file too.
4388
43892004-01-27  David Gravereaux <davygrvy@pobox.com>
4390
4391        * win/nmakehlp.c: Use '.\nul' as the sourcefile name instead of 'nul'
4392        so VC 5.2 doesn't try searching the path for it and failing with a
4393        possible dialogbox popping up about having to add a CD to an empty
4394        drive. Also added a SetErrorMode() call to disable any dialogs that
4395        cl.exe or link.exe might create. [Bug 885537]
4396
43972004-01-22  Vince Darley  <vincentdarley@users.sourceforge.net>
4398
4399        * doc/file.n: clarified documentation of 'file system' [Bug 883825]
4400        * tests/fCmd.test: improved test result in failure case.
4401
44022004-01-22  Vince Darley  <vincentdarley@users.sourceforge.net>
4403
4404        * tests/fileSystem.test: 3 new tests
4405        * generic/tclPathObj.c: fix to [Bug 879555] in file normalization.
4406        * doc/filename.n: small clarification to Windows behaviour with
4407        filenames like '.....', 'a.....', '.....a'.
4408
4409        * generic/tclIOUtil.c: slight improvement to native cwd caching on
4410        Windows.
4411
44122004-01-21  David Gravereaux <davygrvy@pobox.com>
4413
4414        * doc/Panic.3:  Mentions of 'panic' and 'panicVA' removed from the
4415        documentation.
4416
44172004-01-21  Vince Darley  <vincentdarley@users.sourceforge.net>
4418
4419        * doc/FileSystem.3:
4420        * generic/tcl.decls:
4421        * generic/tclCmdAH.c
4422        * generic/tclDecls.h
4423        * generic/tclFCmd.c
4424        * generic/tclFileName.c
4425        * generic/tclFileSystem.h
4426        * generic/tclIOUtil.c
4427        * generic/tclInt.decls
4428        * generic/tclInt.h
4429        * generic/tclIntDecls.h
4430        * generic/tclPathObj.c
4431        * generic/tclStubInit.c
4432        * generic/tclTest.c
4433        * mac/tclMacFile.c
4434        * tests/fileName.test
4435        * tests/fileSystem.test
4436        * tests/winFCmd.test
4437        * unix/tclUnixFile.c
4438        * win/tclWin32Dll.c
4439        * win/tclWinFCmd.c
4440        * win/tclWinFile.c
4441        * win/tclWinInt.h
4442
4443        Three main issues accomplished: (1) cleaned up variable names in the
4444        filesystem code so that 'pathPtr' is used throughout. (2) applied a
4445        round of filesystem optimisation with better handling and caching of
4446        relative and absolute paths, requiring fewer conversions. (3)
4447        clarifications to the documentation, particularly regarding the
4448        acceptable refCounts of objects. Some new tests added. Tcl benchmarks
4449        show a significant improvement over 8.4.5, and on Windows typically a
4450        small improvement over 8.3.5 (Unix still appears to require
4451        optimisation). TCL_FILESYSTEM_VERSION_2 introduced, but for internal
4452        use only. There should be no public incompatibilities from these
4453        changes. Thanks to dgp for extensive testing.
4454
44552004-01-19  David Gravereaux <davygrvy@pobox.com>
4456
4457        * win/tclWinPipe.c (Tcl_WaitPid): Fixed a thread-safety problem with
4458        the process list. The delayed cut operation after the wait was going
4459        stale by being outside the list lock. It now cuts within the lock and
4460        does a locked splice for when it needs to instead. [Bug 859820]
4461
44622004-01-18  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
4463
4464        * generic/tclCompile.c, generic/tclCompile.h: Two new opcodes,
4465        INST_LIST_INDEX_IMM and INST_LIST_RANGE_IMM, that have operand(s) of
4466        new type OPERAND_IDX4 which represents indexes into things like lists
4467        (and perhaps other things eventually.)
4468        * generic/tclExecute.c (TclExecuteByteCode): Implementation of the new
4469        opcodes. INST_LIST_INDEX_IMM does a simple [lindex] with either front-
4470        or end-based simple indexing. INST_LIST_RANGE_IMM does an [lrange]
4471        with front- or end-based simple indexing for both the reference to the
4472        first and last items in the range.
4473        * generic/tclCompCmds.c (TclCompileLassignCmd): Generate bytecode for
4474        the [lassign] command.
4475
44762004-01-17  David Gravereaux <davygrvy@pobox.com>
4477
4478        * win/tclWinInit.c: added #pragma comment(lib, "advapi32.lib") when
4479        compiling under VC++ so we don't need to specify it when linking.
4480
44812004-01-17  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
4482
4483        * generic/tclCmdIL.c (Tcl_LassignObjCmd): Add more shimmering
4484        protection for when the list is also one of the variables.
4485
4486        BASIC IMPLEMENTATION OF TIP#57
4487        * generic/tclCmdIL.c (Tcl_LassignObjCmd): Implementation of the
4488        [lassign] command that takes full advantage of Tcl's object API.
4489        * doc/lassign.n: New file documenting the command.
4490        * tests/cmdIL.test (cmdIL-6.*): Test suite for the command.
4491
44922004-01-15  David Gravereaux <davygrvy@pobox.com>
4493
4494        * win/tclWinReg.c: Placed the requirement for advapi.lib into the
4495        object file itself with #pragma comment (lib, ...) when built with
4496        VC++. This will simplify linking for users of the static library.
4497
4498        * win/rules.vc: Added new 'fullwarn' to the CHECKS commandline macro;
4499        sets $(FULLWARNINGS).
4500
4501        * win/makefile.vc: Removed 'advapi.lib' from $(baselibs). Added new
4502        logic to crank-up the warning levels for both compile and link when
4503        $(FULLWARNINGS) is set. Some clean-up with how the resource files are
4504        built and how -DTCL_USE_STATIC_PACKAGES is sent when compiling the
4505        shells.
4506
4507        * win/tclAppInit.c: Small change in how TCL_USE_STATIC_PACKAGES is
4508        used.
4509
4510        * win/tcl.rc:
4511        * win/tclsh.rc: Some clean-up with how the resource files are built.
4512        Fixed 'OriginalFilename' problem that still thought a debug suffix was
4513        still 'd', now is 'g'.
4514
45152004-01-14  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
4516
4517        * generic/tclDictObj.c (TraceDictPath, DictExistsCmd): Adjusted
4518        behaviour of [dict exists] so a failure to look up a dictionary along
4519        the path of dicts doesn't trigger an error. This is how it was
4520        documented to behave previously... [Bug 871387]
4521
4522        * generic/tclDictObj.c: Assorted dict fixes from Peter Spjuth relating
4523        to [Bug 876170].
4524        (SetDictFromAny): Make sure that lists retain their ordering even when
4525        converted to dictionaries and back.
4526        (TraceDictPath): Correct object reference count handling!
4527        (DictReplaceCmd, DictRemoveCmd): Stop object leak.
4528        (DictIncrCmd,DictLappendCmd,DictAppendCmd,DictSetCmd,DictUnsetCmd):
4529        Simpler handling of reference counts when assigning to variables.
4530        * tests/dict.test (dict-19.2): Memory leak stress test
4531
45322004-01-13  Don Porter  <dgp@users.sourceforge.net>
4533
4534        * generic/tclCmdMZ.c (Tcl_SwitchObjCmd):  Silence compiler warnings.
4535
4536        Patch 876451: restores performance of [return]. Also allows forms such
4537        as [return -code error $msg] to be bytecompiled.
4538
4539        * generic/tclInt.h:     Factored Tcl_ReturnObjCmd() into two pieces:
4540        * generic/tclCmdMZ.c:   TclMergeReturnOptions(), which can parse the
4541        options to [return], check their validity, and create the
4542        corresponding return options dictionary, and TclProcessReturn(), which
4543        takes that return options dictionary and performs the [return]
4544        operation.
4545
4546        * generic/tclCompCmds.c: Rewrote TclCompileReturnCmd() to call
4547        TclMergeReturnOptions() at compile time so the return options
4548        dictionary is computed at compile time (when it is fully known). The
4549        dictionary is pushed on the stack along with the result, and the code
4550        and level values are included in the bytecode as operands. Also
4551        supports optimized compilation of un-[catch]ed [return]s from procs
4552        with default options into the INST_DONE instruction.
4553
4554        * generic/tclExecute.c: Rewrote INST_RETURN instruction to retrieve
4555        the code and level operands, pop the return options from the stack,
4556        and call TclProcessReturn() to perform the [return] operation.
4557
4558        * generic/tclCompile.h: New utilities include TclEmitInt4 macro
4559        * generic/tclCompile.c: and TclWordKnownAtCompileTime().
4560
4561        End Patch 876451.
4562
4563        * generic/tclFileName.c (Tcl_GlobObjCmd): Latest changes to management
4564        of the interp result by Tcl_GetIndexFromObj() exposed improper interp
4565        result management in the [glob] command procedure. Corrected by
4566        adopting the Tcl_SetObjResult(Tcl_NewStringObj) pattern. This stopped
4567        a segfault in test filename-11.36. [Bug 877677]
4568
45692004-01-13  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
4570
4571        * generic/tclIndexObj.c (Tcl_GetIndexFromObjStruct, Tcl_WrongNumArgs):
4572        Create fresh objects instead of using the one currently in the
4573        interpreter, which isn't guaranteed to be fresh and unshared. The cost
4574        for the core will be minimal because of the object cache, and this
4575        fixes [Bug 875395].
4576
45772004-01-12  Miguel Sofer <msofer@users.sf.net>
4578
4579        * generic/tclCompExpr.c (CompileLandOrLorExpr): cosmetic changes.
4580
45812004-01-12  Miguel Sofer <msofer@users.sf.net>
4582
4583        * generic/tclCompExpr.c (CompileLandOrLorExpr): new logic, fewer
4584        instructions. As a side effect, the instructions INST_LOR and
4585        INST_LAND are now never used.
4586        * generic/tclExecute.c (INST_JUMP*): small optimisation; fix a bug in
4587        debug code.
4588
45892004-01-11  David Gravereaux <davygrvy@pobox.com>
4590
4591        * win/tclWinThrd.c (Tcl_ConditionNotify): condPtr must be dereferenced
4592        to see if there are waiters else uninitialized datum is manipulated.
4593        [Bug 849007 789338 745068]
4594
45952004-01-09  David Gravereaux <davygrvy@pobox.com>
4596
4597        * generic/tcl.h: Renamed and deprecated #defines moved to within the
4598        #ifndef TCL_NO_DEPRECATED block. This allows us to build Tcl to check
4599        for deprecated functions in use, such as panic() and Tcl_Ckalloc(). By
4600        request from DKF. Extensions that build with -DTCL_NO_DEPRECATED now
4601        have these macros as restricted.
4602        ***POTENTIAL INCOMPATIBILITY***
4603
4604        * win/makefile.vc:
4605        * win/rules.vc:  Added -DTCL_NO_DEPRECATED usage to makefile.vc.
4606        Called like this:   nmake -af makefile.vc CHECKS=nodep
4607
46082004-01-09  Vince Darley  <vincentdarley@users.sourceforge.net>
4609
4610        * generic/tclIOUtil.c: fix to infinite loop in TclFinalizeFilesystem
4611        [Bug 873311]
4612
4613        ******************************************************************
4614        *** CHANGELOG ENTRIES FOR 2003 IN "ChangeLog.2003"             ***
4615        *** CHANGELOG ENTRIES FOR 2002 IN "ChangeLog.2002"             ***
4616        *** CHANGELOG ENTRIES FOR 2001 IN "ChangeLog.2001"             ***
4617        *** CHANGELOG ENTRIES FOR 2000 IN "ChangeLog.2000"             ***
4618        *** CHANGELOG ENTRIES FOR 1999 AND EARLIER IN "ChangeLog.1999" ***
4619        ******************************************************************
Note: See TracBrowser for help on using the repository browser.