Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: downloads/tcl8.5.2/ChangeLog.2003 @ 33

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

added tcl to libs

File size: 127.4 KB
Line 
12003-12-25  Mo DeJong  <mdejong@users.sourceforge.net>
2
3        * win/tclWin32Dll.c (DllMain): Add HAVE_NO_SEH blocks in place of
4        __try and __except statements to support gcc builds. This is needed
5        after David's changes on 2003-12-21. [Patch 858493]
6
72003-12-23  David Gravereaux <davygrvy@pobox.com>
8
9        * generic/tclAlloc.c:   All uses of 'panic' (the macro) changed to
10        * generic/tclBasic.c:   'Tcl_Panic' (the function). The #define of
11        * generic/tclBinary.c:  panic in tcl.h clearly states it is deprecated
12        * generic/tclCkalloc.c: in the comments. [Patch 865264]
13        * generic/tclCmdAH.c:
14        * generic/tclCmdIL.c:
15        * generic/tclCmdMZ.c:
16        * generic/tclCompCmds.c:
17        * generic/tclCompExpr.c:
18        * generic/tclCompile.c:
19        * generic/tclConfig.c:
20        * generic/tclDictObj.c:
21        * generic/tclEncoding.c:
22        * generic/tclEvent.c:
23        * generic/tclExecute.c:
24        * generic/tclHash.c:
25        * generic/tclInterp.c:
26        * generic/tclIO.c:
27        * generic/tclIOCmd.c:
28        * generic/tclIOUtil.c:
29        * generic/tclListObj.c:
30        * generic/tclLiteral.c:
31        * generic/tclNamesp.c:
32        * generic/tclObj.c:
33        * generic/tclParse.c:
34        * generic/tclPathObj.c:
35        * generic/tclPkg.c:
36        * generic/tclPreserve.c:
37        * generic/tclProc.c:
38        * generic/tclStringObj.c:
39        * generic/tclTest.c:
40        * generic/tclThreadAlloc.c:
41        * generic/tclTimer.c:
42        * generic/tclTrace.c:
43        * generic/tclVar.c:
44        * mac/tclMacChan.c:
45        * mac/tclMacOSA.c:
46        * mac/tclMacResource.c:
47        * mac/tclMacSock.c
48        * mac/tclMacThrd.c:
49        * unix/tclUnixChan.c:
50        * unix/tclUnixNotfy.c:
51        * unix/tclUnixThrd.c:
52        * unix/tclXtNotify.c:
53        * win/tclWin32Dll.c:
54        * win/tclWinChan.c:
55        * win/tclWinFCmd.c:
56        * win/tclWinNotify.c:
57        * win/tclWinPipe.c:
58        * win/tclWinSock.c:
59        * win/tclWinThrd.c:
60
61        * generic/tclInt.h:  Deprecated use of Tcl_Ckalloc changed to
62        Tcl_Alloc in the TclAllocObjStorage macro.
63
642003-12-22  David Gravereaux <davygrvy@pobox.com>
65
66        * win/nmakehlp.c:
67        * win/rules.vc:  New feature for extensions that use rules.vc. Now
68        reads header files for version strings. No more hard coding
69        TCL_VERSION = 8.5 and having to edit it when you swap cores.
70
71        * win/makefile.vc: VERSION macro now set by reading tcl.h for it.
72
73        * generic/tcl.h: Removed note that makefile.vc needs to have a version
74        number changed.
75
762003-12-21  David Gravereaux <davygrvy@pobox.com>
77
78        * win/tclWin32Dll.c: Structured Exception Handling added around
79        Tcl_Finalize called from DllMain's DLL_PROCESS_DETACH. We can't be
80        100% assured that Tcl is being unloaded by the OS in a stable
81        condition and we need to protect the exit handlers should the stack be
82        in a hosed state. AT&T style assembly for SEH under MinGW has not been
83        added yet. This is a first part change for [Patch 858493]
84
852003-12-17  Daniel Steffen  <das@users.sourceforge.net>
86
87        * generic/tclBinary.c (DeleteScanNumberCache): fixed crashing bug when
88        numeric scan-value cache contains NULL value.
89
902003-12-17  Vince Darley  <vincentdarley@users.sourceforge.net>
91
92        * generic/tclCmdAH.c:
93        * unix/tclUnixFile.c:
94        * win/tclWinFCmd.c:
95        * tests/fCmd.test:
96        * tests/fileSystem.test:
97        * doc/file.n: final fix to support for relative links and its
98        implications on normalization and other parts of the filesystem code.
99        Fixes [Bug 859251] and some Windows problems with recursive file
100        delete/copy and symbolic links.
101
1022003-12-17  Vince Darley  <vincentdarley@users.sourceforge.net>
103
104        * generic/tclPathObj.c:
105        * tests/fileSystem.test: fix and tests for [Bug 860402] in new file
106        normalization code.
107
1082003-12-17  Zoran Vasiljevic  <zv@archiware.com>
109
110        * generic/tclIOUtil.c: fixed 2 memory (object) leaks. [Bug 839519]
111
112        * generic/tclPathObj.c: fixed Tcl_FSGetTranslatedPath to always return
113        properly refcounted path object. [Bug 861515]
114
1152003-12-16  Vince Darley  <vincentdarley@users.sourceforge.net>
116
117        * tests/fCmd.test: marking fCmd-9.14.2, as nonPortable, since on
118        Solaris one can change the name of the current directory with 'file
119        rename'.
120        * doc/FileSystem.3: clarified documentation on ownership of return
121        objects/strings of some Tcl_FS* calls.
122
1232003-12-16  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
124
125        * generic/tclThreadAlloc.c (binfo): Made variable file-local.
126
1272003-12-15  David Gravereaux <davygrvy@pobox.com>
128
129        * win/tcl.rc:
130        * win/tclsh.rc: Slight modification to the STRINGIFY macro to support
131        Borland's rc tool.
132
133        * win/tclWinFile.c (TclpUtime) : utimbuf struct not a problem with
134        Borland.
135
136        * win/tclWinTime.c (TclpGetDate) : Borland's localtime() has a slight
137        behavioral difference.
138
139        From Helmut Giese <hgiese@ratiosoft.com> [Patch 758097].
140
1412003-12-14  David Gravereaux <davygrvy@pobox.com>
142
143        * generic/tclInt.decls: commented-out entry for TclpCheckStackSpace,
144        removing it from the Stubs table. It's already declared in tclInt.h
145        and labeled as a function that is not to be exported. Regened tables.
146
1472003-12-14  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
148
149        * generic/tclCmdMZ.c (Tcl_SwitchObjCmd): TIP#75 Implementation
150        * tests/switch.test:    Can now get submatch information when using
151        * doc/switch.n:         -regexp matching in [switch].
152
1532003-12-14  Vince Darley  <vincentdarley@users.sourceforge.net>
154
155        * generic/tclPathObj.c: complete rewrite of generic file normalization
156        code to cope with links followed by '..'. [Bug 849514], and parts of
157        [Bug 859251]
158
1592003-12-12  David Gravereaux <davygrvy@pobox.com>
160
161        * win/tclWinChan.c: Win32's SetFilePointer() takes LONGs not DWORDs (a
162        signed/unsigned mismatch). Redid local vars to avoid all casting
163        except where truly required.
164
1652003-12-12  Vince Darley  <vincentdarley@users.sourceforge.net>
166
167        * generic/tclCmdAH.c: fix to normalization of non-existent user name
168        ('file normalize ~nobody') [Bug 858937]
169        * doc/file.n: clarify behaviour of 'file link' when the target is not
170        an absolute path.
171        * doc/filename.n: correct documentation to say that Windows Tcl does
172        handle '~user', for recent Windows releases, and clarified distinction
173        between MacOS 'classic' and MacOS X.
174        * doc/glob.n: clarification of glob's behaviour when returning
175        filenames starting with a '~'.
176
177        * tests/fileSystem.test:
178        * tests/fileName.test: new tests added for the normalization problem
179        above and other recentlt reported issues.
180
181        * win/tclWinFile.c: corrected unclear comments
182
183        * unix/tclUnixFile.c: allow creation of relative links. [Bug 833713]
184
1852003-12-11  David Gravereaux <davygrvy@pobox.com>
186
187        * win/tclWinSock.c (SocketThreadExitHandler) : added a TerminateThread
188        fallback just in case the socket handler thread is really in a paused
189        state. This can happen when Tcl is being unloaded by the OS from an
190        exception handler. See MSDN docs on DllMain, it states this behavior.
191
1922003-12-09  Jeff Hobbs  <jeffh@ActiveState.com>
193
194        * unix/configure:
195        * unix/tcl.m4: updated OpenBSD build configuration based on
196        [Patch #775246] (cassoff)
197
1982003-12-09  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
199
200        * unix/tclUnixPort.h:   #ifdef'd out declarations of errno which are
201        * tools/man2tcl.c:      known to cause problems with recent glibc.
202                                [Bug 852369]
203
2042003-12-09  Vince Darley  <vincentdarley@users.sourceforge.net>
205
206        * win/tclWinFile.c: fix to NT file permissions code [Bug 855923]
207        * tests/winFile.test: added tests for NT file permissions - patch and
208        test scripts supplied by Benny.
209
210        * tests/winFCmd.test: fixed one test for when not running in C:/
211
2122003-12-02  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
213
214        * generic/tclBinary.c (DeleteScanNumberCache, ScanNumber): Made the
215        numeric scan-value cache have proper references to the objects within
216        it so strange patterns of writes won't cause references to freed
217        objects. Thanks to Paul Obermeir for the report. [Bug 851747]
218
2192003-12-01  Miguel Sofer <msofer@users.sf.net>
220
221        * doc/lset.n: fix typo [Bug 852224]
222
2232003-11-24  Don Porter  <dgp@users.sourceforge.net>
224
225        * generic/tclParse.c:   Corrected faulty check for trailing white
226        space in {expand} parsing. Thanks Andreas Leitgeb. [Bug 848262]
227        * tests/parse.test:     New tests for the bug.
228
2292003-11-24  Vince Darley  <vincentdarley@users.sourceforge.net>
230
231        * generic/tclPathObj.c: fix to [Bug 845778] - Infinite recursion on
232        [cd] (Windows only bug), for which new tests have just been added.
233
2342003-11-21  Don Porter  <dgp@users.sourceforge.net>
235
236        * tests/winFCmd.test (winFCmd-16.10,11): Merged new tests from
237        core-8-4-branch.
238
2392003-11-20  Miguel Sofer <msofer@users.sf.net>
240
241        * generic/tclVar.c: fix flag bit collision between LOOKUP_FOR_UPVAR
242        and TCL_PARSE_PART1 (deprecated) [Bug 835020]
243
2442003-11-19  Don Porter  <dgp@users.sourceforge.net>
245
246        * tests/compile.test (compile-16.22.0): Improved test for the recent
247        fix for Bug 845412.
248
2492003-11-19  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
250
251        * generic/tclCompile.c (TclCompileScript): Added a guard for the
252        expansion code so that long non-expanding commands don't get expansion
253        infrastructure inserted in them, especially when that infrastructure
254        isn't initialised. [Bug 845412]
255
2562003-11-18  David Gravereaux <davygrvy@pobox.com>
257
258        * contrib/djgpp/Makefile:               Changes from Victor Wagner
259        * contrib/djgpp/langinfo.c (new):       <vitus@45.free.net> for better
260        * contrib/djgpp/langinfo.h (new):       DJGPP support.
261        * unix/tclUnixInit.c:                   .
262        * unix/tclUnixChan.c:                   .
263        * unix/tclUnixFCmd.c:                   .
264
2652003-11-17  Don Porter  <dgp@users.sourceforge.net>
266
267        * tests/reg.test: Added tests for [Bugs 230589, 504785, 505048, 840258]
268        recently fixed by 2003-11-15 commit to regcomp.c by Pavel Goran. His
269        notes on the fix: This bug results from an error in code that splits
270        states into "progress" and "no-progress" ones. This error causes an
271        interesting situation with the pre-collected single-linked list of
272        states to be splitted: many items were added to the list, but only
273        several of them are accessible from the list beginning, since the
274        "tmp" member of struct state (which is used here to hold a pointer to
275        the next list item) gets overwritten, which results in a "looped"
276        chain. As a result, not all of states are splitted, and one state is
277        splitted two times, causing incorrect "no-progress" flag values.
278
2792003-11-16  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
280
281        * generic/tclExecute.c (TclExecuteByteCode): Make sure that
282        Tcl_AsyncInvoke is called regularly when processing bytecodes.
283        * generic/tclTest.c (AsyncThreadProc, TestasyncCmd): Extended testing
284        harness to send an asynchronous marking without relying on UNIX
285        signals.
286        * tests/async.test (async-4.*): Tests to check that async events are
287        handled by the bytecode core. [Bug 746722]
288
2892003-11-15  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
290
291        * generic/tclTest.c (TestHashSystemHashCmd): Removed 'const' modifier
292        from hash type structure; it should be const and the hash code assumes
293        it behaves like const, but that's not how the API is defined. Like
294        this, we are following in the same footsteps as Tcl_RegisterObjType()
295        which has the same conditions on its argument. Stops VC++5.2 warning.
296        [Bug 842511]
297
2982003-11-14  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
299
300        * generic/tclHash.c (Tcl_DeleteHashTable,Tcl_HashStats,RebuildTable):
301        * generic/tclTest.c (TestHashSystemHashCmd): TIP#138 implementation,
302        * tests/misc.test:      plus a new chunk of stuff to test the hash
303                                functions more thoroughly in the test suite.
304                                [Patch 731356, modified]
305
306        * doc/Tcl.n: Updated Tcl version number and changebars.
307
3082003-11-14  Don Porter  <dgp@users.sourceforge.net>
309
310        * doc/ParseCmd.3:       Implementation of TIP 157.  Adds recognition
311        * doc/Tcl.n:            of the new leading {expand} syntax on words.
312        * generic/tcl.h:        Parses such words as the new Tcl_Token type
313        * generic/tclBasic.c:   TCL_TOKEN_EXPAND_WORD. Updated Tcl_EvalEx and
314        * generic/tclCompile.c: the bytecode compiler/execution engine to
315        * generic/tclCompile.h: recognize the new token type. New opcodes
316        * generic/tclExecute.c: INST_LIST_VERIFY and INST_INVOKE_EXP and a new
317        * generic/tclParse.c:   operand type OPERAND_ULIST1 are defined. Docs
318        * generic/tclTest.c:    and tests are included.
319        * tests/basic.test:
320        * tests/compile.test:
321        * tests/parse.test:
322
323        * library/auto.tcl:     Replaced several [eval]s used to perform
324        * library/package.tcl:  argument expansion with the new syntax. In the
325        * library/safe.tcl:     test files lindex.test and lset.test, replaced
326        * tests/cmdInfo.test:   use of [eval] to force direct string
327        * tests/encoding.test:  evaluation with use of [testevalex] which more
328        * tests/execute.test:   directly and robustly serves the same purpose.
329        * tests/fCmd.test:
330        * tests/http.test:
331        * tests/init.test:
332        * tests/interp.test:
333        * tests/io.test:
334        * tests/ioUtil.test:
335        * tests/iogt.test:
336        * tests/lindex.test:
337        * tests/lset.test:
338        * tests/namespace-old.test:
339        * tests/namespace.test:
340        * tests/pkg.test:
341        * tests/pkgMkIndex.test:
342        * tests/proc.test:
343        * tests/reg.test:
344        * tests/trace.test:
345        * tests/upvar.test:
346        * tests/winConsole.test:
347        * tests/winFCmd.test:
348
3492003-11-12  Jeff Hobbs  <jeffh@ActiveState.com>
350
351        * tests/cmdMZ.test (cmdMZ-1.4): change to nonPortable as more systems
352        are using permissions caching, and this isn't really a Tcl controlled
353        issue.
354
3552003-11-11  Jeff Hobbs  <jeffh@ActiveState.com>
356
357        * unix/configure:
358        * unix/tcl.m4: improve AIX --enable-64bit handling
359        remove -D__NO_STRING_INLINES -D__NO_MATH_INLINES from CFLAGS_OPTIMIZE
360        on Linux. Make default opt -O2 (was -O).
361
3622003-11-11  David Gravereaux <davygrvy@pobox.com>
363
364        * contrib/djgpp/Makefile:  Suggested changes from vitus@45.free.net
365        (Victor Wagner)
366
367        * unix/tclUnixPort.h:  added socklen_t typedef for DJGPP
368
3692003-11-10  Don Porter  <dgp@users.sourceforge.net>
370
371        * unix/tclUnixInit.c (TclpInitLibraryPath):
372        * win/tclWinInit.c (TclpInitLibraryPath):       Fix for [Bug 832657]
373        that should not run afoul of startup constraints.
374
375        * library/dde/pkgIndex.tcl:     Added safeguards so that registry and
376        * library/reg/pkgIndex.tcl:     dde packages are not offered on
377        * win/tclWinDde.c:              non-Windows platforms. Bumped to
378        * win/tclWinReg.c:              registry 1.1.3 and dde 1.3.
379        * win/Makefile.in:
380        * win/configure.in:
381        * win/makefile.bc:
382        * win/makefile.vc:
383
384        * win/configure:        autoconf (2.57)
385
3862003-11-10  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
387
388        * tests/cmdIL.test: Stopped cmdIL-5.5 from stomping over the test
389        command, and updated the tests to use some tcltest2 features in
390        relation to cleanup. [Bug 838384]
391
3922003-11-10  Vince Darley  <vincentdarley@users.sourceforge.net>
393
394        * generic/tclCmdAH.c:
395        * tests/fCmd.test: fix to misleading error message in 'file link'.
396        [Bug 836208]
397
3982003-11-07  Vince Darley  <vincentdarley@users.sourceforge.net>
399
400        * generic/tclIOUtil.c: fix to compiler warning/error with some
401        compilers. [Bug 835918]
402
4032003-11-07  Daniel Steffen  <das@users.sourceforge.net>
404
405        * macosx/Makefile: optimized builds define NDEBUG to turn off
406        ThreadAlloc range checking.
407
4082003-11-05  Don Porter  <dgp@users.sourceforge.net>
409
410        * tests/unixInit.test (unixInit-2.10):  New test to expose [Bug 832657]
411        failure of TclpInitLibraryPath() to properly handle .. in the path
412        of the executable.
413
4142003-11-04  Daniel Steffen  <das@users.sourceforge.net>
415
416        * macosx/Makefile: added 'test' target.
417
4182003-11-03  Vince Darley  <vincentdarley@users.sourceforge.net>
419
420        * generic/tclIOUtil.c
421        * generic/tclInt.h: added comments and re-arranged code to clarify
422        distinction between Tcl_LoadHandle, ClientData for 'load'ed code, and
423        point out limitations of the design introduced with Tcl 8.4.
424
425        * unix/tclUnixFile.c: fix to memory leak
426
427        * generic/tclCmdIL.c: removed warning on Windows.
428
4292003-11-01  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
430
431        * generic/tclCmdIL.c (Tcl_LrepeatObjCmd): Check for sensible list
432        lengths and allow for soft failure of the memory subsystem in the
433        [lconcat] command [Bug 829027]. Uses direct list creation to avoid
434        extra copies when working near the limit of available memory. Also
435        reorganized to encourage optimizing compilers to optimize heavily.
436        * generic/tclListObj.c (TclNewListObjDirect): New list constructor
437        that does not copy the array of objects. Useful for creating
438        potentially very large lists or where you are about to throw away the
439        array argument which is being used in its entirety.
440
4412003-10-28  Miguel Sofer <msofer@users.sf.net>
442
443        * generic/tclExecute.c (NEXT_INST macros): replaced macro variable
444        "result" by "resultHandling" to avoid confusion.
445
4462003-10-23  Andreas Kupries  <andreask@activestate.com>
447
448        * unix/tclUnixChan.c (Tcl_MakeFileChannel): Applied [Patch 813606]
449        fixing [Bug 813087]. Detection of sockets was off for Mac OS X which
450        implements pipes as local sockets. The new code ensures that only IP
451        sockets are detected as such.
452
453        * win/tclWinSock.c (TcpWatchProc): Watch for FD_CLOSE too when asked
454        for writable events by the generic layer.
455        (SocketEventProc): Generate a writable event too when a close is
456        detected.
457
458          Together the changes fix [Bug 599468].
459
4602003-10-23  Vince Darley  <vincentdarley@users.sourceforge.net>
461
462        * tests/resource.test:
463        * mac/tclMacResource.c: fix to resource freeing problem in 'resource'
464        command reported by Bernard Desgraupes.
465
466        * doc/FileSystem.3: updated documentation for 'glob' fix on 2003-10-13
467        below
468
4692003-10-22  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
470
471        * generic/tclCmdAH.c (Tcl_FileObjCmd): Changed FILE_ prefix to FCMD_
472        to stop symbol/#def clashes on Cygwin/Mingw32 on NT. [Bug 822528]
473
4742003-10-21   Daniel Steffen  <das@users.sourceforge.net>
475
476        * tools/tcltk-man2html.tcl: fixed incorrect html generated for
477        .IP/.TP lists, now use <DL><DT>...<DD>...<P><DT>...<DD>...</DL>
478        instead of illegal  <DL><P><DT>...<DD>...<P><DT>...<DD>...</DL>.
479        Added skipping of directives directly after .TP to avoid them being
480        used as item descriptions, e.g. .TP\n.VS in clock.n.
481
4822003-10-21  Andreas Kupries  <andreask@pliers.activestate.com>
483
484        * win/tclWinPipe.c (BuildCommandLine): Applied the patch coming with
485        [Bug 805605] to the code, fixing the incorrect use of ispace noted by
486        Ronald Dauster <ronaldd@users.sourceforge.net>.
487
4882003-10-20  Kevin B. Kenny  <kennykb@users.sourceforge.net>
489
490        * doc/msgcat.n:
491        * library/msgcat/msgcat.tcl (mclocale,mcload):
492        * tools/tcl.wse.in:
493        * unix/Makefile.in:     Implementation of TIP#156, add a "root locale"
494        * win/makefile.bc:      to the 'msgcat' package. Advanced msgcat
495        * win/Makefile.in:      version number to 1.4
496        * win/Makefile.vc:
497
4982003-10-15  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
499
500        * generic/tclCmdIL.c (SortInfo,etc): Reorganized so that SortInfo
501        carries an array of integer indices instead of a Tcl list. This nips
502        shimmering problems in the bud and simplifies SelectObjFromSublist at
503        the cost of making setup slightly more complex. [Bug 823768]
504
5052003-10-14  David Gravereaux <davygrvy@pobox.com>
506
507        * win/tclAppInit.c (sigHandler): Punt gracefully if exitToken has
508        already been destroyed.
509
5102003-10-14  Vince Darley  <vincentdarley@users.sourceforge.net>
511
512        * generic/tclCmdMZ.c:
513        * tests/regexp.test: fix to [Bug 823524] in regsub; added three new
514        tests.
515
5162003-10-14  Don Porter  <dgp@users.sourceforge.net>
517
518        * generic/tclBasic.c (TclAppendObjToErrorInfo): New internal routine
519        that appends a Tcl_Obj to the errorInfo, saving the caller the trouble
520        of extracting the string rep.
521
522        * generic/tclStringObj.c (TclAppendLimitedToObj):       New internal
523        routine that supports truncated appends with optional ellipsis marking.
524        This single routine supports UTF-8-safe truncated appends needed in
525        several places throughout the Tcl source code, mostly for error and
526        stack messages. Clean fix for [Bug 760872].
527
528        * generic/tclInt.h:     Declarations for new internal routines.
529
530        * generic/tclCmdMZ.c:   Updated callers to use the new routines.
531        * generic/tclCompExpr.c:
532        * generic/tclCompile.c:
533        * generic/tclExecute.c:
534        * generic/tclIOUtil.c:
535        * generic/tclNamesp.c:
536        * generic/tclObj.c:
537        * generic/tclParseExpr.c:
538        * generic/tclProc.c:
539        * generic/tclStringObj.c:
540        * mac/tclMacResource.c:
541
542        * library/init.tcl:     Updated ::errorInfo cleanup in [unknown] to
543        reflect slight modifications to Tcl_LogCommandInfo(). Corrects failing
544        init-4.* tests.
545
5462003-10-14  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
547
548        TIP#127 IMPLEMENTATION FROM JOE MICHAEL SCHLENKER
549
550        * generic/tclCmdIL.c (SelectObjFromSublist): Element selection engine.
551        * generic/tclCmdIL.c (Tcl_LsearchObjCmd, Tcl_LsortObjCmd):
552        * tests/lsearch.test:   Set up and use of element selection engine,
553        * tests/cmdIL.test:     plus tests and documentation.
554        * doc/lsearch.n:        Based on [Patch 693836]
555        * doc/lsort.n:
556
5572003-10-13  Vince Darley  <vincentdarley@users.sourceforge.net>
558
559        * generic/tcl.h:
560        * generic/tclFileName.c:
561        * generic/tclIOUtil.c:
562        * generic/tclPathObj.c:
563        * generic/tclTest.c:
564        * mac/tclMacFile.c:
565        * tests/fileName.test: better tests for [Bug 813273]
566        * unix/tclUnixFCmd.c:
567        * unix/tclUnixFile.c:
568        * win/tclWin32Dll.c:
569        * win/tclWinFCmd.c:
570        * win/tclWinFile.c:
571        * win/tclFileInt.h:
572
573        Fixed [Bug 800106] in which 'glob' was incapable of merging the
574        results of a directory listing (real or virtual) and any virtual
575        filesystem mountpoints in that directory (the latter were ignored).
576        This meant boundaries between different filesystems were not seamless
577        (e.g. 'glob */*' across a filesystem boundary was wrong). Added new
578        entry to Tcl_GlobTypeData in a totally backwards compatible way. To
579        allow listing of mounts, registered filesystems must support the
580        'TCL_GLOB_TYPE_MOUNT' flag. If this is not supported (e.g. in tclvfs
581        1.2) then mounts will simply not be listed for that filesystem.
582
583        Fixed [Bug 749876] 'file writable/readable/etc' (NativeAccess) using
584        correct permission checking code for Windows NT/2000/XP where more
585        complex user-based security/access priveleges are available,
586        particularly on shared volumes. The performance impact of this extra
587        checking will need further investigation. Note: Win 95,98,ME have no
588        support for this.
589
590        Also made better use of normalized rather than translated paths in the
591        platform specific code.
592
5932003-10-12  Jeff Hobbs  <jeffh@ActiveState.com>
594
595        * unix/tclUnixTest.c (TestalarmCmd): don't bother checking return
596        value of alarm. [Bug #664755] (english)
597
5982003-10-09  Pat Thoyts  <patthoyts@users.sourceforge.net>
599
600        * win/makefile.vc:  Applied patches for bug #801467 by Joe Mistachkin
601        * win/tclAppInit.c: to fix incompatible TCL_MEM_DEBUG handling in
602        * generic/tclObj.c: Win32 VC builds.
603
6042003-10-08  Don Porter  <dgp@users.sourceforge.net>
605
606        * generic/tclBasic.c:   Save and restore the iPtr->flag bits that
607        control the state of errorCode and errorInfo management when calling
608        "leave" execution traces, so that all error information of the traced
609        command is still available whether traced or not. [Bug 760947]
610        Thanks to Yahalom Emet.
611
6122003-10-08  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
613
614        * generic/tclTest.c (TestNumUtfCharsCmd): Command to allow finer
615        access to Tcl_NumUtfChars for testing.
616        * generic/tclUtf.c (Tcl_NumUtfChars): Corrected string length
617        determining when the length parameter is negative; the terminator is a
618        zero byte, not (necessarily) a \u0000 character. [Bug 769812]
619
6202003-10-07  Don Porter  <dgp@users.sourceforge.net>
621
622        * tests/cmdAH.test:
623        * tests/exec.test:              Corrected temporary file management
624        * tests/fileSystem.test:        issues uncovered by -debug 1 test
625        * tests/io.test:                operations. Also backported some
626        * tests/ioCmd.test:             other fixes from the HEAD.
627        * tests/main.test:
628        * tests/pid.test:               [Bugs 675605, 675655, 675659]
629        * tests/socket.test:
630        * tests/source.test:
631
632        * tests/fCmd.test:      Run tests with the [temporaryDirectory] as the
633        current directory, so that tests can depend on ability to write files.
634        [Bug 575837]
635
636        * doc/OpenFileChnl.3:   Updated Tcl_Tell and Tcl_Seek documentation to
637        reflect that they now return Tcl_WideInt (TIP 72). [Bug 787537]
638
639        * tests/io.test:        Corrected several tests that failed when paths
640        * tests/ioCmd.test:     included regexp-special chars. [Bug 775394]
641
6422003-10-06  Jeff Hobbs  <jeffh@ActiveState.com>
643
644        * win/configure:
645        * win/tcl.m4: removed incorrect checks for existence of optimization.
646        TCL_CFG_OPTIMIZED is now defined whenever the user does not build with
647        --enable-symbols.
648
6492003-10-06  Don Porter  <dgp@users.sourceforge.net>
650
651        * tests/regexp.test:            Matched [makeFile] with [removeFile].
652        * tests/regexpComp.test:        [Bug 675652]
653
654        * tests/fCmd.test (fCmd-8.2):   Test only that tilde-substitution
655        happens, not for any particular result. [Bug 685991]
656
657        * unix/tcl.m4 (SC_PATH_TCLCONFIG):      Corrected search path so that
658        alpha and beta releases of Tcl are not favored. [Bug 608698]
659
660        * tests/reg.test:       Corrected duplicate test names.
661        * tests/resource.test:  [Bugs 710370, 710358]
662        * tests/dict.test:
663
664        * tests/dict.test:      Updated [package require tcltest] lines to
665        * tests/fileSystem.test:        indiciate that these test files
666        * tests/lrepeat.test:   use features of tcltest 2.  [Bug 706114]
667        * tests/notify.test:
668        * tests/parseExpr.test:
669        * tests/unixNotfy.test:
670        * tests/winDde.test:
671
6722003-10-04  Miguel Sofer <msofer@users.sf.net>
673
674        * generic/tclExecute.c (TEBC):
675        * tests/execute.test (execute-8.2): fix for [Bug 816641] - faulty
676        execution and catch stack management.
677
6782003-10-03  Don Porter  <dgp@users.sourceforge.net>
679
680        * generic/tclBasic.c:   Fixed error in ref count management of command
681        * generic/tclCmdMZ.c:   and execution traces that caused access to
682        freed memory in trace-32.1. [Bug 811483]
683
6842003-10-02  Don Porter  <dgp@users.sourceforge.net>
685
686        * generic/tclTrace.c: Corrected comingling of introspection results of
687        [trace info command] and [trace info execution]. [Bug 807243]
688        Thanks to Mark Saye.
689
6902003-10-01  Daniel Steffen  <das@users.sourceforge.net>
691
692        * macosx/Makefile: fixed redo prebinding bug when DESTDIR="".
693        * mac/tclMacResource.c: fixed possible NULL dereference (bdesgraupes).
694
6952003-09-29  Vince Darley  <vincentdarley@users.sourceforge.net>
696
697        * generic/tclPathObj.c:
698        * tests/fileName.test: fix to inconsistent handling of backslash
699        path separators on Windows in 'file join' [Bug 813273]
700
7012003-09-29  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
702
703        * generic/tclPathObj.c (TclNativePathInFilesystem,TclFSGetPathType):
704        * generic/tclIOUtil.c (TclNativeDupInternalRep,TclGetPathType): Rename
705        to make sure function names won't interfere with other non-Tcl code
706        (reported by George Staplin)
707
708        TIP#121 IMPLEMENTATION FROM JOE MISTACHKIN
709
710        * generic/tclEvent.c (Tcl_SetExitProc,Tcl_Exit): Implementation of
711        application exit handler scheme.
712        * generic/tcl.decls (Tcl_SetExitProc): Public declaration.
713        * doc/Exit.3: Documentation of new API function.
714
715        TIP#112 IMPLEMENTATION
716
717        * generic/tclNamesp.c: Core of implementation.
718        * generic/tclInt.h (Namespace,TclInvalidateNsCmdLookup): Add command
719        list epoch counter and list of ensembles to namespace structure, and
720        define a macro to ease update of the epoch counter.
721        * generic/tclBasic.c (Tcl_CreateObjCommand,etc.): Update epoch counter
722        when list of commands in a namespace changes.
723        * generic/tclObj.c (TclInitObjSubsystem): Register ensemble subcommand
724        type.
725        * tests/namespace.test (42.1-47.6): Tests.
726        * doc/namespace.n: Documentation.
727
728        * library/http/http.tcl (geturl): Correctly check the type of
729        boolean-valued options. [Bug 811170]
730
731        * unix/tcl.m4 (SC_ENABLE_FRAMEWORK): Added note to make it clearer
732        that this is an OSX feature, not a general Unix feature. [Bug 619440]
733
7342003-09-28  David Gravereaux <davygrvy@pobox.com>
735
736        * win/tclWinPipe.c: The windows port of expect can call
737        TclWinAddProcess before any of the other pipe functions. Added a
738        missing PipeInit() call to make sure the initialization happens.
739
7402003-09-25  Daniel Steffen  <das@users.sourceforge.net>
741
742        * macosx/Makefile: ensure SYMROOT exists if OBJROOT is overridden on
743        command line. Replaced explict use of /usr/bin by ${BINDIR}.
744
7452003-09-24  Vince Darley  <vincentdarley@users.sourceforge.net>
746
747        * library/package.tcl (tcl::MacPkgUnknown, tcl::MacOSXPkgUnknown):
748        Minor performance tweaks to reduce the number of [file] invocations.
749        Meant to improve startup times, at least a little bit. (The generic
750        equivalent patch was applied on 2003-02-21).
751
7522003-09-24  Vince Darley  <vincentdarley@users.sourceforge.net>
753
754        * trace.test: removed 'knownBug' from a test which doesn't illustrate
755        a bug, just a bad test.
756
7572003-09-23  Miguel Sofer <msofer@users.sf.net>
758
759        * generic/tclExecute.c:
760        * generic/tclInt.h: changed the evaluation-stack addressing mode, from
761        array-style to pointer-style; the catch stack and evaluation stack are
762        now contiguous in memory. [Patch 457449]
763
7642003-09-23  Don Porter  <dgp@users.sourceforge.net>
765
766        * tests/trace.test (trace-31,32-*):  Added tests for [Bug 807243] and
767        [Bug 811483].
768
769        * library/init.tcl (auto_load, auto_import):  Expanded Eric Melski's
770        2000-01-28 fix for [Bug 218871] to all potentially troubled uses of
771        [info commands] on input data, where glob-special characters could
772        cause problems.
773
7742003-09-20  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
775
776        * tests/expr.test (expr-23.4): Prevented accidental wrapping round of
777        exponential operation; it isn't portable, and not what I intended to
778        test either. [Bug 808244]
779
7802003-09-19  Miguel Sofer <msofer@users.sf.net>
781
782        * generic/tclExecute.c: adding (DE)CACHE_STACK_INFO() pairs to protect
783        all calls that may cause traces on ::errorInfo or ::errorCode to
784        corrupt the stack. [Bug 804681]
785
7862003-09-17  Vince Darley  <vincentdarley@users.sourceforge.net>
787
788        * tclPathObj.c: fix to test-suite problem introduced by the bug fix
789        below. No problem in ordinary code, just test suite code which
790        manually adjusts tclPlatform. [Bug 808247]
791
7922003-09-16  Vince Darley  <vincentdarley@users.sourceforge.net>
793
794        * doc/filename.n: documentation of Windows-specific feature as
795        discussed in [Bug 541989]
796        * generic/tclPathObj.c: fix for normalization of volume-relative paths
797        [Bug 767834]
798        * tests/winFCmd.test: new tests for both of the above.
799        * tests/cmdAH.test: fix for AFS problem in test suite [Bug 748960]
800
8012003-09-13  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
802
803        TIP#123 IMPLEMENTATION BASED ON WORK BY ARJEN MARKUS
804
805        * generic/tclCompile.h (INST_EXPON):            Implementation of
806        * generic/tclCompile.c (tclInstructionTable):   exponential operator.
807        * generic/tclCompExpr.c (operatorTable):
808        * generic/tclParseExpr.c (ParseExponentialExpr, GetLexeme):
809        * generic/tclExecute.c (TclExecuteByteCode, ExponWide, ExponLong):
810        (IllegalExprOperandType):
811        * tests/expr.test:
812        * tests/compExpr-old.test:
813        * doc/expr.n:
814
8152003-09-10  Don Porter  <dgp@users.sourceforge.net>
816
817        * library/opt/optparse.tcl:     Latest revisions caused [OptGuessType]
818        to guess "int" instead of "string" for empty strings. Missed the
819        required "-strict" option to [string is]. Thanks to Revar Desmera.
820        [Bug 803968]
821
8222003-09-08  David Gravereaux <davygrvy@pobox.com>
823
824        * win/tclWinLoad.c (TclpDlopen): Changed the error message for
825        ERROR_PROC_NOT_FOUND to be a bit more helpful in giving us clues.
826        "can't find specified procedure" means a function in the import table,
827        for implicit loading, couldn't be resolved and that's why the load
828        failed.
829
8302003-09-04  Don Porter  <dgp@users.sourceforge.net>
831
832        * doc/Tcl_Main.3:
833        * doc/FileSystem.3:                             Implementation of
834        * doc/source.n:                                 TIPs 137/151. Adds a
835        * doc/tclsh.1:                                  -encoding option to
836        * generic/tcl.decls:                            the [source] command
837        * generic/tclCmdMZ.c (Tcl_SourceObjCmd):        and a new C routine,
838        * generic/tclIOUtil.c (Tcl_FSEvalFileEx):       Tcl_FSEvalFileEx(),
839        * generic/tclMain.c (Tcl_Main):                 that provides C access
840        * mac/tclMacResource.c (Tcl_MacSourceObjCmd):   to the same function.
841        * tests/cmdMZ.test:                             Also adds command line
842        * tests/main.test:      option handling in Tcl_Main() so that tclsh
843        * tests/source.test:    and other apps built on Tcl_Main() respect a
844        -encoding command line option before a script filename. Docs and tests
845        updated as well. [Patch 742683]
846        This is a ***POTENTIAL INCOMPATIBILITY*** only for those C programs
847        that embed Tcl, build on Tcl_Main(), and make use of Tcl_Main's former
848        ability to pass a leading "-encoding" option to interactive shell
849        operations.
850
851        * generic/tclInt.decls:                         Added internal stub
852        * generic/tclMain.c (Tcl*StartupScript*):       table entries for two
853        new functions Tcl_SetStartupScript() and Tcl_GetStartupScript() that
854        set/get the path and encoding for the startup script to be evaluated
855        by either Tcl_Main() or Tk_Main(). Given public names in anticipation
856        of their exposure by a followup TIP.
857
858        * generic/tclDecls.h:           make genstubs
859        * generic/tclIntDecls.h:
860        * generic/tclStubInit.c:
861
8622003-09-04  Don Porter  <dgp@users.sourceforge.net>
863
864        * doc/SplitList.3:      Implementation of TIP 148.  Fixes [Bug 489537].
865        * generic/tcl.h:        Updated Tcl_ConvertCountedElement() to quote
866        * generic/tclUtil.c:    the leading "#" character of all list elements
867        unless the TCL_DONT_QUOTE_HASH flag is passed in.
868
869        * generic/tclDictObj.c: Updated Tcl_ConvertCountedElement() callers
870        * generic/tclListObj.c: to pass in the TCL_DONT_QUOTE_HASH flags
871        * generic/tclResult.c:  when appropriate.
872
8732003-08-31  Don Porter  <dgp@users.sourceforge.net>
874
875        * doc/return.n: Updated [return] docs to cover new TIP 90 features.
876
877        * doc/break.n:          Added SEE ALSO references to return.n
878        * doc/continue.n:
879
8802003-09-01  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
881
882        * doc/Namespace.3: Basic documentation for the TIP#139 functions. This
883        will need improving, but the basic bits are there at least.
884
8852003-08-31  Don Porter  <dgp@users.sourceforge.net>
886
887        * doc/catch.n:  Updated [catch] docs to cover new TIP 90 features.
888
8892003-08-29  Don Porter  <dgp@users.sourceforge.net>
890
891        * generic/tclCmdAH.c:   Corrected bug in TIP 90 implementation where
892        * tests/cmdMZ.test:     the default -errorcode NONE value was not
893        copied into the return options dictionary. This correction modified
894        one test result.
895
8962003-08-27  David Gravereaux <davygrvy@pobox.com>
897
898        * compat/strftime.c (_fmt): Removed syst array intializer that
899        couldn't take variables within it under the watcom compiler:
900        'Initializers must be constant'. I believe Borland has this strictness
901        as well. VC++ must be non-standard about this.
902
903        Changed Win32 platform #ifdef from 'WIN32' to '__WIN32__' as this is
904        the correct one to use across the Tcl sources. Even though we do force
905        it in tcl.h, the true parent one is __WIN32__.
906
907        Added missing CONST'ification usage to match prototype listed in
908        tclInt.decls.
909
910        * win/tclWinPort.h:  Added a block for OpenWatcom adjustments that
911        fixes 1) the same issue Mo did for MinGW lack of missing LPFN_*
912        typedefs in their WINE derived <winsock2.h> and 2) The need to be
913        strict about how the char type needs to be signed by default.
914
915        * win/tclWinSock.c:  Added OpenWatcom to the commentary about the
916        #ifdef HAVE_NO_LPFN_DECLS block.
917
918        * win/tclWinTime.c:  Changed use of '_timezone' to 'timezone' as this
919        difference is already adjusted for in tclWinPort.h. Removed
920        unreferenced posixEpoch file-scope global.
921
922        * win/tclWinFile.c (WinReadLinkDirectory): Fix for 'Initializers must
923        be constant' with the driveSpec array using OpenWatcom.
924
9252003-08-27  Don Porter  <dgp@users.sourceforge.net>
926
927        * generic/tclUtil.c:    Corrected [Bug 411825] and other bugs in
928        TclNeedSpace() where non-breaking space (\u00A0) and backslash-escaped
929        spaces were handled incorrectly.
930        * tests/util.test:      Added new tests util-8.[2-6].
931
9322003-08-26  David Gravereaux <davygrvy@pobox.com>
933
934        * generic/tcl.h: Added some support for the LCC-Win32 compiler.
935        Unfortunetly, this compiler has a bug in its preprocessor and can't
936        build Tcl even with this minor patch. Also added some support for the
937        OpenWatcom compiler. A new win/makefile.wc to follow soon.
938
9392003-08-25  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
940
941        * tools/genStubs.tcl (genStubs::makeDecl): A more subtle way of
942        generating stubbed declarations allows us to have declarations of a
943        function in multiple interfaces simultaneously.
944
945        * generic/tcl.decls: Duplicated some namespace declarations from
946        tclInt.decls here, as mandated by TIP #139. This is OK since the
947        declarations match and will end up using the declarations in the
948        public code from now on because of #include ordering. Keeping the old
949        declarations in tclInt.decls; there's no need to gratuitously break
950        compatability for those extensions which are already clients of the
951        namespace code.
952
9532003-08-23  Zoran Vasiljevic  <zoran@archiwrae.com>
954
955        * generic/tclIOUtil.c: merged fixes for thread-unsafe handling of
956        filesystem records [Bug 753315]. This also fixed the [Bug 788780]
957        * generic/tclPathObj.c: merged fixes for thread-unsafe handling of
958        filesystem records. [Bug 753315]
959
960        * generic/tclFileSystem.h: merged fixes for thread-unsafe handling of
961        filesystem records. [Bug 753315]
962
9632003-08-19  Pat Thoyts  <patthoyts@users.sourceforge.net>
964
965        * win/tclWinSerial.c (SerialErrorStr): Fixed a syntax error created in
966        the previous code cleanup.
967
9682003-08-19  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
969
970        * win/tclWinSerial.c: Adjusted commenting and spacing usage to follow
971        the principles of the Style Guide better.
972
9732003-08-18  Mo DeJong  <mdejong@users.sourceforge.net>
974
975        * win/configure: Regen.
976        * win/tcl.m4 (SC_ENABLE_SYMBOLS): Use test instead of -eq, which does
977        not work. [Bug 781109]
978
9792003-08-13  Chengye Mao <chengye.geo@yahoo.com>
980
981        * win/tclWinPipe.c: fixed a bug in BuildCommandLine. This bug built a
982        command line with a missing space between tclpipe.dll and the
983        following arguments. It caused error in Windows 98 when exec
984        command.com (e.g. dir). [Bug 789040]
985
9862003-08-11  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
987
988        TIP #136 IMPLEMENTATION from Simon Geard <simon.geard@ntlworld.com>
989        * generic/tclCmdIL.c (Tcl_LrepeatObjCmd): Adapted version of Simon's
990        * doc/lrepeat.n:                          patch, updated to the HEAD
991        * tests/lrepeat.test:                     and matching the core style.
992        * generic/tclBasic.c (buildIntCmds):    Splice into core.
993        * generic/tclInt.h:
994        * doc/list.n:                           Cross-reference.
995
9962003-08-06  Jeff Hobbs  <jeffh@ActiveState.com>
997
998        * win/tclWinInit.c: recognize amd64 and ia32_on_win64 cpus.
999
10002003-08-06  Don Porter  <dgp@users.sourceforge.net>
1001
1002        * library/msgcat/msgcat.tcl:    Added escape so that non-Windows
1003        * library/msgcat/pkgIndex.tcl:  platforms do not try to use the
1004        registry package. This can save a costly and pointless package search.
1005        Bumped to 1.3.1. Thanks to Dave Bodenstab. [Bug 781609]
1006
10072003-08-05  Miguel Sofer <msofer@users.sf.net>
1008
1009        * generic/tclExecute.c (INST_INVOKE, INST_EVAL, INST_PUSH_RESULT):
1010        added a Tcl_ResetResult(interp) at each point where the interp's
1011        result is pushed onto the stack, to avoid keeping an extra reference
1012        that may cause costly Tcl_Obj duplication. Detected by Franco Violi,
1013        analyzed by Peter Spjuth and Donal Fellows. [Bug 781585]
1014
10152003-07-28  Vince Darley  <vincentdarley@users.sourceforge.net>
1016
1017        * doc/FileSystem.3:
1018        * doc/Translate.3: better documentation of Tcl_TranslateFileName and
1019        related functions. [Bug 775220]
1020
10212003-07-24  Mo DeJong  <mdejong@users.sourceforge.net>
1022
1023        * generic/tcl.h: Revert change made on 2003-07-21 since it made the
1024        sizeof(Tcl_Obj) different for regular vs mem debug builds.
1025        * generic/tclInt.h: Define TclDecrRefCount in terms of
1026        Tcl_DbDecrRefCount which removes one layer of inderection.
1027        * generic/tclObj.c (TclDbInitNewObj, Tcl_DbIncrRefCount,
1028        (Tcl_DbDecrRefCount, Tcl_DbIsShared): Define ThreadSpecificData that
1029        contains a hashtable. The table is used to ensure that a Tcl_Obj is
1030        only acted upon in the thread that allocated it. This checking code is
1031        enabled only when mem debug and threads are enabled.
1032
10332003-07-24  Don Porter  <dgp@users.sourceforge.net>
1034
1035        * tests/async.test:     Added several tests that demonstrate [Bug
1036        * tests/basic.test:     489537], Tcl's longstanding failure to
1037        * tests/dict.test:      properly quote any leading '#' character when
1038        * tests/dstring.test:   generating the string rep of a list so that
1039        * tests/list.test:      the comment-power of that character is hidden
1040        * tests/parse.test:     from any [eval], in order to satisfy the
1041        * tests/util.test:      documentation that [list] does [eval]-safe
1042                                quoting.
1043
10442003-07-24  Reinhard Max  <max@suse.de>
1045
1046        * library/package.tcl: Fixed a typo that broke pkg_mkIndex -verbose.
1047        * tests/pkgMkIndex.test: Added a test for [pkg_mkIndex -verbose].
1048
1049        * ChangeLog.2002 (new file):
1050        * ChangeLog: broke changes from 2002 into ChangeLog.2002 to reduce
1051        size of the main ChangeLog.
1052
10532003-07-23  Daniel Steffen  <das@users.sourceforge.net>
1054
1055        * unix/Makefile.in: changes to html-tcl & html-tk targets for
1056        compatibility with non-gnu makes.
1057
1058        * unix/Makefile.in: added macosx/README to dist target.
1059
10602003-07-23  Pat Thoyts  <patthoyts@users.sourceforge.net>
1061
1062        * win/tclWinReg.c (OpenSubKey): Fixed bug 775976 which causes the
1063        registry set command to fail when built with VC7.
1064        * library/reg/pkgIndex.tcl: Incremented the version to 1.1.2.
1065
10662003-07-21  Mo DeJong  <mdejong@users.sourceforge.net>
1067
1068        Check that the thread incrementing or decrementing the ref count of a
1069        Tcl_Obj is the thread that originally allocated the thread. This fail
1070        fast behavior will catch programming errors that allow a single
1071        Tcl_Obj to be accessed from multiple threads.
1072
1073        * generic/tcl.h (Tcl_Obj): Add allocThread member to Tcl_Obj. This
1074        member records the thread id the Tcl_Obj was allocated. It is used to
1075        check that any future ref count incr or decr is done from the same
1076        thread that allocated the Tcl_Obj. This member is defined only when
1077        threads and mem debug are enabled.
1078        * generic/tclInt.h (TclNewObj, TclDbNewObj, TclDecrRefCount):
1079        Define TclNewObj and TclDbNewObj using TclDbInitNewObj when mem debug
1080        is enabled. This fixes a problem where TclNewObj calls did not work
1081        the same as TclDbNewObj when mem debug was enabled.
1082        * generic/tclObj.c (TclDbInitNewObj, Tcl_DbIncrRefCount,
1083        (Tcl_DbDecrRefCount): Add new helper to init Tcl_Obj members when mem
1084        debug is enabled. Init the allocThread member in TclDbInitNewObj and
1085        check it in Tcl_DbIncrRefCount and Tcl_DbDecrRefCount to make sure a
1086        Tcl_Obj allocated in one thread is not being acted upon in another
1087        thread.
1088
10892003-07-21  Vince Darley  <vincentdarley@users.sourceforge.net>
1090
1091        * test/cmdAH.test: ensure certain tests run in local filesystem. [Bug
1092        748960]
1093
10942003-07-18  Daniel Steffen  <das@users.sourceforge.net>
1095
1096        * macosx/Makefile: added option to allow installing manpages in
1097        addition to default html help.
1098
10992003-07-18  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
1100
1101        * doc/Utf.3: Tightened up documentation of Tcl_UtfNext and Tcl_UtfPrev
1102        to better match the behaviour. [Bug 769895]
1103
11042003-07-18  Jeff Hobbs  <jeffh@ActiveState.com>
1105
1106        * library/http/pkgIndex.tcl: upped to http v2.4.4
1107        * library/http/http.tcl: add support for user:pass info in URL.
1108        * tests/http.test:       [Bug 759888] (shiobara)
1109
11102003-07-18  Don Porter  <dgp@users.sourceforge.net>
1111
1112        * doc/tcltest.n:                Restored the [Eval] proc to replace
1113        * library/tcltest/tcltest.tcl:  the [::puts] command when either the
1114        -output or -error option for [test] is in use, in order to capture
1115        data written to the output or error channels for comparison against
1116        what is expected.  This is easier to document and agrees better with
1117        most user expectations than the previous attempt to replace [puts]
1118        only in the caller's namespace.  Documentation made more precise on
1119        the subject.  [Bug 706359]
1120
1121        * doc/AddErrInfo.3:     Improved consistency of documentation by
1122        * doc/CrtTrace.3:       using "null" everywhere to refer to the
1123        * doc/Encoding.3:       character '\0', and using "NULL" everywhere
1124        * doc/Eval.3:           to refer to the value of a pointer that points
1125        * doc/GetIndex.3:       to nowhere. Also dropped references to ASCII
1126        * doc/Hash.3:           that are no longer true, and standardized on
1127        * doc/LinkVar.3:        the hyphenated spelling of "null-terminated".
1128        * doc/Macintosh.3:
1129        * doc/OpenFileChnl.3:
1130        * doc/SetVar.3:
1131        * doc/StringObj.3:
1132        * doc/Utf.3:
1133
1134        * doc/CrtSlave.3 (Tcl_MakeSafe):  Removed warning about possible
1135        deprecation (no TIP on that).
1136
11372003-07-17  Daniel Steffen  <das@users.sourceforge.net>
1138
1139        * unix/tclUnixFCmd.c: fix for compilation errors on platforms where
1140        configure detects non-functional chflags(). [Bug 748946]
1141
1142        * macosx/Makefile: Rewrote buildsystem for Mac OS X framework build
1143        to be purely make driven; in order to become independent of Apple's
1144        closed-source IDE and build tool. The changes are intended to be
1145        transparent to the Makefile user, all existing make targets and cmd
1146        line variable overrides should continue to work. Changed build to only
1147        include tcl specific html help in Tcl.framework, the tk specific html
1148        help is now included in Tk.framework. Added var to allow overriding of
1149        tclsh used during html help building (Landon Fuller).
1150
1151        * macosx/Tcl.pbproj/project.pbxproj:
1152        * macosx/Tcl.pbproj/jingham.pbxuser: Changed to purely call through to
1153        the make driven buildsystem; Tcl.framework is no longer assembled by
1154        ProjectBuilder.
1155        Set default SYMROOT in target options to simplify setting up PB
1156        (manually setting common build folder for tcl & tk no longer needed).
1157
1158        * tools/tcltk-man2html.tcl: Added options to allow building only the
1159        tcl or tk html help files; the default behaviour with none of the new
1160        options is to build both, as before.
1161
1162        * unix/Makefile.in: Added targets for building only the tcl or tk help
1163
1164        * macosx/README (new): Tcl specific excerpts of tk/macosx/README.
1165
1166        * generic/tcl.h: Updated reminder comment about editing
1167        macosx/Tcl.pbproj/project.pbxproj when version number changes.
1168
11692003-07-16  Mumit Khan  <khan@nanotech.wisc.edu>
1170
1171        * generic/tclPathObj.c (SetFsPathFromAny): Add Cygwin specific code to
1172        convert POSIX filename to native format.
1173        * generic/tclFileName.c (Tcl_TranslateFileName): And remove from here.
1174        (TclDoGlob): Adjust for cygwin and append / for dirs instead of \
1175        * win/tclWinFile.c (TclpObjChdir): Use chdir on Cygwin.
1176        [Patch 679315]
1177
11782003-07-16  Jeff Hobbs  <jeffh@ActiveState.com>
1179
1180        * library/safe.tcl (FileInAccessPath): normalize paths before
1181        comparison. [Bug 759607] (myers)
1182
1183        * unix/tclUnixNotfy.c (NotifierThreadProc): correct size of found and
1184        word vars from int to long. [Bug 767578] (hgo)
1185
1186        * generic/tcl.h:       Add recognition of -DTCL_UTF_MAX=6 on the make
1187        * generic/regcustom.h: line to support UCS-4 mode. No config arg at
1188        this time, as it is not the recommended build mode.
1189
1190        * generic/tclPreserve.c: In Result and Preserve'd routines, do not
1191        * generic/tclUtil.c:     assume that ckfree == free, as that is not
1192        * generic/tclResult.c:   always true. [Bug 756791] (fuller)
1193
11942003-07-16  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
1195
1196        * doc/CrtSlave.3 (Tcl_MakeSafe): Updated documentation to strongly
1197        discourage use. IMHO code outside the core that uses this function is
1198        a bug... [Bug 655300]
1199
12002003-07-16  Don Porter  <dgp@users.sourceforge.net>
1201
1202        * generic/tclFileName.c (Tcl_GlobObjCmd):       [Bug 771840]
1203        * generic/tclPathObj.c (Tcl_FSConvertToPathType):[Bug 771947]
1204        * unix/tclUnixFCmd.c (GetModeFromPermString):   [Bug 771949]
1205        Silence compiler warnings about unreached lines.
1206
1207        * library/tcltest/tcltest.tcl (ProcessFlags):   Corrected broken call
1208        * library/tcltest/pkgIndex.tcl:                 to [lrange]. Bumped to
1209        version 2.2.4. [Bug 772333]
1210
12112003-07-15  Mo DeJong  <mdejong@users.sourceforge.net>
1212
1213        * unix/dltest/pkga.c (Pkga_EqObjCmd): Fix typo that was causing a
1214        crash in load.test.
1215
12162003-07-15  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
1217
1218        * doc/array.n: Make sure docs are synched with the 8.4 release.
1219
12202003-07-15  Don Porter  <dgp@users.sourceforge.net>
1221
1222        * doc/http.n:  Updated SYNOPSIS to match actual syntax of commands.
1223        [Bug 756112]
1224
1225        * unix/dltest/pkga.c:   Updated to not use Tcl_UtfNcmp and counted
1226        strings instead of strcmp (not defined in any #include'd header) and
1227        presumed NULL-terminated strings.
1228
1229        * generic/tclCompCmds.c (TclCompileIfCmd):  Prior fix of Bug 711371 on
1230        2003-04-07 introduced a buffer overflow. Corrected. [Bug 771613]
1231
12322003-07-15  Kevin B. Kenny  <kennykb@acm.org>
1233
1234        * win/rules.vc: Added a missing $(OPTDEFINES) which broke the build if
1235        STATS=memdbg was specified.
1236
12372003-07-15  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
1238
1239        * generic/tclCmdIL.c (SortCompare): Cleared up confusing error
1240        message. [Bug 771539]
1241
12422003-07-11  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
1243
1244        * tests/binary.test (binary-46.*): Tests to help enforce the current
1245        behaviour.
1246        * doc/binary.n: Documented that [binary format a] and [binary scan a]
1247        do encoding conversion by dropping high bytes, unlike the rest of the
1248        core. [Bug 735364]
1249
12502003-07-11  Don Porter  <dgp@users.sourceforge.net>
1251
1252        * library/package.tcl:  Corrected [pkg_mkIndex] bug reported on
1253        comp.lang.tcl. The indexer was searching for newly indexed packages
1254        instead of newly provided packages.
1255
12562003-07-08  Vince Darley  <vincentdarley@users.sourceforge.net>
1257
1258        * tests/winFCmd.test: fix for five tests under win98 [Bug 767679]
1259
12602003-07-07  Jeff Hobbs  <jeffh@ActiveState.com>
1261
1262        * doc/array.n: add examples from Welton
1263
12642003-06-23  Vince Darley  <vincentdarley@users.sourceforge.net>
1265
1266        * doc/file.n: clarification of 'file tail' behaviour [Bug 737977]
1267
12682003-07-04  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
1269
1270        * doc/expr.n: Tighten up the wording of some operations. [Bug 758488]
1271
1272        * tests/cmdAH.test: Made tests of [file mtime] work better on FAT
1273        filesystems. [Patch 760768]  Also a little general cleanup.
1274
1275        * generic/tclCmdMZ.c (Tcl_StringObjCmd): Made [string map] accept
1276        dictionaries for maps.  This is much trickier than it looks, since map
1277        entry ordering is significant. [Bug 759936]
1278
1279        * generic/tclVar.c (Tcl_ArrayObjCmd, TclArraySet): Made [array get]
1280        and [array set] work with dictionaries, producing them and consuming
1281        them. Note that for compatability reasons, you will never get a dict
1282        from feeding a string literal to [array set] since that alters the
1283        trace behaviour of "multi-key" sets. [Bug 759935]
1284
12852003-06-23  Vince Darley  <vincentdarley@users.sourceforge.net>
1286
1287        * generic/tclTrace.c: fix to Window debug build compilation error.
1288
12892003-06-27  Don Porter  <dgp@users.sourceforge.net>
1290
1291        * tests/init.test: Added [cleanupTests] to report results of tests
1292        * tests/pkg.test:  that run in slave interps.  [Bugs 761334,761344]
1293
1294        * tests/http.test: Used more reliable path to find httpd script.
1295
12962003-06-25  Don Porter  <dgp@users.sourceforge.net>
1297
1298        * tests/init.test:  Added tests init-4.6.* to illustrate [Bug 760872]
1299
13002003-06-25  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
1301
1302        * generic/tclTrace.c: New file, factoring out of virtually all the
1303        various trace-related things from tclBasic.c and tclCmdMZ.c with the
1304        goal of making this a separate maintenance area.
1305
13062003-06-25  Mo DeJong  <mdejong@users.sourceforge.net>
1307
1308        * unix/configure: Regen.
1309        * unix/tcl.m4 (SC_CONFIG_CFLAGS): Add -ieee when compiling with cc and
1310        add -mieee when compiling with gcc under OSF1-V5 "Tru64" systems. [Bug
1311        748957]
1312
13132003-06-24  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
1314
1315        * doc/encoding.n: Corrected the docs to say that [source] uses the
1316        system encoding, which it always did anyway (since 8.1) [Bug 742100]
1317
13182003-06-24  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
1319
1320        * generic/tclHash.c (Tcl_HashStats): Prevented occurrence of
1321        division-by-zero problems.  [Bug 759749]
1322
13232003-06-24  Mo DeJong  <mdejong@users.sourceforge.net>
1324
1325        * unix/tclUnixPort.h: #undef inet_ntoa before #define to avoid
1326        compiler warning under freebsd. [Bug 745844]
1327
13282003-06-23  Pat Thoyts  <patthoyts@users.sourceforge.net>
1329
1330        * doc/dde.n:                 Committed TIP #135 which changes the
1331        * win/tclWinDde.c:           -exact option to -force. Also cleaned a
1332        * tests/winDde.test:         bug in the tests.
1333        * library/dde/pkgIndex.tcl:  Incremented version to 1.2.5
1334
1335        * doc/dde.n:                 Committed TIP #120 which provides the
1336        * win/tclWinDde.c:           dde package for safe interpreters.
1337        * tests/winDde.test:         Incremented package version to 1.2.4
1338        * library/dde/pkgIndex.tcl:
1339
13402003-06-23  Vince Darley  <vincentdarley@users.sourceforge.net>
1341
1342        * generic/tclFCmd.c: fix to bad error message when trying to do 'file
1343        copy foo ""'. [Bug 756951]
1344        * tests/fCmd.test: added two new tests for the bug.
1345
1346        * win/tclWinFile.c:
1347        * win/tclWin32Dll.c: recommitted some filesystem globbing speed-ups,
1348        but disabled some on the older Win 95/98/ME where they don't seem to
1349        work.
1350
1351        * doc/FileSystem.3: documentation fix [Bug 720634]
1352
13532003-06-18  Miguel Sofer <msofer@users.sf.net>
1354
1355        * generic/tclNamesp.c (Tcl_Export): removed erroneous comments. [Bug
1356        756744]
1357
13582003-06-17  Vince Darley  <vincentdarley@users.sourceforge.net>
1359
1360        * win/makefile.vc:  fixes to check-in below so compilation now works
1361        again on Windows.
1362
1363        * generic/tclCmdMZ.c:
1364        * tests/regexp.test: fixing of bugs related to regexp and regsub
1365        matching of empty strings. Addition of a number of new tests. [Bug
1366        755335]
1367
13682003-06-16  Andreas Kupries  <andreask@activestate.com>
1369
1370        * win/Makefile.in:  Haven't heard back from David for a week. Now
1371        * win/configure:    committing the remaining changes.
1372        * win/configure.in: Note: In active contact with Helmut Giese about
1373        * win/makefile.vc:  the borland relatedchanges. This part will see
1374        * win/rules.vc:     future updates.
1375        * win/tcl.m4:
1376        * win/makefile.bc:
1377
13782003-06-10  Andreas Kupries  <andreask@activestate.com>
1379
1380        * generic/tclConfig.c (ASSOC_KEY): Changed the key to
1381        "tclPackageAboutDict" (tcl prefix) to make collisions with the keys of
1382        other packages more unlikely.
1383
13842003-06-10  Miguel Sofer <msofer@users.sf.net>
1385
1386        * generic/tclBasic.c:
1387        * generic/tclExecute.c: let TclExecuteObjvInternal call
1388        TclInterpReady instead of relying on its callers to do so; fix for the
1389        part of [Bug 495830] that is new in 8.4.
1390        * tests/interp.test: Added tests 18.9 (knownbug) and 18.10
1391
13922003-06-09  Andreas Kupries  <andreask@activestate.com>
1393
1394        * generic/tcl.decls:  Ported the changes from the
1395        * generic/tcl.h:      'tip-59-implementation' branch into the CVS
1396        * generic/tclBasic.c: head. Regenerated stub table. Regenerated the
1397        * generic/tclInt.h:   configure's scripts, with help from Joe English.
1398        * generic/tclDecls.h:
1399        * generic/tclStubInit.c:
1400        * generic/tclConfig.c:
1401        * generic/tclPkgConfig.c:
1402        * unix/Makefile.in:
1403        * unix/configure.in:  The changes in the windows section are not yet
1404        * unix/tcl.m4:        committed, they await feedback from David
1405        * unix/mkLinks:       Gravereaux.
1406        * doc/RegConfig.3:
1407        * mac/tclMacPkgConfig.c:
1408        * tests/config.test:
1409
14102003-06-09  Don Porter  <dgp@users.sourceforge.net>
1411
1412        * string.test (string-4.15): Added test for [string first] bug
1413        reported in Tcl 8.3, where test for all-single-byte-encoded strings
1414        was not reliable.
1415
14162003-06-04  Joe Mistachkin  <joe@mistachkin.com>
1417
1418        * tools/man2help.tcl: Added duplicate help section checking and
1419        * tools/index.tcl:    corrected a comment typo for the getTopics proc
1420        in index.tcl. [Bug 748700]
1421
14222003-06-02  Vince Darley  <vincentdarley@users.sourceforge.net>
1423
1424        * win/tclWinFCmd.c:
1425        * tests/fCmd.test: fix to [Bug #747575] in which a bad error message
1426        is given when trying to rename a busy directory to one with the same
1427        prefix, but not the same name. Added three new tests.
1428
14292003-05-23  D. Richard Hipp <drh@hwaci.com>
1430
1431        * win/tclWinTime.c: Add tests to detect and avoid a division by zero
1432        in the windows precision timer calibration logic.
1433
14342003-05-23  Don Porter  <dgp@users.sourceforge.net>
1435
1436        * generic/tclObj.c (tclCmdNameType):  Converted internal rep
1437        management of the cmdName Tcl_ObjType the opposite way, to always use
1438        the twoPtrValue instead of always using the otherValuePtr. Previous
1439        fix on 2003-05-12 broke several extensions that wanted to poke around
1440        with the twoPtrValue.ptr2 value of a cmdName Tcl_Obj, like TclBlend
1441        and e4graph. [Bug 726018]
1442        Thanks to George Petasis for the bug report and Jacob Levy for testing
1443        assistance.
1444
14452003-05-23  Mo DeJong  <mdejong@users.sourceforge.net>
1446
1447        * unix/mkLinks: Set the var S to "" at the top of the file to avoid
1448        error when user has set S to something. [Tk Bug 739833]
1449
14502003-05-22  Daniel Steffen  <das@users.sourceforge.net>
1451
1452        * macosx/Tcl.pbproj/project.pbxproj: added missing references to new
1453        source files tclPathObj.c and tclMacOSXFCmd.c.
1454
1455        * macosx/tclMacOSXBundle.c: fixed a problem that caused only the first
1456        call to Tcl_MacOSXOpenVersionedBundleResources() for a given bundle
1457        identifier to succeed. This caused the tcl runtime library not to be
1458        found in all interps created after the inital one.
1459
14602003-05-19  Kevin B. Kenny  <kennykb@hippolyta>
1461
1462        * unix/tclUnixTime.c: Corrected a bug in conversion of non-ASCII
1463        chars in the format string.
1464
14652003-05-19  Daniel Steffen  <das@users.sourceforge.net>
1466
1467        * macosx/Tcl.pbproj/project.pbxproj: changed tclConfig.sh location in
1468        versioned framework subdirectories to be identical to location in
1469        framework toplevel; fixed stub library symbolic links to be tcl
1470        version specific.
1471
1472        * unix/tclUnixTime.c: fixed typo.
1473
14742003-05-18  Kevin Kenny  <kennykb@acm.org>
1475
1476        * compat/strftime.c:  Modified TclpStrftime to return its result in
1477        * generic/tclClock.c: UTF-8 encoding, and removed the conversion from
1478        * mac/tclMacTime.c:   system encoding to UTF-8 from [clock format].
1479        * unix/tclUnixTime.c: Needed to avoid double conversion of the
1480        * win/tclWinTime.c:   timezone name on Windows systems. [Bug 624408]
1481
14822003-05-16  Pat Thoyts  <patthoyts@users.sourceforge.net>
1483
1484        * library/dde/pkgIndex.tcl:  Applied TIP #130 which provides for
1485        * tests/winDde.test:         unique dde server names. Added some more
1486        * win/tclWinDde.c:           tests. Fixes [Bug 219293]
1487
1488        * doc/dde.n: Updated documentation re TIP #130.
1489        * tests/winDde.test: Applied patch for [Bug 738929] by KKB and changed
1490        to new-style tests.
1491
14922003-05-16  Kevin B. Kenny  <kennykb@acm.org>
1493
1494        * unix/Makefile.in:     Removed one excess source file tclDToA.c
1495
14962003-05-16  Daniel Steffen  <das@users.sourceforge.net>
1497
1498        * macosx/Tcl.pbproj/project.pbxproj: updated copyright year.
1499
15002003-05-15  Kevin B. Kenny  <kennykb@acm.org>
1501
1502        * generic/tclGetDate.y: added further hackery to the yacc
1503        * generic/tclDate.c:    post-processing to arrange for the code to set
1504        * unix/Makefile.in:     up exit handlers to free the stacks. [Bug
1505                                736425]
1506
15072003-05-15  Jeff Hobbs  <jeffh@ActiveState.com>
1508
1509        * win/tclWinFile.c (TclpMatchInDirectory): revert glob code to r1.44
1510        as 2003-04-11 optimizations broke Windows98 glob'ing.
1511
1512        * doc/socket.n: nroff font handling correction
1513
1514        * library/encoding/gb2312-raw.enc (new): This is the original
1515        gb2312.enc renamed to allow for it to still be used. This is needed by
1516        Tk (unix) because X fonts with gb2312* charsets really do want the
1517        original gb2312 encoding. [Bug 557030]
1518
15192003-05-14  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
1520
1521        * generic/tclCmdAH.c (Tcl_FormatObjCmd): Stop unwarranted demotion of
1522        wide values to longs by formatting of int values. [Bug 699060]
1523
15242003-05-14  Jeff Hobbs  <jeffh@ActiveState.com>
1525
1526        * library/encoding/gb2312.enc: copy euc-cn.enc over original
1527        gb2312.enc. gb2312.enc appeared to not work as expected, and most uses
1528        of gb2312 really mean euc-cn (which may be the cause of the problem).
1529        [Bug 557030]
1530
15312003-05-14  Daniel Steffen  <das@users.sourceforge.net>
1532
1533        Implementation of TIP 118:
1534
1535        * generic/tclFCmd.c (TclFileAttrsCmd): return the list of attributes
1536        that can be retrieved without error for a given file, instead of
1537        aborting the whole command when any error occurs.
1538
1539        * unix/tclUnixFCmd.c: added support for new file attributes and for
1540        copying Mac OS X file attributes & resource fork during [file copy].
1541
1542        * generic/tclInt.decls: added declarations of new external commands
1543        needed by new file attributes support in tclUnixFCmd.c.
1544
1545        * macosx/tclMacOSXFCmd.c (new): Mac OS X specific implementation of
1546        new file attributes and of attribute & resource fork copying.
1547
1548        * mac/tclMacFCmd.c: added implementation of -rsrclength attribute &
1549        fixes to other attributes for consistency with OSX implementation.
1550
1551        * mac/tclMacResource.c: fixes to OSType handling.
1552
1553        * doc/file.n: documentation of [file attributes] changes.
1554
1555        * unix/configure.in: check for APIs needed by new file attributes.
1556
1557        * unix/Makefile.in:
1558        * unix/tcl.m4: added new platform specifc tclMacOSXFCmd.c source.
1559
1560        * unix/configure:
1561        * generic/tclStubInit.c:
1562        * generic/tclIntPlatDecls.h: regen.
1563
1564        * tools/genStubs.tcl: fixes to completely broken code trying to
1565        prevent overlap of "aqua", "macosx", "x11" and "unix" stub entries.
1566
1567        * tests/unixFCmd.test: added tests of -readonly attribute.
1568
1569        * tests/macOSXFCmd.test (new): tests of macosx file attributes and of
1570        preservation of attributes & resource fork during [file copy].
1571
1572        * tests/macFCmd.test: restore -readonly attribute of test dir, as
1573        otherwise its removal can fail on unices supporting -readonly.
1574
15752003-05-13  David Gravereaux <davygrvy@pobox.com>
1576
1577        * generic/tclEnv.c: Another putenv() copy behavior problem repaired
1578        when compiling on windows and using microsoft's runtime. [Bug 736421]
1579
15802003-05-13  Jeff Hobbs  <jeffh@ActiveState.com>
1581
1582        * generic/tclIOUtil.c: ensure cd is thread-safe.
1583        [Bug 710642] (vasiljevic)
1584
15852003-05-13  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
1586
1587        * generic/tclEvent.c (Tcl_Finalize): Removed unused variable to reduce
1588        compiler warnings. [Bug 664745]
1589
15902003-05-13  Joe Mistachkin  <joe@mistachkin.com>
1591
1592        * generic/tcl.decls:  Changed Tcl_JoinThread parameter name from
1593        * generic/tclDecls.h: "id" to "threadId". [Bug 732477]
1594        * unix/tclUnixThrd.c:
1595        * win/tclWinThrd.c:
1596        * mac/tclMacThrd.c:
1597
15982003-05-13  Daniel Steffen  <das@users.sourceforge.net>
1599
1600        * generic/tcl.decls:
1601        * macosx/tclMacOSXBundle.c: added extended version of the
1602        Tcl_MacOSXOpenBundleResources() API taking an extra version number
1603        argument: Tcl_MacOSXOpenVersionedBundleResources(). This is needed to
1604        be able to access bundle resources in versioned frameworks such as Tcl
1605        and Tk, otherwise if multiple versions were installed, only the latest
1606        version's resources could be accessed. [Bug 736774]
1607
1608        * unix/tclUnixInit.c (Tcl_MacOSXGetLibraryPath): use new versioned
1609        bundle resource API to get tcl runtime library for TCL_VERSION. [Bug
1610        736774]
1611
1612        * generic/tclPlatDecls.h:
1613        * generic/tclStubInit.c: regen.
1614
1615        * unix/tclUnixPort.h: worked around the issue of realpath() not
1616        being thread-safe on Mac OS X by defining NO_REALPATH for threaded
1617        builds on Mac OS X. [Bug 711232]
1618
16192003-05-12  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
1620
1621        * tests/cmdAH.test: General clean-up of tests so that all
1622        tcltest-specific commands are protected by constraints and all
1623        platforms see the same number of tests. [Bug 736431]
1624
16252003-05-12  Don Porter  <dgp@users.sourceforge.net>
1626
1627        * generic/tclInterp.c: (AliasObjCmd):   Added refCounting of the words
1628        * tests/interp.test (interp-33.1):      of the target of an interp
1629        alias during its execution. Also added test. [Bug 730244]
1630
1631        * generic/tclBasic.c (TclInvokeObjectCommand):  objv[argc] is no
1632        longer set to NULL (Tcl_CreateObjCommand docs already say that it
1633        should not be accessed).
1634
1635        * tests/cmdMZ.test:  Forgot to import [temporaryDirectory].
1636
1637        * generic/tclObj.c (tclCmdNameType):  Corrected variable use of the
1638        otherValuePtr or the twoPtrValue.ptr1 fields to store a
1639        (ResolvedCmdName *) as the internal rep. [Bug 726018]
1640
1641        * doc/Eval.3:  Corrected prototype for Tcl_GlobalEvalObj [Bug 727622].
1642
16432003-05-12  Miguel Sofer <msofer@users.sf.net>
1644
1645        * generic/tclVar.c (TclObjLookupVar): [Bug 735335] temporary fix,
1646        disabling usage of tclNsVarNameType.
1647        * tests/var.test (var-15.1): test for [Bug 735335]
1648
16492003-05-10  Jeff Hobbs  <jeffh@ActiveState.com>
1650
1651        * win/tclWinSerial.c (SerialCloseProc): correct mem leak on closing a
1652        Windows serial port [Bug 718002] (schroedter)
1653
1654        * generic/tclCmdMZ.c (Tcl_StringObjCmd): prevent string repeat crash
1655        when overflow sizes were given (throws error). [Bug 714106]
1656
16572003-05-09  Joe Mistachkin <joe@mistachkin.com>
1658
1659        * generic/tclThreadAlloc.c (TclFreeAllocCache): Fixed memory leak
1660        caused by treating cachePtr as a TLS index. [Bug 731754]
1661
1662        * win/tclAppInit.c (Tcl_AppInit): Fixed memory leaks caused by not
1663        freeing the memory allocated by setargv and the async handler created
1664        by Tcl_AppInit. An exit handler has been created that takes care of
1665        both leaks. In addition, Tcl_AppInit now uses ckalloc instead of
1666        Tcl_Alloc to allow for easier leak tracking and to be more consistent
1667        with the rest of the Tcl core. [Bugs 733156, 733221]
1668
1669        * tools/encoding/txt2enc.c (main): Fixed memory leak caused by failing
1670        to free the memory used by the toUnicode array of strings [Bug 733221]
1671
16722003-05-09  Miguel Sofer <msofer@users.sf.net>
1673
1674        * generic/tclCompile.c (TclCompileScript):
1675        * tests/compile.test (compile-3.5): corrected wrong test and
1676        behaviour in the earlier fix for [Bug 705406]; Don Porter reported
1677        this as [Bug 735055], and provided the solution.
1678
16792003-05-09  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
1680
1681        * generic/tclCmdMZ.c (Tcl_ReturnObjCmd): The array of strings passed
1682        to Tcl_GetIndexFromObj must be NULL terminated. [Bug 735186]
1683        Thanks to Joe Mistachkin for spotting this.
1684
16852003-05-07  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
1686
1687        * doc/trace.n: Fixed very strange language in the documentation for
1688        'trace add execution'. [Bug 729821]
1689
1690        * generic/tclCmdMZ.c (Tcl_TraceObjCmd): Made error message for 'trace
1691        info' more consistent with documentation. [Bug 706961]
1692
1693        * generic/tclDictObj.c (DictInfoCmd): Fixed memory leak caused by
1694        confusion about string ownership.  [Bug 731706]
1695
16962003-05-05  Don Porter  <dgp@users.sourceforge.net>
1697
1698        * generic/tclBasic.c:           Implementation of TIP 90, which
1699        * generic/tclCmdAH.c:           extends the [catch] and [return]
1700        * generic/tclCompCmds.c:        commands to enable creation of a
1701        * generic/tclExecute.c:         proc that is a replacement for
1702        * generic/tclInt.h:             [return]. [Patch 531640]
1703        * generic/tclProc.c:
1704        * generic/tclResult.c:
1705        * tests/cmdAH.test:
1706        * tests/cmdMZ.test:
1707        * tests/error.test:
1708        * tests/proc-old.test:
1709
1710        * library/tcltest/tcltest.tcl: The -returnCodes option to [test]
1711        failed to recognize the symbolic name "ok" for return code 0.
1712
17132003-05-05  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
1714
1715        * generic/tclBasic.c (Tcl_HideCommand): Fixed error message for
1716        grammar and spelling.
1717
17182003-04-28  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
1719
1720        * generic/tclDictObj.c (DictIncrCmd): Updated to reflect the behaviour
1721        with wide increments of the normal [incr] command.
1722        * generic/tclInt.decls: Added TclIncrWideVar2 to internal stub table
1723        and cleaned up.
1724        * tests/incr.test (incr-3.*):
1725        * generic/tclVar.c (TclIncrWideVar2, TclPtrIncrWideVar):
1726        * generic/tclExecute.c (TclExecuteByteCode):
1727        * generic/tclCmdIL.c (Tcl_IncrObjCmd): Make [incr] work when trying to
1728        increment by wide values. [Bug 728838]
1729
1730        * generic/tclCompCmds.c (TclCompileSwitchCmd): Default mode of
1731        operation of [switch] is exact matching. [Bug 727563]
1732
17332003-04-25  Don Porter  <dgp@users.sourceforge.net>
1734
1735        * generic/tclBasic.c:  Tcl_EvalObjv() failed to honor the
1736        TCL_EVAL_GLOBAL flag when resolving command names. Tcl_EvalEx passed a
1737        string rep including leading whitespace and comments to
1738        TclEvalObjvInternal().
1739
17402003-04-25  Andreas Kupries  <andreask@activestate.com>
1741
1742        * win/tclWinThrd.c: Applied SF patch #727271. This patch changes the
1743        code to catch any errors returned by the windows functions handling
1744        TLS ASAP instead of waiting to get some mysterious crash later on due
1745        to bogus pointers. Patch provided by Joe Mistachkin.
1746
1747        This is a stop-gap measure to deal with the low number of ?TLS slots
1748        provided by some of the variants of Windows (60-80).
1749
17502003-04-24  Vince Darley  <vincentdarley@users.sourceforge.net>
1751
1752        * generic/tclFileName.c: fix to bug reported privately by Jeff where,
1753        for example, 'glob -path {[tcl]} *' gets confused by the leading
1754        special character (which is escaped internally), and instead lists
1755        files in '/'. Bug only occurs on Windows where '\' is also a directory
1756        separator.
1757        * tests/fileName.test: added test for the above bug.
1758
17592003-04-22  Andreas Kupries  <andreask@activestate.com>
1760
1761        * The changes below fix SF bugs [593810], and [718045].
1762
1763        * generic/tclIO.c (Tcl_CutChannel, Tcl_SpliceChannel): Invoke
1764        TclpCutSockChannel and TclpSpliceSockChannel.
1765
1766        * generic/tclInt.h: Declare TclpCutSockChannel and
1767        TclpSpliceSockChannel.
1768
1769        * unix/tclUnixSock.c (TclpCutSockChannel, TclpSpliceSockChannel):
1770        Dummy functions, on unix the sockets are _not_ handled specially.
1771
1772        * mac/tclMacSock.c (TclpCutSockChannel, TclpSpliceSockChannel):
1773        * win/tclWinSock.c (TclpCutSockChannel, TclpSpliceSockChannel): New
1774        functions to handle socket specific cut/splice operations: auto-init
1775        of socket system for thread on splice, management of the module
1776        internal per-thread list of sockets, management of association of
1777        sockets with HWNDs for event notification.
1778
1779        * win/tclWinSock.c (NewSocketInfo): Extended initialization
1780        assignments to cover all items of the structure. During debugging of
1781        the new code mentioned above I found that two fileds could contain
1782        bogus data.
1783
1784        * win/tclWinFile.c: Added #undef HAVE_NO_FINDEX_ENUMS before
1785        definition because when compiling in debug mode the compiler complains
1786        about a redefinition, and this warning is also treated as an error.
1787
17882003-04-21  Don Porter  <dgp@users.sourceforge.net>
1789
1790        * library/tcltest/tcltest.tcl:  When the return code of a test does
1791        not meet expectations, report that as the reason for test failure, and
1792        do not attempt to check the test result for correctness. [Bug 725253]
1793
17942003-04-18  Jeff Hobbs  <jeffh@ActiveState.com>
1795
1796        * win/tclWinInt.h (VER_PLATFORM_WIN32_CE): conditionally define.
1797        * win/tclWinInit.c: recognize Windows CE as a Win platform. This just
1798        recognizes CE - full support will come later.
1799
1800        * win/configure: regen
1801        * win/configure.in (SHELL): force it to /bin/sh as autoconf 2.5x
1802        uses /bin/bash, which can fail to find exes in the path (ie: lib).
1803
1804        * generic/tclExecute.c (ExprCallMathFunc): remove incorrect
1805        extraneous cast from Tcl_WideAsDouble.
1806
18072003-04-18  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
1808
1809        * doc/open.n:           Moved serial port options from [fconfigure] to
1810        * doc/fconfigure.n:     [open] as it is up to the creator of a channel
1811                                to describe the channel's special config
1812                                options. [Bug 679010]
1813
18142003-04-16  Don Porter  <dgp@users.sourceforge.net>
1815
1816        * generic/tcl.h:        Made changes so that the "wideInt" Tcl_ObjType
1817        * generic/tclObj.c:     is defined on all platforms, even those where
1818        * generic/tclPort.h:    TCL_WIDE_INT_IS_LONG is defined. Also made the
1819        Tcl_Value struct have a wideValue field on all platforms. This is a
1820        ***POTENTIAL INCOMPATIBILITY*** for TCL_WIDE_INT_IS_LONG platforms
1821        because that struct changes size. This is the same TIP 72
1822        incompatibility that was seen on other platforms at the 8.4.0 release,
1823        when this change should have happened as well. [Bug 713562]
1824
1825        * generic/tclInt.h:  New internal macros TclGetWide() and
1826        TclGetLongFromWide() to deal with both forms of the "wideInt"
1827        Tcl_ObjType, so that conditional TCL_WIDE_INT_IS_LONG code is confined
1828        to the header file.
1829
1830        * generic/tclCmdAH.c:   Replaced most coding that was conditional
1831        * generic/tclCmdIL.c:   on TCL_WIDE_INT_IS_LONG with code that
1832        * generic/tclExecute.c: works across platforms, sometimes using
1833        * generic/tclTest.c:    the new macros above to do it.
1834        * generic/tclUtil.c:
1835        * generic/tclVar.c:
1836
18372003-04-17  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
1838
1839        * doc/socket.n: Added a paragraph to remind people to specify their
1840        encodings when using sockets. [Bug 630621]
1841
18422003-04-16  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
1843
1844        * doc/CrtMathFnc.3: Functions also have to deal with wide ints, but
1845        this was not documented. [Bug 709720]
1846
18472003-04-16  Vince Darley  <vincentdarley@users.sourceforge.net>
1848
1849        * generic/tclPathObj.c: removed undesired 'static' for function which
1850        is now shared (previously it was duplicated).
1851
18522003-04-15  Joe English  <jenglish@users.sourceforge.net>
1853
1854        * doc/namespace.n: added example section "SCOPED SCRIPTS", supplied by
1855        Kevin Kenny. [Bug 219183]
1856
18572003-04-15  Kevin Kenny  <kennykb@acm.org>
1858
1859        * makefile.vc: Updated makefile.vc to conform with Mo DeJong's changes
1860        to Makefile.in and tclWinPipe.c on 2003-04-14. Now passes TCL_PIPE_DLL
1861        in place of TCL_DBGX.
1862        * win/tclWinTime.c: Corrected use of types to make compilation
1863        compatible with VC++5.
1864
18652003-04-15  Vince Darley  <vincentdarley@users.sourceforge.net>
1866
1867        * generic/tclIOUtil.c: finished check-in from yesterday, removing
1868        duplicate function definition.
1869
18702003-04-14  Don Porter  <dgp@users.sourceforge.net>
1871
1872        * generic/tclClock.c:   Corrected compiler warnings.
1873        * generic/tclTest.c:
1874
18752003-04-14  Mo DeJong  <mdejong@users.sourceforge.net>
1876
1877        * win/Makefile.in: Don't define TCL_DBGX symbol for every compile.
1878        Instead, define TCL_PIPE_DLL only when compiling tclWinPipe.c. This
1879        will break other build systems, so they will need to remove the
1880        TCL_DBGX define and replace it with a define for TCL_PIPE_DLL.
1881        * win/tclWinPipe.c (TclpCreateProcess): Remove PREFIX_IDENT and
1882        DEBUG_IDENT from top of file. Use TCL_PIPE_DLL passed in from build
1883        env instead of trying to construct the dll name from already defined
1884        symbols. This approach is more flexible and better in the long run.
1885
18862003-04-14  Kevin Kenny  <kennykb@acm.org>
1887
1888        * win/tclWinFile.c: added conditionals to restore compilation on
1889        VC++6, which was broken by recent changes.
1890
18912003-04-14  Vince Darley  <vincentdarley@users.sourceforge.net>
1892
1893        * generic/tclIOUtil.c:
1894        * generic/tclPathObj.c:
1895        * generic/tclFileSystem.h: overlooked one function which was
1896        duplicated, so this is now shared between modules.
1897        * win/tclWinFile.c: allow this file to compile with VC++ 5.2 again
1898        since Mingw build fixes broke that.
1899
19002003-04-13  Mo DeJong  <mdejong@users.sourceforge.net>
1901
1902        * win/configure: Regen.
1903        * win/configure.in: Add check for FINDEX_INFO_LEVELS from winbase.h,
1904        known to be a problem in VC++ 5.2. Define HAVE_NO_FINDEX_ENUMS if the
1905        define does not exist.
1906        * win/tclWinFile.c: Put declarations for FINDEX_INFO_LEVELS and
1907        FINDEX_SEARCH_OPS inside a check for HAVE_NO_FINDEX_ENUMS so that
1908        these are not declared twice. This fixes the Mingw build.
1909        * win/tclWinTime.c: Rework the init of timeInfo so that the number or
1910        initializers matches the declaration. This was broken under Mingw. Add
1911        cast to avoid compile warning when calling the AccumulateSample
1912        function.
1913
19142003-04-12  Jeff Hobbs  <jeffh@ActiveState.com>
1915
1916        * win/Makefile.in (GENERIC_OBJS): add missing tclPathObj.c
1917
19182003-04-12  Kevin Kenny  <kennykb@acm.org>
1919
1920        * doc/clock.n:
1921        * generic/tclClock.c (Tcl_ClockObjCmd):
1922        * tests/clock.test: Implementation of TIP #124. Also renumbered test
1923        cases to avoid duplicates. [Bug 710310]
1924        * tests/winTime.test:
1925        * win/tclWinTest.c (TestwinclockCmd, TestwinsleepCmd):
1926        * win/tclWinTime.c (Tcl_WinTime, UpdateTimeEachSecond,
1927        (ResetCounterSamples, AccumulateSample, SAMPLES, TimeInfo): Made
1928        substantial changes to the phase-locked loop (replaced an IIR filter
1929        with an FIR one) in a quest for improved loop stability (Bug not
1930        logged at SF, but cited in private communication from Jeff Hobbs).
1931
19322003-04-11  Don Porter  <dgp@users.sourceforge.net>
1933
1934        * generic/tclCmdMZ.c (Tcl_StringObjCmd,STR_IS_INT):  Corrected
1935        inconsistent results of [string is integer] observed on systems where
1936        sizeof(long) != sizeof(int). [Bug 718878]
1937        * tests/string.test: Added tests for Bug 718878.
1938        * doc/string.n: Clarified that [string is integer] accepts 32-bit
1939        integers.
1940
19412003-04-11  Andreas Kupries  <andreask@activestate.com>
1942
1943        * generic/tclIO.c (UpdateInterest): When dropping interest in
1944        TCL_READABLE now dropping interest in TCL_EXCEPTION too. This fixes a
1945        bug where Expect detects eof on a file prematurely on solaris 2.6 and
1946        higher. A much more complete explanation is in the code itself (40
1947        lines of comments for a one-line change :)
1948
19492003-04-11  Vince Darley  <vincentdarley@users.sourceforge.net>
1950
1951        * tests/cmdAH.test: fix test suite problem if /home is a symlink. [Bug
1952        703264]
1953        * generic/tclIOUtil.c: fix bad error message with 'cd ""'. [Bug
1954        704917]
1955        * win/tclWinFile.c, win/tclWin32Dll.c:
1956        * win/tclWinInt.h: allow Tcl to differentiate between reparse points
1957        which are symlinks and mounted volumes, and correctly handle the
1958        latter. This involves some elaborate code to find the actual drive
1959        letter (if possible) corresponding to a mounted volume. [Bug 697862]
1960        * tests/fileSystem.test: add constraints to stop tests running in
1961        ordinary tcl interpreter. [Bug 705675]
1962
1963        * generic/tclIOUtil.c:
1964        * generic/tclPathObj.c: (new file)
1965        * generic/tclFileSystem.h: (new file)
1966        * win/makefile.vc:
1967        Split path object handling out of the virtual filesystem layer, into
1968        tclPathObj.c. This refactoring cleans up the internal filesystem code,
1969        and will make any future optimisations and forthcoming better
1970        thread-safety much easier.
1971
1972        * generic/tclTest.c:
1973        * tests/reg.test: added some 'knownBug' tests for problems in Tcl's
1974        regexp code with the TCL_REG_CAN_MATCH flag (see Bug 703709). Code too
1975        impenetrable to fix right now, but a fix is needed for tip113 to work
1976        correctly.
1977
1978        * tests/fCmd.test
1979        * win/tclWinFile.c: added some filesystem optimisation to the 'glob'
1980        implementation, and some new tests.
1981
1982        * generic/tclCmdMZ.c: fix typo in comment
1983
1984        * tests/winFile.test:
1985        * tests/ioUtil.test:
1986        * tests/unixFCmd.test: renumbered tests with duplicate numbers. [Bug
1987        710361]
1988
19892003-04-10  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
1990
1991        * doc/binary.n: Fixed typo in [binary format w] desc. [Bug 718543]
1992
19932003-04-08  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
1994
1995        * generic/tclCmdAH.c (Tcl_ErrorObjCmd): Strings are only empty if
1996        they have zero length, not if their first byte is zero, so fix test
1997        guarding Tcl_AddObjErrorInfo to take this into account. [Bug
1998        reported by Don Porter; no bug-id.]
1999
20002003-04-07  Don Porter  <dgp@users.sourceforge.net>
2001
2002        * generic/tclCompCmds.c (TclCompileIfCmd):  Corrected string limits of
2003        arguments interpolated in error messages. [Bug 711371]
2004
2005        * generic/tclCmdMZ.c (TraceExecutionProc):  Added missing
2006        Tcl_DiscardResult() call to avoid memory leak.
2007
20082003-04-07  Donal K. Fellows  <zzcgudf@ernie.mvc.mcc.ac.uk>
2009
2010        * generic/tclDictObj.c (Tcl_DictObjCmd): Stopped compilers from
2011        moaning about switch fall-through.  [Bug 716327]
2012        (DictFilterCmd): Yet more warning killing, this time reported by
2013        Miguel Sofer by private chat.
2014
20152003-04-07  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
2016
2017        * tests/dict.test (dict-2.6):
2018        * generic/tclDictObj.c (Tcl_NewDictObj, Tcl_DbNewDictObj): Oops!
2019        Failed to fully initialise the Dict structure.
2020        (DictIncrCmd): Moved valueAlreadyInDictionary label to stop compiler
2021        complaints. [Bug 715751]
2022
2023        * generic/tclDictObj.c (DictIncrCmd): Followed style in the rest of
2024        the core by commenting out wide-specific operations on platforms where
2025        wides are longs, and used longs more thoroughly than ints through
2026        [dict incr] anyway to forestall further bugs.
2027        * generic/tclObj.c: Made sure there's always a tclWideIntType
2028        implementation available, not that it is always useful. [Bug 713562]
2029
20302003-04-05  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
2031
2032        * generic/tclDictObj.c: Removed commented out notes on declarations to
2033        be moved to elsewhere in the Tcl core.
2034
2035        * generic/tclInt.h:     Final stages of plumbing in.
2036        * generic/tclBasic.c:
2037        * generic/tclObj.c (TclInitObjSubsystem):
2038
2039        * unix/Makefile.in, win/Makefile.in, win/makefile.[bv]c: Build support.
2040        * generic/tcl.decls: Added dict public API to stubs table.
2041        * generic/tcl.h (Tcl_DictSearch): Added declaration of structure to
2042        allow user code to iterate over dictionaries.
2043
2044        * doc/DictObj.3:        New files containing dictionary implementation
2045        * doc/dict.n:           documentation and tests as as mandated by TIP
2046        * generic/tclDictObj.c: #111.
2047        * tests/dict.test:
2048
20492003-04-03  Mo DeJong  <mdejong@users.sourceforge.net>
2050
2051        * unix/configure:
2052        * unix/tcl.m4 (SC_CONFIG_CFLAGS): Don't set TCL_LIBS if it is already
2053        set to support use of TCL_LIBS var from tclConfig.sh in the Tk
2054        configure script.
2055
20562003-04-03  Mo DeJong  <mdejong@users.sourceforge.net>
2057
2058        * unix/Makefile.in: Don't subst MATH_LIBS, LIBS, and DL_LIBS
2059        separately. Instead, just subst TCL_LIBS since it includes the
2060        others.
2061        * unix/configure: Regen.
2062        * unix/tcl.m4 (SC_CONFIG_CFLAGS, SC_TCL_LINK_LIBS): Set and subst
2063        TCL_LIBS in SC_CONFIG_CFLAGS instead of SC_TCL_LINK_LIBS. Don't subst
2064        MATH_LIBS since it is now covered by TCL_LIBS.
2065        * unix/tclConfig.sh.in: Use TCL_LIBS instead of DL_LIBS, LIBS, and
2066        MATH_LIBS.
2067        * unix/dltest/Makefile.in: Ditto.
2068
20692003-04-03  Don Porter  <dgp@users.sourceforge.net>
2070
2071        * generic/tclCompCmds.c (TclCompileReturnCmd):  Now that [return]
2072        compiles to INST_RETURN, it is safe to compile even outside a proc.
2073
20742003-04-02  Mo DeJong  <mdejong@users.sourceforge.net>
2075
2076        * win/configure: Regen.
2077        * win/configure.in: Set stub lib flag based on new LIBFLAGSUFFIX
2078        variable.
2079        * win/tcl.m4 (SC_CONFIG_CFLAGS): Set new LIBFLAGSUFFIX that works like
2080        LIBSUFFIX, it is used when creating library names. The previous
2081        implementation would generate -ltclstub85 instead of -ltclstub85s when
2082        configured with --disable-shared.
2083
20842003-04-02  Don Porter  <dgp@users.sourceforge.net>
2085
2086        * generic/tclParse.c (TclSubstTokens):  Moved declaration of
2087        utfCharBytes to beginning of procedure so that it does not go out of
2088        scope (get free()d) while append is still pointing to it. [Bugs
2089        703167, 713754]
2090
20912003-04-01  Mo DeJong  <mdejong@users.sourceforge.net>
2092
2093        * unix/configure: Regen.
2094        * unix/tcl.m4 (SC_CONFIG_CFLAGS): Check for inet_ntoa in -lbind inside
2095        the BeOS block since doing it later broke the build under SuSE 7.3.
2096        [Bug 713128]
2097
20982003-04-01  Don Porter  <dgp@users.sourceforge.net>
2099
2100        * tests/README:  Direct [source] of *.test files is no longer
2101        recommended. The tests/*.test files should only be evaluated under the
2102        control of the [runAllTests] command in tests/all.tcl.
2103
2104        * generic/tclExecute.c (INST_RETURN):  Bytecompiled [return] failed to
2105        reset iPtr->returnCode, causing tests parse-18.17 and parse-18.21 to
2106        fail strangely.
2107        * tests/parse.test (parse-18.21):  Corrected now functioning test.
2108        Added further coverage tests.
2109
21102003-03-31  Don Porter  <dgp@users.sourceforge.net>
2111
2112        * tests/parse.test (parse-18.*):  Coverage tests for the new
2113        implementation of Tcl_SubstObj(). Note that tests parse-18.17 and
2114        parse-18.21 demonstrate some bugs left to fix in the current code.
2115
21162003-03-27  Mo DeJong  <mdejong@users.sourceforge.net>
2117
2118        * unix/configure: Regen.
2119        * unix/tcl.m4 (SC_CONFIG_CFLAGS): Use -Wl,--export-dynamic instead of
2120        -rdynamic for LDFLAGS. The -rdynamic is not documented so it seems
2121        better to pass the --export-dynamic flag to the linker. [Patch 573395]
2122
21232003-03-27  Miguel Sofer <msofer@users.sf.net>
2124
2125        * tests/encoding.test:
2126        * tests/proc-old.test:
2127        * tests/set-old.test: Altered test numers to eliminate duplicates,
2128        [Bugs 710313, 710320, 710352]
2129
21302003-03-27  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
2131
2132        * tests/parseOld.test:  Altered test numers to eliminate duplicates.
2133        * tests/parse.test:     [Bugs 710365, 710369]
2134        * tests/expr-old.test:
2135        * tests/expr.test:
2136
2137        * tests/utf.test:       Altered test numers to eliminate duplicates.
2138        * tests/trace.test:     [Bugs 710322, 710327, 710349, 710363]
2139        * tests/lsearch.test:
2140        * tests/list.test:
2141        * tests/info.test:
2142        * tests/incr-old.test:
2143        * tests/if-old.test:
2144        * tests/format.test:
2145        * tests/foreach.test:
2146
21472003-03-26  Mo DeJong  <mdejong@users.sourceforge.net>
2148
2149        * unix/configure: Regen.
2150        * unix/tcl.m4 (SC_CONFIG_CFLAGS, SC_TCL_LINK_LIBS): Add BeOS system to
2151        SC_CONFIG_CFLAGS. Check for inet_ntoa in -lbind, needed for BeOS.
2152
21532003-03-26  Don Porter  <dgp@users.sourceforge.net>
2154
2155        * doc/tcltest.n:
2156        * library/tcltest/tcltest.tcl:  Added reporting during [configure
2157        -debug 1] operations to warn about multiple uses of the same test
2158        name. [FRQ 576693]
2159
2160        * tests/msgcat.test (msgcat-2.2.1): changed test name to avoid
2161        duplication. [Bug 710356]
2162
2163        * unix/dltest/pkg?.c:  Changed all Tcl_InitStubs calls to pass
2164        argument exact = 0, so that rebuilds are not required when Tcl
2165        bumps to a new version.  [Bug 701926]
2166
21672003-03-24  Miguel Sofer <msofer@users.sf.net>
2168
2169        * generic/tclVar.c:
2170        * tests/var.test: fixing ObjMakeUpvar's lookup algorithm for the
2171        created local variable. [Bug 631741] (Chris Darroch) and [Bug 696893]
2172        (David Hilker)
2173
21742003-03-24  Pat Thoyts  <patthoyts@users.sourceforge.net>
2175
2176        * library/dde/pkgIndex.tcl: bumped version to 1.2.2 in tclWinDde.c,
2177        now adding here too.
2178
21792003-03-22  Kevin Kenny  <kennykb@acm.org>
2180
2181        * library/dde/pkgIndex.tcl:
2182        * library/reg/pkgIndex.tcl: Fixed a bug where [package require dde]
2183        or [package require registry] attempted to load the release version
2184        of the DLL into a debug build. [Bug 708218] Thanks to Joe Mistachkin
2185        for the patch.
2186        * win/makefile.vc: Added quoting around the script name in the 'test'
2187        target; Joe Mistachkin insists that he has a configuration that fails
2188        to launch tcltest without it, and it appears harmless otherwise.
2189
21902003-03-22  Pat Thoyts  <patthoyts@users.sourceforge.net>
2191
2192        * win/tclWinDde.c: Make dde services conform the the documentation
2193        such that giving only a topic name really returns all services with
2194        that topic. [Bug 219155]
2195        Prevent hangup caused by dde server applications failing to process
2196        messages. [Bug 707822]
2197        * tests/winDde.test: Corrected labels and added a test for search by
2198        topic name.
2199
22002003-03-20  Don Porter  <dgp@users.sourceforge.net>
2201
2202        * generic/tclInt.h (tclOriginalNotifier):
2203        * generic/tclStubInit.c (tclOriginalNotifier):
2204        * mac/tclMacNotify.c (Tcl_SetTimer,Tcl_WaitForEvent):
2205        * unix/tclUnixNotfy.c (Tcl_SetTimer,Tcl_WaitForEvent,
2206        (Tcl_CreateFileHandler,Tcl_DeleteFileHandler):
2207        * win/tclWinNotify.c (Tcl_SetTimer,Tcl_WaitForEvent):  Some linkers
2208        apparently use a different representation for a pointer to a function
2209        within the same compilation unit and a pointer to a function in a
2210        different compilation unit. This causes checks like those in the
2211        original notifier procedures to fall into infinite loops. The fix is
2212        to store pointers to the original notifier procedures in a struct
2213        defined in the same compilation unit as the stubs tables, and compare
2214        against those values. [Bug 707174]
2215
2216        * generic/tclInt.h:  Removed definition of ParseValue struct that is
2217        no longer used.
2218
22192003-03-19  Miguel Sofer <msofer@users.sf.net>
2220
2221        * generic/tclCompile.c:
2222        * tests/compile.test: bad command count on TCL_OUT_LINE_COMPILE.
2223        [Bug 705406] (Don Porter)
2224
22252003-03-19  Don Porter  <dgp@users.sourceforge.net>
2226
2227        * library/auto.tcl:             Replaced [regexp] and [regsub] with
2228        * library/history.tcl:          [string map] where possible.  Thanks
2229        * library/ldAout.tcl:           to David Welton. [Bugs 667456,667558]
2230        * library/safe.tcl:             Bumped to http 2.4.3, opt 0.4.5, and
2231        * library/http/http.tcl:        tcltest 2.2.3.
2232        * library/http/pkgIndex.tcl:
2233        * library/opt/optparse.tcl:
2234        * library/opt/pkgIndex.tcl:
2235        * library/tcltest/tcltest.tcl:
2236        * library/tcltest/pkgIndex.tcl:
2237        * tools/genStubs.tcl:
2238        * tools/tcltk-man2html.tcl:
2239        * unix/mkLinks.tcl:
2240
2241        * doc/Eval.3 (Tcl_EvalObjEx):                   Corrected CONST and
2242        * doc/ParseCmd.3 (Tcl_EvalTokensStandard):      return type errors in
2243        documentation. [Bug 683994]
2244
2245        * generic/tclCompCmds.c (TclCompileReturnCmd):  Alternative fix for
2246        * generic/tclCompile.c (INST_RETURN):   [Bug 633204] that uses a new
2247        * generic/tclCompile.h (INST_RETURN):   bytecode INST_RETURN to
2248        * generic/tclExecute.c (INST_RETURN):   properly bytecode the [return]
2249        command to something that returns TCL_RETURN.
2250
22512003-03-18  Mo DeJong  <mdejong@users.sourceforge.net>
2252
2253        * win/configure: Regen.
2254        * win/configure.in: Don't run the AC_CYGWIN macro since it uses
2255        AC_CANONICAL_HOST under autoconf 2.5X. Just check to see if __CYGWIN__
2256        is defined by the compiler and set the ac_cv_cygwin variable based on
2257        that. [Bug 705912]
2258
22592003-03-18  Kevin Kenny  <kennykb@users.sourceforge.net>
2260
2261        * tests/registry.test: Changed the conditionals to avoid an abort if
2262        [testlocale] is missing, as when running the test in tclsh rather than
2263        tcltest. [Bug 705677]
2264
22652003-03-18  Daniel Steffen  <das@users.sourceforge.net>
2266
2267        * tools/tcltk-man2html.tcl: added support for building 'make html'
2268        from inside distribution directories named with 8.x.x version numbers.
2269        tcltk-man2html now uses the latest tcl8.x.x resp. tk8.x.x directories
2270        found inside its --srcdir argument.
2271
22722003-03-17  Mo DeJong  <mdejong@users.sourceforge.net>
2273
2274        * tests/format.test: Renumber tests, a bunch of tests all had the same
2275        id.
2276
22772003-03-17  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
2278
2279        * doc/lsearch.n:        Altered documentation of -ascii options so
2280        * doc/lsort.n:          they don't specify that they operate on ASCII
2281                                strings, which they never did anyway. [Bug
2282                                703807]
2283
22842003-03-14  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
2285
2286        * generic/tclCmdAH.c (Tcl_FormatObjCmd): Only add the modifier that
2287        indicates we've got a wide int when we're formatting in an integer
2288        style.  Stops some libc's from going mad. [Bug 702622] Also tidied
2289        whitespace.
2290
22912003-03-13  Mo DeJong  <mdejong@users.sourceforge.net>
2292
2293        * win/tcl.m4 (SC_WITH_TCL): Port version number fix that was made in
2294        tk instead of tcl sources.
2295
22962003-03-13  Mo DeJong  <mdejong@users.sourceforge.net>
2297
2298        Require autoconf 2.57 or newer, see TIP 34 for a detailed explanation
2299        of why this is good. This will no doubt break the build on some
2300        platforms, let the flaming begin.
2301
2302        * tools/configure: Regen with autoconf 2.57.
2303        * tools/configure.in: Require autoconf 2.57.
2304        * unix/configure: Regen with autoconf 2.57.
2305        * unix/configure.in: Require autoconf 2.57.
2306        Apply AC_LIBOBJ changes from patch 529884.
2307        * unix/tcl.m4: Ditto.
2308        * win/configure: Regen with autoconf 2.57.
2309        * win/configure.in: Require autoconf 2.57.
2310        Don't subst LIBOBJS since this happens by default, this avoids an
2311        autoconf error.
2312
23132003-03-12  Don Porter  <dgp@users.sourceforge.net>
2314
2315        * generic/tclBasic.c (Tcl_EvalTokensStandard):
2316        * generic/tclCmdMZ.c (Tcl_SubstObj):
2317        * generic/tclCompCmds.c (TclCompileSwitchCmd):
2318        * generic/tclCompExpr.c (CompileSubExpr):
2319        * generic/tclCompile.c (TclSetByteCodeFromAny,TclCompileScript,
2320        (TclCompileTokens,TclCompileCmdWord):
2321        * generic/tclCompile.h (TclCompileScript):
2322        * generic/tclExecute.c (TclCompEvalObj):
2323        * generic/tclInt.h (Interp,TCL_BRACKET_TERM,TclSubstTokens):
2324        * generic/tclParse.c (ParseTokens,Tcl_SubstObj,TclSubstTokens):
2325        * tests/subst.test (2.4, 8.7, 8.8, 11.4, 11.5):
2326        Substantial refactoring of Tcl_SubstObj to make use of the same
2327        parsing and substitution procedures as normal script evaluation.
2328        Tcl_SubstObj() moved to tclParse.c. New routine TclSubstTokens()
2329        created in tclParse.c which implements all substantial functioning of
2330        Tcl_EvalTokensStandard(). TclCompileScript() loses its "nested"
2331        argument, the Tcl_Interp struct loses its termOffset field and the
2332        TCL_BRACKET_TERM flag in the evalFlags field, all of which were only
2333        used (indirectly) by Tcl_SubstObj(). Tests subst-8.7,8.8,11.4,11.5
2334        modified to accomodate the only behavior change: reporting of parse
2335        errors now takes precedence over [return] and [continue] exceptions.
2336        All other behavior should remain compatible. [RFE 536831,684982] [Bug
2337        685106]
2338
2339        * generic/tcl.h:        Removed TCL_PREFIX_IDENT and TCL_DEBUG_IDENT
2340        * win/tclWinPipe.c:     from tcl.h -- they are not part of Tcl's
2341        public interface.  Put them in win/tclWinPipe.c where they are used.
2342
2343        * generic/tclInterp.c (Tcl_InterpObjCmd):       Corrected and added
2344        * tests/interp.test (interp-2.13):              test for option
2345        parsing beyond objc for [interp create --]. Thanks to Marco Maggi.
2346        [Bug 702383]
2347
23482003-03-11  Kevin Kenny  <kennykb@users.sourceforge.net>
2349
2350        * win/makefile.vc: Added two missing uses of $(DBGX) so that
2351        tclpip8x.dll loads without panicking on Win9x.
2352
23532003-03-09  Kevin Kenny  <kennykb@users.sourceforge.net>
2354
2355        * generic/tclTest.c (TestChannelCmd): Removed an unused local variable
2356        that caused compilation problems on some platforms.
2357
23582003-03-08  Don Porter  <dgp@users.sourceforge.net>
2359
2360        * doc/tcltest.n:  Added missing "-body" to example. Thanks to Helmut
2361        Giese. [Bug 700011]
2362
23632003-03-07  Mo DeJong  <mdejong@users.sourceforge.net>
2364
2365        * tests/io.test:
2366        * tests/ioCmd.test: Define a fcopy constraint and add it to the
2367        constraint list of any test that depends on the fcopy command. This is
2368        only useful to Jacl which does not support fcopy.
2369
23702003-03-07  Mo DeJong  <mdejong@users.sourceforge.net>
2371
2372        * tests/encoding.test: Name temp files *.tcltestout instead of *.out
2373        so that when they are removed later, we don't accidently toast any
2374        files named *.out that the user has created in the build directory.
2375
23762003-03-07  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
2377
2378        * generic/tclCmdAH.c (Tcl_FileObjCmd): Fix the setting of a file's
2379        mtime and atime on 64-bit platforms. [Bug 698146]
2380
23812003-03-06  Mo DeJong  <mdejong@users.sourceforge.net>
2382
2383        * tests/io.test: Doh! Undo accidental commenting out of a couple of
2384        tests.
2385
23862003-03-06  Mo DeJong  <mdejong@users.sourceforge.net>
2387
2388        * tests/io.test: Define a fileevent constraint and add it to the
2389        constraint list of any test that depends on the fileevent command.
2390        This is only useful to Jacl which does not support fileevent.
2391
23922003-03-06  Mo DeJong  <mdejong@users.sourceforge.net>
2393
2394        * tests/io.test: Define an openpipe constraint and add it to the
2395        constraint list of any test that creates a pipe using the open
2396        command. This is only useful to Jacl which does not support pipes.
2397
23982003-03-06  Don Porter  <dgp@users.sourceforge.net>
2399
2400        * generic/TclUtf.c (Tcl_UniCharNcasecmp):       Corrected failure to
2401        * tests/utf.test (utf-25.*):    properly compare Unicode strings of
2402        different case in a case insensitive manner.  [Bug 699042]
2403
24042003-03-06  Kevin Kenny  <kennykb@users.sourceforge.net>
2405
2406        * generic/tclCompCmds.c (TclCompileSwitchCmd):
2407        Replaced a non-portable 'bzero' with a portable 'memset'. [Bug 698442]
2408
24092003-03-06  Mo DeJong  <mdejong@users.sourceforge.net>
2410
2411        * generic/tclIO.c (Tcl_Seek, Tcl_OutputBuffered): If there is data
2412        buffered in the statePtr->curOutPtr member then set the BUFFER_READY
2413        flag in Tcl_Seek. This is needed so that the next call to FlushChannel
2414        will write any buffered bytes before doing the seek. The existing code
2415        would set the BUFFER_READY flag inside the Tcl_OutputBuffered
2416        function. This was a programming error made when Tcl_OutputBuffered
2417        was originally created in CVS revision 1.35. The setting of the
2418        BUFFER_READY flag should not have been included in the
2419        Tcl_OutputBuffered function.
2420        * generic/tclTest.c (TestChannelCmd): Use the Tcl_InputBuffered and
2421        Tcl_OutputBuffered util methods to query the amount of buffered input
2422        and output.
2423
24242003-03-06  Mo DeJong  <mdejong@users.sourceforge.net>
2425
2426        * generic/tclIO.c (Tcl_Flush): Compare the nextAdded member of the
2427        ChannelBuffer to the nextRemoved member to determine if any output has
2428        been buffered. The previous check against the value 0 seems to have
2429        just been a coding error. See other methods like Tcl_OutputBuffered
2430        for examples where nextAdded is compared to nextRemoved to find the
2431        number of bytes buffered.
2432
24332003-03-06  Mo DeJong  <mdejong@users.sourceforge.net>
2434
2435        * generic/tclIO.c (Tcl_GetsObj): Check that the eol pointer has not
2436        gone past the end of the string when in auto translation mode and the
2437        INPUT_SAW_CR flag is set. The previous code worked because the end of
2438        string value \0 was being compared to \n, this patch just skips that
2439        pointless check.
2440
24412003-03-06  Mo DeJong  <mdejong@users.sourceforge.net>
2442
2443        * generic/tclIO.c (WriteBytes, WriteChars, Tcl_GetsObj, ReadBytes):
2444        Rework calls to TranslateOutputEOL to make it clear that a boolean
2445        value is being returned. Add some comments in an effort to make the
2446        code more clear. This patch makes no functional changes.
2447
24482003-03-06  Mo DeJong  <mdejong@users.sourceforge.net>
2449
2450        * generic/tclIO.c (Tcl_SetChannelOption): Invoke the
2451        Tcl_SetChannelBufferSize method as a result of changing the
2452        -buffersize option to fconfigure. The previous implementation used
2453        some inlined code that reset the buffer size to the default size
2454        instead of ignoring the request as implemented in
2455        Tcl_SetChannelBufferSize.
2456        * tests/io.test: Update test case so that it actually checks the
2457        implementation of Tcl_SetChannelBufferSize.
2458
24592003-03-05  David Gravereaux  <davygrvy@pobox.com>
2460
2461        * win/rules.vc: updated default tcl version to 8.5.
2462
24632003-03-05  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
2464
2465        * generic/tclCompCmds.c (TclCompileSwitchCmd): First attempt at a
2466        bytecode-compiled switch command. It only handles the most common case
2467        of switching, but that should be enough for this to speed up a lot of
2468        people's code. It is expected that the speed gains come from two
2469        things: better handling of the switch itself, and integrated
2470        compilation of the arms instead of embedding separate bytecode
2471        sequences (i.e. better local variable handling.)
2472        * tests/switch.test (switch-10.*): Tests of both uncompiled and
2473        compiled switch behaviour. [Patch #644819]
2474
2475        * generic/tclCompile.h (TclFixupForwardJumpToHere): Additional macro
2476        to make the most common kind of jump fixup a bit easier.
2477
24782003-03-04  Don Porter  <dgp@users.sourceforge.net>
2479
2480        * README:                               Bumped version number of
2481        * generic/tcl.h:                        Tcl to 8.5a0.
2482        * library/init.tcl:
2483        * mac/README:
2484        * macosx/Tcl.pbproj/project.pbxproj:
2485        * tests/basic.test:
2486        * tools/configure.in:
2487        * tools/tcl.hpj.in:
2488        * tools/tcl.wse.in:
2489        * unix/configure.in:
2490        * unix/tcl.spec:
2491        * win/README:
2492        * win/README.binary:
2493        * win/configure.in:
2494        * win/makefile.bc:
2495        * win/makefile.vc:
2496        * win/tcl.m4:
2497
2498        * tools/configure:      autoconf
2499        * unix/configure:
2500        * win/configure:
2501
25022003-03-03  Jeff Hobbs  <jeffh@ActiveState.com>
2503
2504        *** 8.4.2 TAGGED FOR RELEASE ***
2505
25062003-03-03  Daniel Steffen  <das@users.sourceforge.net>
2507
2508        Mac OS Classic specific fixes:
2509        * generic/tclIOUtil.c (TclNewFSPathObj): on TCL_PLATFORM_MAC, skip
2510        potential directory separator at the beginning of addStrRep.
2511        * mac/tclMacChan.c (OpenFileChannel, CommonWatch): followup fixes to
2512        cut and splice implementation for file channels.
2513        * mac/tclMacFile.c (TclpUtime): pass native path to utime().
2514        * mac/tclMacFile.c (TclpObjLink): correctly implemented creation of
2515        alias files via new static proc CreateAliasFile().
2516        * mac/tclMacPort.h: define S_ISLNK macro to fix stat'ing of links.
2517        * mac/tclMacUtil.c (FSpLocationFromPathAlias): fix to enable stat'ing
2518        of broken links.
2519
25202003-03-03  Kevin Kenny  <kennykb@users.sourceforge.net>
2521
2522        * win/Makefile.vc: corrected bug introduced by 'g' for debug builds.
2523
25242003-03-03  Don Porter  <dgp@users.sourceforge.net>
2525
2526        * library/dde/pkgIndex.tcl:     dde bumped to version 1.2.1 for
2527        * win/tclWinDde.c:              bundled release with Tcl 8.4.2
2528
2529        * library/reg/pkgIndex.tcl:     registry bumped to version 1.1.1 for
2530        * win/tclWinReg.c:              bundled release with Tcl 8.4.2
2531
2532        * library/opt/pkgIndex.tcl:     updated package index to version 0.4.4
2533
25342003-02-28  Jeff Hobbs  <jeffh@ActiveState.com>
2535
2536        * win/configure:
2537        * win/configure.in: check for 'g' for debug build type, not 'd'.
2538        * win/rules.vc (DBGX): correct to use 'g' for nmake win makefile to
2539        match the cygwin makefile for debug builds. [Bug 635107]
2540
25412003-02-28  Vince Darley  <vincentdarley@users.sourceforge.net>
2542
2543        * doc/file.n: subcommand is 'file volumes' not 'file volume'
2544
25452003-02-27  Jeff Hobbs  <jeffh@ActiveState.com>
2546
2547        * generic/tclIOUtil.c (MakeFsPathFromRelative): removed dead code
2548        check of typePtr (darley).
2549
2550        * tests/winTime.test: added note about PCI hardware dependency issues
2551        with high performance clock.
2552
25532003-02-27  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
2554
2555        * tests/lsearch.test (lsearch-10.7):
2556        * generic/tclCmdIL.c (Tcl_LsearchObjCmd): Stopped -start option from
2557        causing an option when used with an empty list. [Bug 694232]
2558
25592003-02-26  Chengye Mao <chengye.geo@yahoo.com>
2560
2561        * win/tclWinInit.c: fixed a bug in TclpSetVariables by initializing
2562        dwUserNameLen with the sizeof(szUserName) before calling GetUserName.
2563        Don't know if this bug has been recorded: it caused crash in starting
2564        Tcl or wish in Windows.
2565
25662003-02-26  Jeff Hobbs  <jeffh@ActiveState.com>
2567
2568        * generic/tclCmdMZ.c (TraceCommandProc): Fix mem leak when deleting a
2569        command that had trace on it. [Bug 693564] (sofer)
2570
25712003-02-25  Don Porter  <dgp@users.sourceforge.net>
2572
2573        * doc/pkgMkIndex.n:     Modified [pkg_mkIndex] to use -nocase matching
2574        * library/package.tcl:  of -load patterns, to better accomodate common
2575        user errors due to confusion between [package names] names and [info
2576        loaded] names.
2577
25782003-02-25  Andreas Kupries  <andreask@pliers.activestate.com>
2579
2580        * tests/pid.test: See below [Bug 678412].
2581        * tests/io.test: Made more robust against spaces in paths [Bug 678400]
2582
25832003-02-25  Miguel Sofer <msofer@users.sf.net>
2584
2585        * tests/execute.test: cleaning up testobj's at the end, to avoid
2586          leak warning by valgrind.
2587
25882003-02-22  Zoran Vasiljevic  <zoran@archiwrae.com>
2589
2590        * generic/tclEvent.c (Tcl_FinalizeThread): Fix [Bug 571002]
2591
25922003-02-21  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
2593
2594        * tests/binary.test (binary-44.[34]):
2595        * generic/tclBinary.c (ScanNumber): Fixed problem with unwanted
2596        sign-bit propagation when scanning wide ints. [Bug 690774]
2597
25982003-02-21  Daniel Steffen  <das@users.sourceforge.net>
2599
2600        * mac/tclMacChan.c (TclpCutFileChannel, TclpSpliceFileChannel):
2601        Implemented missing cut and splice procs for file channels.
2602
26032003-02-21  Don Porter  <dgp@users.sourceforge.net>
2604
2605        * library/package.tcl (tclPkgUnknown):  Minor performance tweaks to
2606        reduce the number of [file] invocations. Meant to improve startup
2607        times, at least a little bit. [Patch 687906]
2608
26092003-02-20  Daniel Steffen  <das@users.sourceforge.net>
2610
2611        * unix/tcl.m4:
2612        * unix/tclUnixPipe.c: (macosx) use vfork() instead of fork() to create
2613        new processes, as recommended by Apple (vfork can be up to 100 times
2614        faster thank fork on macosx).
2615        * unix/configure: regen.
2616
26172003-02-20  Jeff Hobbs  <jeffh@ActiveState.com>
2618
2619        * generic/tclEncoding.c (LoadTableEncoding):
2620        * library/encoding/cp932.enc:      Correct jis round-trip encoding
2621        * library/encoding/euc-jp.enc:     by adding 'R' type to .enc files.
2622        * library/encoding/iso2022-jp.enc: [Patch 689341] (koboyasi, taguchi)
2623        * library/encoding/jis0208.enc:
2624        * library/encoding/shiftjis.enc:
2625        * tests/encoding.test:
2626
2627        * unix/tclUnixChan.c (Tcl_MakeTcpClientChannel): add
2628        MakeTcpClientChannelMode that takes actual mode flags to avoid hang on
2629        OS X (may be OS X bug, but patch works x-plat). [Bug 689835] (steffen)
2630
26312003-02-20  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
2632
2633        * doc/regsub.n: Typo fix [Bug 688943]
2634
26352003-02-19  Jeff Hobbs  <jeffh@ActiveState.com>
2636
2637        * unix/tclUnixThrd.c (TclpReaddir):
2638        * unix/tclUnixPort.h: update to Bug 689100 patch to ensure that there
2639        is a defined value of MAXNAMLEN (aka NAME_MAX in POSIX) and that we
2640        have some buffer allocated.
2641
26422003-02-19  Daniel Steffen  <das@users.sourceforge.net>
2643
2644        * generic/tclStringObj.c: restored Tcl_SetObjLength() side-effect of
2645        always invalidating unicode rep (if the obj has a string rep). Added
2646        hasUnicode flag to String struct, allows decoupling of validity of
2647        unicode rep from buffer size allocated to it (improves memory
2648        allocation efficiency). [Bugs 686782, 671138, 635200]
2649
2650        * macosx/Tcl.pbproj/project.pbxproj:
2651        * macosx/Makefile: reworked embedded build to no longer require
2652        relinking but to use install_name_tool instead to change the
2653        install_names for embedded frameworks. [Bug 644510]
2654
2655        * macosx/Tcl.pbproj/project.pbxproj: preserve mod dates when running
2656        'make install' to build framework (avoids bogus rebuilds of dependent
2657        frameworks because tcl headers appear changed).
2658
2659        * tests/ioCmd.test (iocmd-1.8): fix failure when system encoding is
2660        utf-8: use iso8859-1 encoding explicitly.
2661
26622003-02-18  Miguel Sofer <msofer@users.sf.net>
2663
2664        * generic/tclCompile.c (TclCompileExprWords): remove unused variable
2665        "range" [Bug 664743]
2666        * generic/tclExecute.c (ExprSrandFunc): remove unused variable
2667        "result" [Bug 664743]
2668        * generic/tclStringObj.c (UpdateStringOfString): remove unused
2669        variable "length" [Bug 664751]
2670        * tests/execute.test (execute-7.30): fix for [Bug 664775]
2671
26722003-02-18  Andreas Kupries  <andreask@activestate.com>
2673
2674        * unix/tcl.m4: [Bug #651811] Added definition of _XOPEN_SOURCE and
2675        linkage of 'xnet' library to HP 11 branch. This kills a lot of
2676        socket-related failures in the testsuite when Tcl was compiled in 64
2677        bit mode (both PA-RISC 2.0W, and IA 64).
2678
2679        * unix/configure: Regenerated.
2680
26812003-02-18  Jeff Hobbs  <jeffh@ActiveState.com>
2682
2683        * generic/tclIO.c (HaveVersion): correctly decl static
2684
2685        * unix/tclUnixThrd.c (TclpReaddir): reduce size of name string in tsd
2686        to NAME_MAX instead of PATH_MAX. [Bug 689100] (waters)
2687
26882003-02-18  Mo DeJong  <mdejong@users.sourceforge.net>
2689
2690        * unix/configure: Regen.
2691        * unix/tcl.m4 (SC_ENABLE_THREADS): Make sure -lpthread gets passed on
2692        the link line when checking for the pthread_attr_setstacksize symbol.
2693
26942003-02-18  Vince Darley  <vincentdarley@users.sourceforge.net>
2695
2696        * generic/tclTest.c: cleanup of new 'simplefs' test code, and better
2697        documentation.
2698
26992003-02-17  Miguel Sofer <msofer@users.sf.net>
2700
2701        * generic/tclBasic.c (TclRenameCommand): fixing error in previous
2702        commit.
2703
27042003-02-17  Jeff Hobbs  <jeffh@ActiveState.com>
2705
2706        * generic/tclExecute.c (TclExecuteByteCode INST_STR_MATCH):
2707        * generic/tclCmdMZ.c (Tcl_StringObjCmd STR_MATCH):
2708        * generic/tclUtf.c (TclUniCharMatch):
2709        * generic/tclInt.decls:  add private TclUniCharMatch function that
2710        * generic/tclIntDecls.h: does string match on counted unicode
2711        * generic/tclStubInit.c: strings. Tcl_UniCharCaseMatch has the failing
2712        * tests/string.test:     that it can't handle strings or patterns with
2713        * tests/stringComp.test: embedded NULLs. Added tests that actually try
2714        strings/pats with NULLs. TclUniCharMatch should be TIPed and made
2715        public in the next minor version rev.
2716
27172003-02-17  Miguel Sofer <msofer@users.sf.net>
2718
2719        * generic/tclBasic.c (TclRenameCommand): 'oldFullName' object was not
2720        being freed on all function exits, causing a memory leak. [Bug 684756]
2721
27222003-02-17  Mo DeJong  <mdejong@users.sourceforge.net>
2723
2724        * generic/tclIO.c (Tcl_GetsObj): Minor change so that eol is only
2725        assigned at the top of the TCL_TRANSLATE_AUTO case block. The other
2726        cases assign eol so this does not change any functionality.
2727
27282003-02-17  Kevin Kenny  <kennykb@users.sourceforge.net>
2729
2730        * tests/notify.test: Removed Windows line terminators. [Bug 687913].
2731
27322003-02-15  Miguel Sofer <msofer@users.sf.net>
2733
2734        * generic/tclBasic.c (Tcl_EvalEx):
2735        * generic/tclCompExpr.c (CompileSubExpr):
2736        * generic/tclCompile.c (TclCompileScript):
2737        * generic/tclParse.c (Tcl_ParseCommand, ParseTokens):
2738        * generic/tclParseExpr.c (ParsePrimaryExpr):
2739        * tests/basic.test (47.1):
2740        * tests/main.test (3.4):
2741        * tests/misc.test (1.2):
2742        * tests/parse.test (6.18):
2743        * tests/parseExpr.test (15.35):
2744        * tests/subst.test (8.6): Don Porter's fix for bad parsing of nested
2745        scripts. [Bug 681841]
2746
27472003-02-15  Kevin Kenny  <kennykb@users.sourceforge.net>
2748
2749        * tests/notify.test (new-file):
2750        * generic/tclTest.c (TclTest_Init, EventtestObjCmd, EventtestProc,
2751        (EventTestDeleteProc):
2752        * generic/tclNotify.c (Tcl_DeleteEvents): Fixed Tcl_DeleteEvents not
2753        to get a pointer smash when deleting the last event in the queue.
2754        Added test code in 'tcltest' and a new file of test cases
2755        'notify.test' to exercise this functionality; several of the new test
2756        cases fail for the original code and pass for the corrected code. [Bug
2757        673714]
2758
2759        * unix/tclUnixTest.c (TestfilehandlerCmd): Corrected a couple of typos
2760        in error messages. [Bug 596027]
2761
27622003-02-14  Jeff Hobbs  <jeffh@ActiveState.com>
2763
2764        * README:               Bumped to version 8.4.2.
2765        * generic/tcl.h:
2766        * tools/tcl.wse.in:
2767        * unix/configure:
2768        * unix/configure.in:
2769        * unix/tcl.m4:
2770        * unix/tcl.spec:
2771        * win/README.binary:
2772        * win/configure:
2773        * win/configure.in:
2774        * macosx/Tcl.pbproj/project.pbxproj:
2775
2776        * generic/tclStringObj.c (Tcl_GetCharLength): perf tweak
2777
2778        * unix/tcl.m4: correct HP-UX ia64 --enable-64bit build flags
2779
27802003-02-14  Kevin Kenny  <kennykb@users.sourceforge.net>
2781
2782        * win/tclWinTime.c: Added code to test and compensate for forward
2783        leaps of the performance counter. See the MSDN Knowledge Base article
2784        Q274323 for the hardware problem that makes this necessary on certain
2785        machines.
2786        * tests/winTime.test: Revised winTime-2.1 - it had a tolerance of
2787        thousands of seconds, rather than milliseconds. (What's six orders of
2788        magnitude among friends?) Both the above changes are triggered by a
2789        problem reported at:
2790        http://aspn.activestate.com/ASPN/Mail/Message/ActiveTcl/1536811
2791        although the developers find it difficult to believe that it accounts
2792        for the observed behavior and suspect a fault in the RTC chip.
2793
27942003-02-13  Kevin Kenny  <kennykb@users.sourceforge.net>
2795
2796        * win/tclWinInit.c: Added conversion from the system encoding to
2797        tcl_platform(user), so that it works with non-ASCII7 user names. [Bug
2798        685926]
2799
2800        * doc/tclsh.1: Added language to describe the handling of the
2801        end-of-file character \u001a embedded in a script file. [Bug 685485]
2802
28032003-02-11  Vince Darley  <vincentdarley@users.sourceforge.net>
2804
2805        * tests/fileName.test:
2806        * unix/tclUnixFile.c: fix for [Bug 685445] when using 'glob -l' on
2807        broken symbolic links. Added two new tests for this bug.
2808
28092003-02-11  Kevin Kenny  <kennykb@users.sourceforge.net>
2810
2811        * tests/http.test: Corrected a problem where http-4.14 would fail when
2812        run in an environment with a proxy server. Replaced references to
2813        scriptics.com by tcl.tk.
2814
28152003-02-11  Jeff Hobbs  <jeffh@ActiveState.com>
2816
2817        * tests/lsearch.test:
2818        * generic/tclCmdIL.c (Tcl_LsearchObjCmd): protect against the case
2819        that lsearch -regepx list and pattern objects are equal.
2820
2821        * tests/stringObj.test:
2822        * generic/tclStringObj.c (Tcl_GetCharLength): correct ascii char opt
2823        of 2002-11-11 to not stop early on \x00. [Bug 684699]
2824
2825        * tests.parse.test: remove excess EOF whitespace
2826
2827        * generic/tclParse.c (CommandComplete): more paranoid check to break
2828        on (p >= end) instead of just (p == end).
2829
28302003-02-11  Miguel Sofer <msofer@users.sf.net>
2831
2832        * generic/tclParse.c (CommandComplete):
2833        * tests/parse.test: fix for [Bug 684744], by Don Porter.
2834
28352003-02-11  Jeff Hobbs  <jeffh@ActiveState.com>
2836
2837        * generic/tclIOUtil.c (Tcl_FSJoinPath, Tcl_FSGetNormalizedPath):
2838        (UpdateStringOfFsPath): revert the cwdLen == 0 check and instead
2839        follow a different code path in Tcl_FSJoinPath.
2840        (Tcl_FSConvertToPathType, Tcl_FSGetNormalizedPath):
2841        (Tcl_FSGetFileSystemForPath): Update string rep of path objects before
2842        freeing the internal object. (darley)
2843
2844        * tests/fileSystem.test: added test 8.3
2845        * generic/tclIOUtil.c (Tcl_FSGetNormalizedPath):
2846        (UpdateStringOfFsPath): handle the cwdLen == 0 case
2847
2848        * unix/tclUnixFile.c (TclpMatchInDirectory): simplify the hidden file
2849        match check.
2850
28512003-02-10  Mo DeJong  <mdejong@users.sourceforge.net>
2852
2853        * win/configure:
2854        * win/configure.in: Generate error when attempting to build under
2855        Cygwin. The Cygwin port of Tcl/Tk does not build and people are filing
2856        bug reports under the mistaken impression that someone is actually
2857        maintaining the Cygwin port. A post to comp.lang.tcl asking someone to
2858        volunteer as an area maintainer has generated no results. Closing bugs
2859        680840, 630199, and 634772 and marking as "Won't fix".
2860
28612003-02-10  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
2862
2863        * doc/append.n: Return value was not documented. [Bug 683188]
2864
28652003-02-10  Vince Darley  <vincentdarley@users.sourceforge.net>
2866
2867        * doc/FileSystem.3:
2868        * generic/tclIOUtil.c:
2869        * generic/tclInt.h:
2870        * tests/fileSystem.test:
2871        * unix/tclUnixFCmd.c:
2872        * unix/tclUnixFile.c:
2873        * win/tclWinFile.c: further filesystem optimization, applying [Patch
2874        682500]. In particular, these code examples are faster now:
2875            foreach f $flist { if {[file exists $f]} {file stat $f arr;...}}
2876            foreach f [glob -dir $dir *] { # action and/or recursion on $f }
2877            cd $dir
2878            foreach f [glob *] { # action and/or recursion on $f }
2879            cd ..
2880
2881        * generic/tclTest.c: Fix for [Bug 683181] where test suite left files
2882        in 'tmp'.
2883
28842003-02-08  Jeff Hobbs  <jeffh@ActiveState.com>
2885
2886        * library/safe.tcl: code cleanup of eval and string comp use.
2887
28882003-02-07  Vince Darley  <vincentdarley@users.sourceforge.net>
2889
2890        * win/tclWinFCmd.c: cleanup long lines
2891        * win/tclWinFile.c: sped up pure 'glob' by a factor of 2.5
2892        ('foreach f [glob *] { file exists $f }' is still slow)
2893        * tests/fileSystem.text:
2894        * tests/fileName.test: added new tests to ensure correct behaviour in
2895        optimized filesystem code.
2896
28972003-02-07  Vince Darley  <vincentdarley@users.sourceforge.net>
2898
2899        * generic/tclTest.c:
2900        * tests/fileSystem.text: fixed test 7.2 to avoid a possible crash, and
2901        not change the pwd.
2902
2903        * tests/http.text: added comment to test 4.15, that it may fail if you
2904        use a proxy server.
2905
29062003-02-06  Mo DeJong  <mdejong@users.sourceforge.net>
2907
2908        * generic/tclCompCmds.c (TclCompileIncrCmd):
2909        * tests/incr.test: Don't include the text "(increment expression)" in
2910        the errorInfo generated by the compiled version of the incr command
2911        since it does not match the message generated by the non-compiled
2912        version of incr. It is also not possible to match this error output
2913        under Jacl, which does not support a compiler.
2914
29152003-02-06  Mo DeJong  <mdejong@users.sourceforge.net>
2916
2917        * generic/tclExecute.c (TclExecuteByteCode): When an error is
2918        encountered reading the increment value during a compiled call to
2919        incr, add a "(reading increment)" error string to the errorInfo
2920        variable. This makes the errorInfo variable set by the compiled incr
2921        command match the value set by the non-compiled version.
2922        * tests/incr-old.test: Change errorInfo result for the compiled incr
2923        command case to match the modified implementation.
2924        * tests/incr.test: Add tests to make sure the compiled and
2925        non-compiled errorInfo messages are the same.
2926
29272003-02-06  Don Porter  <dgp@users.sourceforge.net>
2928
2929        * library/tcltest/tcltest.tcl:  Filename arguments to [outputChannel]
2930        and [errorChannel] (also -outfile and -errfile) were [open]ed but
2931        never [closed]. Also, [cleanupTests] could remove output or error
2932        files. [Bug 676978].
2933        * library/tcltest/pkgIndex.tcl: Bumped to version 2.2.2.
2934
29352003-02-05  Mo DeJong  <mdejong@users.sourceforge.net>
2936
2937        * tests/interp.test:
2938        * tests/set-old.test: Run test cases that depend on hash order through
2939        lsort so that the tests also pass under Jacl. Does not change test
2940        results under Tcl.
2941
29422003-02-04  Vince Darley  <vincentdarley@users.sourceforge.net>
2943
2944        * generic/tclIOUtil.c:
2945        * generic/tclEvent.c:
2946        * generic/tclInt.h:
2947        * mac/tclMacFCmd.c:
2948        * unix/tclUnixFCmd.c:
2949        * win/tclWin32Dll.c:
2950        * win/tclWinFCmd.c:
2951        * win/tclWinInit.c:
2952        * win/tclWinInt.h:
2953        * tests/fileSystem.test: fix to finalization/unloading/encoding issues
2954        to make filesystem much less dependent on encodings for its cleanup,
2955        and therefore allow it to be finalized later in the exit process. This
2956        fixes fileSystem.test-7.1. Also fixed one more bug in setting of
2957        modification dates of files which have undergone cross-platform
2958        copies. [Patch 676271]
2959
2960        * tests/basic.test:
2961        * tests/exec.test:
2962        * tests/fileName.test:
2963        * tests/io.test: fixed some test failures when tests are run from a
2964        directory containing spaces.
2965
2966        * tests/fileSystem.test:
2967        * generic/tclTest.c: added regression test for the modification date
2968        setting of cross-platform file copies.
2969
29702003-02-03  Kevin Kenny  <kennykb@users.sourceforge.net>
2971
2972        * generic/tclBasic.c: Changed [trace add command] so that 'rename'
2973        callbacks get fully qualified names of the command. [Bug 651271].
2974        ***POTENTIAL INCOMPATIBILITY***
2975        * tests/trace.test: Modified the test cases for [trace add command] to
2976        expect fully qualified names on the 'rename' callbacks. Added a case
2977        for renaming a proc within a namespace.
2978        * doc/trace.n: Added language about use of fully qualified names in
2979        trace callbacks.
2980
29812003-02-01  Kevin Kenny  <kennykb@users.sourceforge.net>
2982
2983        * generic/tclCompCmds.c: Removed an unused variable that caused
2984        compiler warnings on SGI. [Bug 664379]
2985
2986        * generic/tclLoad.c: Changed the code so that if Tcl_StaticPackage is
2987        called to report the same package as being loaded in two interps, it
2988        shows up in [info loaded {}] in both of them (previously, it didn't
2989        appear in the static package list in the second).
2990
2991        * tests/load.test Added regression test for the above bug. [Bug
2992        670042]
2993
2994        * generic/tclClock.c: Fixed a bug that incorrectly allowed [clock
2995        clicks {}] and [clock clicks -] to be accepted as if they were [clock
2996        clicks -milliseconds].
2997
2998        * tests/clock.test: Added regression tests for the above bug. [Bug
2999        675356]
3000
3001        * tests/unixNotfy.test: Added cleanup of working files. [Bug 675609]
3002
3003        * doc/Tcl.n: Added headings to the eleven paragraphs, to improve
3004        formatting in the tools that attempt to extract tables of contents
3005        from the manual pages. [Bug 627455]
3006
3007        * generic/tclClock.c: Expanded mutex protection around the setting of
3008        env(TZ) and the thread-unsafe call to tzset(). [Bug 656660]
3009
30102003-01-31  Don Porter  <dgp@users.sourceforge.net>
3011
3012        * tests/tcltest.test: Cleaned up management of file/directory
3013        creation/deletion to improve "-debug 1" output. [Bug 675614]
3014        The utility [slave] command failed to properly [list]-quote a
3015        constructed [open] command, causing failure when the pathname
3016        contained whitespace. [Bug 678415]
3017
3018        * tests/main.test: Stopped main.test from deleting existing file. Test
3019        suite should not delete files that already exist. [Bug 675660]
3020
30212003-01-28  Don Porter  <dgp@users.sourceforge.net>
3022
3023        * tests/main.test: Constrain tests that do not work on Windows. [Bug
3024        674387]
3025
30262003-01-28  Vince Darley  <vincentdarley@users.sourceforge.net>
3027
3028        * generic/tclIOUtil.c: fix to setting modification date in
3029        TclCrossFilesystemCopy. Also added 'panic' in
3030        Tcl_FSGetFileSystemForPath under illegal calling circumstances which
3031        lead to hard-to-track-down bugs.
3032
3033        * generic/tclTest.c: added test suite code to allow exercising a
3034        vfs-crash-on-exit bug in Tcl's finalization caused by the encodings
3035        being cleaned up before unloading occurs.
3036        * tests/fileSystem.test: added new 'knownBug' test 7.1 to demonstrate
3037        the crash on exit.
3038
30392003-01-28  Mo DeJong  <mdejong@users.sourceforge.net>
3040
3041        * generic/tcl.h: Add TCL_PREFIX_IDENT and TCL_DEBUG_IDENT, used only
3042        by TclpCreateProcess.
3043        * unix/Makefile.in: Define TCL_DBGX.
3044        * win/Makefile.in: Define TCL_DBGX.
3045        * win/tclWinPipe.c (TclpCreateProcess): Check that the Tcl pipe dll
3046        actually exists in the Tcl bin directory and panic if it is not found.
3047        Incorporate TCL_DBGX into the Tcl pipe dll name. This fixes a really
3048        mysterious error that would show up when exec'ing a 16 bit application
3049        under Win95 or Win98 when Tcl was compiled with symbols. The error
3050        seemed to indicate that the executable could not be found, but it was
3051        actually the Tcl pipe dll that could not be found.
3052
30532003-01-26  Mo DeJong  <mdejong@users.sourceforge.net>
3054
3055        * win/README: Update msys+mingw URL to release 6. This version bundles
3056        gcc 3.
3057
30582003-01-26  Mo DeJong  <mdejong@users.sourceforge.net>
3059
3060        * win/configure: Regen.
3061        * win/configure.in: Add test that checks to see if the compiler can
3062        cast to a union type.
3063        * win/tclWinTime.c: Squelch compiler warning about union initializer
3064        by casting to union type when compiling with gcc.
3065
30662003-01-25  Mo DeJong  <mdejong@users.sourceforge.net>
3067
3068        * generic/tclIO.c (Tcl_CutChannel, Tcl_SpliceChannel): Invoke
3069        TclpCutFileChannel and TclpSpliceFileChannel.
3070        * generic/tclInt.h: Declare TclpCutFileChannel and
3071        TclpSpliceFileChannel.
3072        * unix/tclUnixChan.c (FileCloseProc, TclpOpenFileChannel,
3073        (Tcl_MakeFileChannel, TclpCutFileChannel, TclpSpliceFileChannel):
3074        Implement thread load data cut and splice for file channels. This
3075        avoids an invalid memory ref when compiled with -DDEPRECATED.
3076        * win/tclWinChan.c (FileCloseProc, TclpCutFileChannel,
3077        (TclpSpliceFileChannel): Implement thread load data cut and splice for
3078        file channels. This avoids an invalid memory ref that was showing up
3079        in the thread extension.
3080
30812003-01-25  Mo DeJong  <mdejong@users.sourceforge.net>
3082
3083        * win/tclWin32Dll.c (TclpCheckStackSpace, squelch_warnings):
3084        * win/tclWinChan.c (Tcl_MakeFileChannel, squelch_warnings):
3085        * win/tclWinFCmd.c (DoRenameFile, DoCopyFile, squelch_warnings):
3086        Re-implement inline ASM SEH handlers for gcc. The esp and ebp
3087        registers are now saved on the stack instead of in global variables so
3088        that the code is thread safe. Add additional checks when TCL_MEM_DEBUG
3089        is defined to be sure the values were recovered from the stack
3090        properly. Remove squelch_warnings functions and add a dummy call in
3091        the handler methods to squelch compiler warnings.
3092
30932003-01-25  Mo DeJong  <mdejong@users.sourceforge.net>
3094
3095        * win/configure:
3096        * win/configure.in: Define HAVE_ALLOCA_GCC_INLINE when we detect that
3097        no alloca function is found in malloc.h and we are compiling with GCC.
3098        Remove HAVE_NO_ALLOC_DECL define.
3099        * win/tclWin32Dll.c (TclpCheckStackSpace): Don't define alloca as a
3100        cdecl function. Doing this caused a tricky runtime bug because the
3101        _alloca function expects the size argument to be passed in a register
3102        and not on the stack. To fix this problem, we use inline ASM when
3103        compiling with gcc to invoke _alloca with the size argument loaded
3104        into a register.
3105
31062003-01-24  Jeff Hobbs  <jeffh@ActiveState.com>
3107
3108        * win/tclWinDde.c (Dde_Init): clarified use of tsdPtr.
3109        (DdeServerProc): better refcount handling of returnPackagePtr.
3110
3111        * generic/tclEvent.c (Tcl_Finalize): revert finalize change on
3112        2002-12-04 to correct the issue with extensions that have TSD needing
3113        to finalize that before they are unloaded. This issue needs further
3114        clarification.
3115
3116        * tests/unixFCmd.test: only do groups check on unix
3117
31182003-01-24  Vince Darley  <vincentdarley@users.sourceforge.net>
3119
3120        * generic/tclStringObj.c: proper fixes for Tcl_SetObjLength and
3121        Tcl_AttemptSetObjectLength dealing with string objects with both
3122        pure-unicode and normal internal representations. Previous fix didn't
3123        handle all cases correctly.
3124        * generic/tclIO.c: Add 'Tcl_GetString()' to ensure the object has a
3125        valid 'objPtr->bytes' field before manipulating it directly.
3126
3127        This fixes [Bug 635200] and [Bug 671138], but may reduce performance
3128        of Unicode string handling in some cases. A further patch will be
3129        applied to address this, once the code is known to be correct.
3130
31312003-01-24  Mo DeJong  <mdejong@users.sourceforge.net>
3132
3133        * win/configure: Regen.
3134        * win/configure.in: Add test to see if alloca is undefined in
3135        malloc.h.
3136        * win/tclWin32Dll.c (TclpCheckStackSpace): Rework the SEH exception
3137        handler logic to avoid using the stack since alloca will modify the
3138        stack. This was causing a nasty bug that would set the exception
3139        handler to 0 because it tried to pop the previous exception handler
3140        off the top of the stack.
3141
31422003-01-23  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
3143
3144        * doc/lset.n: Fixed fault in return values from lset in documentation
3145        examples [SF Bug #658463] and tidied up a bit at the same time.
3146
31472003-01-21  Joe English  <jenglish@users.sourceforge.net>
3148
3149        * doc/namespace.n (namespace inscope): Clarified documentation
3150        [Patch 670110]
3151
31522003-01-21  Mo DeJong  <mdejong@users.sourceforge.net>
3153
3154        * win/configure: Regen.
3155        * win/tcl.m4 (SC_CONFIG_CFLAGS): Set SHLIB_SUFFIX so that
3156        TCL_SHLIB_SUFFIX will be set to a useful value in the generated
3157        tclConfig.sh. Set SHLIB_LD_LIBS to "" or '${LIBS}' based on the
3158        --enable-shared flag. This matches the UNIX implementation.
3159
31602003-01-18  Jeff Hobbs  <jeffh@ActiveState.com>
3161
3162        * generic/tclCkalloc.c: change %ud to %u as appropriate.
3163
31642003-01-17  Mo DeJong  <mdejong@users.sourceforge.net>
3165
3166        * win/tclWinDde.c (DdeServerProc): Deallocate the Tcl_Obj returned by
3167        ExecuteRemoteObject if it was not saved in a connection object.
3168
31692003-01-17  Mo DeJong  <mdejong@users.sourceforge.net>
3170
3171        * generic/tcl.h: Revert earlier change that defined TCL_WIDE_INT_TYPE
3172        as long long and TCL_LL_MODIFIER as L when compiling with mingw. This
3173        change ended up causing some test case failures when compiling with
3174        mingw.
3175        * generic/tclObj.c (UpdateStringOfWideInt): Describe the warning
3176        generated by mingw and why it needs to be ignored so that someone is
3177        not tempted to "fix" this problem again in the future.
3178
31792003-01-16  Vince Darley  <vincentdarley@users.sourceforge.net>
3180
3181        * generic/tclStringObj.c: Tcl_SetObjLength fix for when the object has
3182        a unicode string rep. [Bug 635200]
3183        * tests/stringObj.test: removed 'knownBug' constraint from test 14.1
3184        now that this bug is fixed.
3185
3186        * generic/tclInt.h:
3187        * generic/tclBasic.c:
3188        * generic/tclCmdMZ.z:
3189        * tests/trace.test: execution and command tracing bug fixes and
3190        cleanup. In particular fixed [Bug 655645], [Bug 615043], [Bug 571385]
3191          - fixed some subtle cleanup problems with tracing. This required
3192            replacing Tcl_Preserve/Tcl_Release with a more robust refCount
3193            approach. Solves at least one known crash caused by memory
3194            corruption.
3195          - fixed some confusion in the code between new style traces (Tcl
3196            8.4) and the very limited 'Tcl_CreateTrace' which existed before.
3197          - made behaviour consistent with documentation (several tests even
3198            contradicted the documentation before).
3199          - fixed some minor error message details
3200          - added a number of new tests
3201
32022003-01-16  Jeff Hobbs  <jeffh@ActiveState.com>
3203
3204        * win/tclWinSerial.c (SerialOutputProc): add casts for bytesWritten to
3205        allow strict compilation (no warnings).
3206
3207        * tests/winDde.test:
3208        * win/tclWinDde.c (Tcl_DdeObjCmd): Prevent crash when empty service
3209        name is passed to 'dde eval' and goto errorNoResult in request and
3210        poke error cases to free up any allocated data.
3211
32122003-01-16  Mo DeJong  <mdejong@users.sourceforge.net>
3213
3214        * win/tclWin32Dll.c (squelch_warnings): Squelch compiler warnings from
3215        SEH ASM code.
3216        * win/tclWinChan.c (squelch_warnings): Squelch compiler warnings from
3217        SEH ASM code.
3218        * win/tclWinDde.c: Add casts to avoid compiler warnings. Pass pointer
3219        to DWORD instead of int to avoid compiler warnings.
3220        * win/tclWinFCmd.c (squelch_warnings): Add casts and fixup decls to
3221        avoid compiler warnings. Squelch compiler warnings from SEH ASM code.
3222        * win/tclWinFile.c: Add casts and fixup decls to avoid compiler
3223        warnings. Remove unused variable.
3224        * win/tclWinNotify.c: Declare as DWORD instead of int to avoid
3225        compiler warning.
3226        * win/tclWinReg.c: Add casts to avoid compiler warning. Fix assignment
3227        in if expression bug.
3228        * win/tclWinSerial.c: Add casts to avoid compiler warnings. Remove
3229        unused variable.
3230        * win/tclWinSock.c: Add casts and fixup decls to avoid compiler
3231        warnings.
3232
32332003-01-14  Jeff Hobbs  <jeffh@ActiveState.com>
3234
3235        * generic/tclClock.c (FormatClock): corrected typo that incorrectly
3236        conditionally defined savedTZEnv and savedTimeZone.
3237
32382003-01-13  Mo DeJong  <mdejong@users.sourceforge.net>
3239
3240        Fix mingw build problems and compiler warnings.
3241
3242        * generic/tcl.h: Add if defined(__MINGW32__) check to code that sets
3243        the TCL_WIDE_INT_TYPE and TCL_LL_MODIFIER.
3244        * generic/tclClock.c (FormatClock): Don't define savedTimeZone and
3245        savedTZEnv if we are not going to use them.
3246        * generic/tclEnv.c: Add cast to avoid warning.
3247        * win/tclWinChan.c: Use DWORD instead of int to avoid compiler warning
3248        * win/tclWinThrd.c: Only define allocLock, allocLockPtr, and dataKey
3249        when TCL_THREADS is defined. This avoid a compiler warning about
3250        unused variables.
3251
32522003-01-12  Mo DeJong  <mdejong@users.sourceforge.net>
3253
3254        * win/README: Update msys + mingw URL, the new release includes the
3255        released 1.0.8 version of msys which includes a number of bug fixes.
3256
32572003-01-12  Mo DeJong  <mdejong@users.sourceforge.net>
3258
3259        * win/configure: Regen.
3260        * win/tcl.m4 (SC_CONFIG_CFLAGS): Pull in addition of shell32.lib to
3261        LIBS_GUI that was added to the Tk tcl.m4 but never made it back into
3262        the Tcl version.
3263
32642003-01-12  Mo DeJong  <mdejong@users.sourceforge.net>
3265
3266        * generic/tcl.h: Skip Tcl's define of CHAR, SHORT, and LONG when
3267        HAVE_WINNT_IGNORE_VOID is defined. This avoids a bunch of compiler
3268        warnings when building with Cygwin or Mingw.
3269        * win/configure: Regen.
3270        * win/configure.in: Define HAVE_WINNT_IGNORE_VOID when we detect a
3271        winnt.h that still defines CHAR, SHORT, and LONG when VOID has already
3272        been defined.
3273        * win/tcl.m4 (SC_LOAD_TCLCONFIG): Subst the TCL_DEFS loaded from
3274        tclConfig.sh so that Tcl defines can make it into the Tk Makefile.
3275
32762003-01-12  Mo DeJong  <mdejong@users.sourceforge.net>
3277
3278        * win/configure: Regen.
3279        * win/configure.in: Check for typedefs like LPFN_ACCEPT in winsock2.h
3280        and define HAVE_NO_LPFN_DECLS if not found.
3281        * win/tclWinSock.c: Define LPFN_* typedefs if HAVE_NO_LPFN_DECLS is
3282        defined. This fixes the build under Mingw and Cygwin, it was broken by
3283        the changes made on 2002-11-26.
3284
32852003-01-10  Vince Darley  <vincentdarley@users.sourceforge.net>
3286
3287        * generic/tclIOUtil.c:
3288        * win/tclWinInt.h:
3289        * win/tclWinInit.c: fix to new WinTcl crash on exit with vfs,
3290        introduced on 2002-12-06. Encodings must be cleaned up after the
3291        filesystem.
3292
3293        * win/makefile.vc: fix to minor VC++ 5.2 syntax problem
3294
32952003-01-09  Don Porter  <dgp@users.sourceforge.net>
3296
3297        * generic/tclCompCmds.c (TclCompileReturnCmd):  Corrected off-by-one
3298        problem with recent commit. [Bug 633204]
3299
33002003-01-09  Vince Darley  <vincentdarley@users.sourceforge.net>
3301
3302        * generic/tclFileName.c: remove unused variable 'macSpecialCase'
3303        [Bug 664749]
3304
3305        * generic/tclIOUtil.c:
3306        * generic/tclInt.h:
3307        * unix/tclUnixFile.c:
3308        * mac/tclMacFile.c:
3309        * win/tclWinFile.c:
3310        * win/tclWinInt.h:
3311        * win/tclWin32Dll.c:
3312        * tests/cmdAH.test: fix to non-ascii chars in paths when setting mtime
3313        and atime through 'file (a|m)time $path $time'. [Bug 634151]
3314
33152003-01-08  Don Porter  <dgp@users.sourceforge.net>
3316
3317        * generic/tclExecute.c (TclExprFloatError):  Use the IS_NAN macro for
3318        greater clarity of code.
3319
33202003-01-07  Don Porter  <dgp@users.sourceforge.net>
3321
3322        * generic/tclCompCmds.c (TclCompileReturnCmd):
3323        * tests/compile.test:   Corrects failure of bytecompiled [catch
3324        {return}] to have result TCL_RETURN (not TCL_OK) [Bug 633204]. This
3325        patch is a workaround for 8.4.X. A new opcode INST_RETURN is a better
3326        long term solution for 8.5 and later.
3327
33282003-01-04  David Gravereaux  <davygrvy@pobox.com>
3329
3330        * win/makefile.vc:
3331        * win/rules.vc:  Fixed INSTALLDIR macro problem that blanked itself by
3332        accident causing the install target to put the tree at the root of the
3333        drive built on. Whoops..
3334
3335        Renamed the 'linkexten' option to be 'staticpkg'. Added 'thrdalloc' to
3336        allow the switching _on_ of the thread allocator. Under testing, I
3337        found it not to be benificial under windows for the purpose of the
3338        application I was using it for. It was more important for this app
3339        that resources for tcl threads be returned to the system rather than
3340        saved/moved to the global recycler. Be extra clean or extra fast for
3341        the default threaded build? Let's move to clean and allow it to be
3342        switched on for users who find it benificial for their use of threads.
3343
3344        ******************************************************************
3345        *** CHANGELOG ENTRIES FOR 2002 IN "ChangeLog.2002"             ***
3346        *** CHANGELOG ENTRIES FOR 2001 IN "ChangeLog.2001"             ***
3347        *** CHANGELOG ENTRIES FOR 2000 IN "ChangeLog.2000"             ***
3348        *** CHANGELOG ENTRIES FOR 1999 AND EARLIER IN "ChangeLog.1999" ***
3349        ******************************************************************
Note: See TracBrowser for help on using the repository browser.