OSDN Git Service

Please enter the commit message for your changes. Lines starting
[eos/base.git] / util / src / TclTk / tcl8.6.12 / ChangeLog.2003
1 2003-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
7 2003-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
64 2003-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
76 2003-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
85 2003-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
90 2003-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
102 2003-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
108 2003-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
115 2003-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
123 2003-12-16  Donal K. Fellows  <donal.k.fellows@man.ac.uk>
124
125         * generic/tclThreadAlloc.c (binfo): Made variable file-local.
126
127 2003-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
141 2003-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
147 2003-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
153 2003-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
159 2003-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
165 2003-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
185 2003-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
192 2003-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
198 2003-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
204 2003-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
212 2003-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
219 2003-12-01  Miguel Sofer <msofer@users.sf.net>
220
221         * doc/lset.n: fix typo [Bug 852224]
222
223 2003-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
229 2003-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
234 2003-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
239 2003-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
244 2003-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
249 2003-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
256 2003-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
265 2003-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
279 2003-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
289 2003-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
298 2003-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
308 2003-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
349 2003-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
355 2003-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
362 2003-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
369 2003-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
386 2003-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
392 2003-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
398 2003-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
403 2003-11-07  Daniel Steffen  <das@users.sourceforge.net>
404
405         * macosx/Makefile: optimized builds define NDEBUG to turn off
406         ThreadAlloc range checking.
407
408 2003-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
414 2003-11-04  Daniel Steffen  <das@users.sourceforge.net>
415
416         * macosx/Makefile: added 'test' target.
417
418 2003-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
429 2003-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
441 2003-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
446 2003-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
460 2003-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
469 2003-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
474 2003-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
482 2003-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
488 2003-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
498 2003-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
505 2003-10-14  David Gravereaux <davygrvy@pobox.com>
506
507         * win/tclAppInit.c (sigHandler): Punt gracefully if exitToken has
508         already been destroyed.
509
510 2003-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
516 2003-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
546 2003-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
557 2003-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
593 2003-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
598 2003-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
604 2003-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
612 2003-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
620 2003-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
642 2003-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
649 2003-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
672 2003-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
678 2003-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
684 2003-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
690 2003-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
695 2003-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
701 2003-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
734 2003-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
740 2003-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
745 2003-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
752 2003-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
757 2003-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
764 2003-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
774 2003-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
780 2003-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
786 2003-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
792 2003-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
801 2003-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
815 2003-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
822 2003-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
830 2003-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
862 2003-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
873 2003-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
880 2003-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
885 2003-08-31  Don Porter  <dgp@users.sourceforge.net>
886
887         * doc/catch.n:  Updated [catch] docs to cover new TIP 90 features.
888
889 2003-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
896 2003-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
925 2003-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
932 2003-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
939 2003-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         compatibility for those extensions which are already clients of the
951         namespace code.
952
953 2003-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
963 2003-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
968 2003-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
973 2003-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
979 2003-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
986 2003-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
996 2003-08-06  Jeff Hobbs  <jeffh@ActiveState.com>
997
998         * win/tclWinInit.c: recognize amd64 and ia32_on_win64 cpus.
999
1000 2003-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
1007 2003-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
1015 2003-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
1021 2003-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
1033 2003-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
1044 2003-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
1053 2003-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
1060 2003-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
1066 2003-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
1089 2003-07-21  Vince Darley  <vincentdarley@users.sourceforge.net>
1090
1091         * test/cmdAH.test: ensure certain tests run in local filesystem. [Bug
1092         748960]
1093
1094 2003-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
1099 2003-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
1104 2003-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
1110 2003-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
1137 2003-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
1169 2003-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
1178 2003-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
1194 2003-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
1200 2003-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
1211 2003-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
1216 2003-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
1220 2003-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
1232 2003-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
1237 2003-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
1242 2003-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
1250 2003-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
1256 2003-07-08  Vince Darley  <vincentdarley@users.sourceforge.net>
1257
1258         * tests/winFCmd.test: fix for five tests under win98 [Bug 767679]
1259
1260 2003-07-07  Jeff Hobbs  <jeffh@ActiveState.com>
1261
1262         * doc/array.n: add examples from Welton
1263
1264 2003-06-23  Vince Darley  <vincentdarley@users.sourceforge.net>
1265
1266         * doc/file.n: clarification of 'file tail' behaviour [Bug 737977]
1267
1268 2003-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 compatibility 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
1285 2003-06-23  Vince Darley  <vincentdarley@users.sourceforge.net>
1286
1287         * generic/tclTrace.c: fix to Window debug build compilation error.
1288
1289 2003-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
1296 2003-06-25  Don Porter  <dgp@users.sourceforge.net>
1297
1298         * tests/init.test:  Added tests init-4.6.* to illustrate [Bug 760872]
1299
1300 2003-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
1306 2003-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
1313 2003-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
1318 2003-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
1323 2003-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
1328 2003-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
1340 2003-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
1353 2003-06-18  Miguel Sofer <msofer@users.sf.net>
1354
1355         * generic/tclNamesp.c (Tcl_Export): removed erroneous comments. [Bug
1356         756744]
1357
1358 2003-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
1368 2003-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
1378 2003-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
1384 2003-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
1392 2003-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
1410 2003-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
1416 2003-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
1422 2003-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
1429 2003-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
1434 2003-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
1445 2003-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
1450 2003-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
1460 2003-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
1465 2003-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
1474 2003-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
1482 2003-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
1492 2003-05-16  Kevin B. Kenny  <kennykb@acm.org>
1493
1494         * unix/Makefile.in:     Removed one excess source file tclDToA.c
1495
1496 2003-05-16  Daniel Steffen  <das@users.sourceforge.net>
1497
1498         * macosx/Tcl.pbproj/project.pbxproj: updated copyright year.
1499
1500 2003-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
1507 2003-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
1519 2003-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
1524 2003-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
1531 2003-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
1575 2003-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
1580 2003-05-13  Jeff Hobbs  <jeffh@ActiveState.com>
1581
1582         * generic/tclIOUtil.c: ensure cd is thread-safe.
1583         [Bug 710642] (vasiljevic)
1584
1585 2003-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
1590 2003-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
1598 2003-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
1619 2003-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
1625 2003-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
1643 2003-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
1649 2003-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
1657 2003-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
1672 2003-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
1679 2003-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
1685 2003-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
1696 2003-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
1713 2003-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
1718 2003-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
1733 2003-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
1740 2003-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
1750 2003-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
1759 2003-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
1788 2003-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
1794 2003-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
1807 2003-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
1814 2003-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
1837 2003-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
1842 2003-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
1847 2003-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
1852 2003-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
1857 2003-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
1865 2003-04-15  Vince Darley  <vincentdarley@users.sourceforge.net>
1866
1867         * generic/tclIOUtil.c: finished check-in from yesterday, removing
1868         duplicate function definition.
1869
1870 2003-04-14  Don Porter  <dgp@users.sourceforge.net>
1871
1872         * generic/tclClock.c:   Corrected compiler warnings.
1873         * generic/tclTest.c:
1874
1875 2003-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
1886 2003-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
1891 2003-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
1900 2003-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
1914 2003-04-12  Jeff Hobbs  <jeffh@ActiveState.com>
1915
1916         * win/Makefile.in (GENERIC_OBJS): add missing tclPathObj.c
1917
1918 2003-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
1932 2003-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
1941 2003-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
1949 2003-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
1989 2003-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
1993 2003-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
2000 2003-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
2008 2003-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
2015 2003-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
2030 2003-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
2049 2003-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
2056 2003-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
2069 2003-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
2074 2003-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
2084 2003-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
2091 2003-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
2098 2003-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
2110 2003-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
2116 2003-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
2123 2003-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
2130 2003-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
2147 2003-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
2153 2003-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
2167 2003-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
2174 2003-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
2179 2003-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
2190 2003-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
2200 2003-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
2219 2003-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
2225 2003-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
2251 2003-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
2259 2003-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
2265 2003-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
2272 2003-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
2277 2003-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
2284 2003-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
2291 2003-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
2296 2003-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
2313 2003-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
2348 2003-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
2353 2003-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
2358 2003-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
2363 2003-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
2370 2003-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
2376 2003-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
2381 2003-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
2386 2003-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
2392 2003-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
2398 2003-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
2404 2003-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
2409 2003-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
2424 2003-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
2433 2003-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
2441 2003-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
2448 2003-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
2459 2003-03-05  David Gravereaux  <davygrvy@pobox.com>
2460
2461         * win/rules.vc: updated default tcl version to 8.5.
2462
2463 2003-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
2478 2003-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
2502 2003-03-03  Jeff Hobbs  <jeffh@ActiveState.com>
2503
2504         *** 8.4.2 TAGGED FOR RELEASE ***
2505
2506 2003-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
2520 2003-03-03  Kevin Kenny  <kennykb@users.sourceforge.net>
2521
2522         * win/Makefile.vc: corrected bug introduced by 'g' for debug builds.
2523
2524 2003-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
2534 2003-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
2541 2003-02-28  Vince Darley  <vincentdarley@users.sourceforge.net>
2542
2543         * doc/file.n: subcommand is 'file volumes' not 'file volume'
2544
2545 2003-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
2553 2003-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
2559 2003-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
2566 2003-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
2571 2003-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
2578 2003-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
2583 2003-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
2588 2003-02-22  Zoran Vasiljevic  <zoran@archiwrae.com>
2589
2590         * generic/tclEvent.c (Tcl_FinalizeThread): Fix [Bug 571002]
2591
2592 2003-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
2598 2003-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
2603 2003-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
2609 2003-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
2617 2003-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
2631 2003-02-20  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
2632
2633         * doc/regsub.n: Typo fix [Bug 688943]
2634
2635 2003-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
2642 2003-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
2662 2003-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
2672 2003-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
2681 2003-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
2688 2003-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
2694 2003-02-18  Vince Darley  <vincentdarley@users.sourceforge.net>
2695
2696         * generic/tclTest.c: cleanup of new 'simplefs' test code, and better
2697         documentation.
2698
2699 2003-02-17  Miguel Sofer <msofer@users.sf.net>
2700
2701         * generic/tclBasic.c (TclRenameCommand): fixing error in previous
2702         commit.
2703
2704 2003-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
2717 2003-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
2722 2003-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
2728 2003-02-17  Kevin Kenny  <kennykb@users.sourceforge.net>
2729
2730         * tests/notify.test: Removed Windows line terminators. [Bug 687913].
2731
2732 2003-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
2747 2003-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
2762 2003-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
2780 2003-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
2794 2003-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
2803 2003-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
2809 2003-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
2815 2003-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
2830 2003-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
2835 2003-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
2851 2003-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
2861 2003-02-10  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
2862
2863         * doc/append.n: Return value was not documented. [Bug 683188]
2864
2865 2003-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
2884 2003-02-08  Jeff Hobbs  <jeffh@ActiveState.com>
2885
2886         * library/safe.tcl: code cleanup of eval and string comp use.
2887
2888 2003-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
2897 2003-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
2906 2003-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
2915 2003-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
2927 2003-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
2935 2003-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
2942 2003-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
2970 2003-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
2981 2003-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
3010 2003-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
3021 2003-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
3026 2003-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
3039 2003-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
3053 2003-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
3058 2003-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
3066 2003-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
3081 2003-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
3093 2003-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
3106 2003-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
3118 2003-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
3131 2003-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
3142 2003-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
3147 2003-01-21  Joe English  <jenglish@users.sourceforge.net>
3148
3149         * doc/namespace.n (namespace inscope): Clarified documentation
3150         [Patch 670110]
3151
3152 2003-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
3160 2003-01-18  Jeff Hobbs  <jeffh@ActiveState.com>
3161
3162         * generic/tclCkalloc.c: change %ud to %u as appropriate.
3163
3164 2003-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
3169 2003-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
3179 2003-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
3202 2003-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
3212 2003-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
3233 2003-01-14  Jeff Hobbs  <jeffh@ActiveState.com>
3234
3235         * generic/tclClock.c (FormatClock): corrected typo that incorrectly
3236         conditionally defined savedTZEnv and savedTimeZone.
3237
3238 2003-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
3252 2003-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
3257 2003-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
3264 2003-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
3276 2003-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
3285 2003-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
3295 2003-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
3300 2003-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
3315 2003-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
3320 2003-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
3328 2003-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         ******************************************************************