Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: downloads/tcl8.5.2/ChangeLog.2002 @ 35

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

added tcl to libs

File size: 177.2 KB
Line 
12002-12-18  David Gravereaux  <davygrvy@pobox.com>
2
3        * win/makefile.vc: some uses of xcopy swapped to the @$(CPY) macro.
4        Reported by Joe Mistachkin <joe@mistachkin.com>.
5
62002-12-17  Jeff Hobbs  <jeffh@ActiveState.com>
7
8        * generic/tclNotify.c (TclFinalizeNotifier, Tcl_SetServiceMode):
9        (Tcl_ThreadAlert): Check that the stub functions are non-NULL before
10        calling them. They could be set to NULL by Tcl_SetNotifier.
11
122002-12-16  David Gravereaux  <davygrvy@pobox.com>
13
14        * generic/tclPipe.c (TclCleanupChildren):
15        * tests/winPipe.test:
16        * win/tclWinPipe.c (Tcl_WaitPid):
17        * win/tclWinTest.c:  Gave Tcl_WaitPid the ability to return a Win32
18        exception code translated into a posix style SIG*. This allows [close]
19        to report "CHILDKILLED" without the meaning getting lost in a
20        truncated exit code. In TclCleanupChildren(), TclpGetPid() had to get
21        moved to before Tcl_WaitPid() as the the handle is removed from the
22        list taking away the ability to get the process id after the wait is
23        done. This shouldn't effect the unix implimentaion unless waitpid is
24        called with a pid of zero, meaning "any". I don't think it is..
25
262002-12-13  Don Porter  <dgp@users.sourceforge.net>
27
28        * unix/configure.in:    Updated configure of CVS snapshots to reflect
29        * win/configure.in:     the 8.4.1.1 patchlevel.
30
31        * unix/configure:       autoconf
32        * win/configure         autoconf
33
342002-12-11  Don Porter  <dgp@users.sourceforge.net>
35
36        * generic/tclProc.c (ProcessProcResultCode): Fix failure to propagate
37        negative return codes up the call stack. [Bug 647307]
38        * tests/proc.test (proc-6.1): Test for Bug 647307
39
40        * generic/tclParseExpr.c (TclParseInteger):  Return 1 for the string
41        "0x" (recognize leading "0" as an integer). [Bug 648441]
42        * tests/parseExpr.test (parseExpr-19.1): Test for Bug 648441.
43
442002-12-09  Jeff Hobbs  <jeffh@ActiveState.com>
45
46        * win/tclWinThrd.c (TclpMasterUnlock):
47        * generic/tclThread.c (TclFinalizeThreadData): TclpMasterUnlock must
48        exist and be called unconditional of TCL_THREADS. [Bug 651139]
49
502002-12-08  David Gravereaux  <davygrvy@pobox.com>
51
52        * win/tclWinSock.c (SocketThreadExitHandler, InitSockets):  Check
53        that the tsdPtr is valid before dereferencing as we call it from the
54        exit handler, too [Bug 650353]. Another WSAStartup() loaded version
55        comparison byte swap issue fixed. Although 0x0101 byte swapped is
56        still 0x0101, properly claiming which is major/minor is more correct.
57
582002-12-06  Jeff Hobbs  <jeffh@ActiveState.com>
59
60        * generic/tclStubInit.c: regen
61        * generic/tclIntPlatDecls.h: regen
62        * generic/tclInt.decls: added TclWinResetInterface
63
64        * win/tclWin32Dll.c (TclWinResetInterfaces):
65        * win/tclWinInit.c (TclpSetInitialEncodings, WinEncodingsCleanup):
66        add exit handler that resets the encoding information to a state where
67        we can reuse Tcl. Following these changes, it is possible to reuse Tcl
68        (following Tcl_FindExecutable or Tcl_CreateInterp) following a
69        Tcl_Finalize.
70
71        * generic/tclIOUtil.c (TclFinalizeFilesystem): reset statics to their
72        original values on finalize to allow reuse of the library.
73
742002-12-04  David Gravereaux  <davygrvy@pobox.com>
75
76        * win/tclWinPipe.c: reverted back to -r1.27 due to numerous test
77        failures that need to be resolved first. The idea was good, but the
78        details aren't.
79
802002-12-04  David Gravereaux  <davygrvy@pobox.com>
81
82        * win/tclWinPipe.c (Tcl_WaitPid):  When a process exits with an
83        exception, pass this notice on to the caller with a SIG* code rather
84        than truncating the exit code and missing the meaning. This allows
85        TclCleanupChildren() to report "CHILDKILLED".
86
87        This has a different behavior than unix in that closing the read pipe
88        to a process sends the SIGPIPE signal which is returned as a SIGPIPE
89        exit status. On windows, we send the process a CTRL_BREAK_EVENT and
90        get back a CONTROL_C_EXIT which is documented to mean a SIGINT which
91        seems wrong as a system, but is the correct exit status.
92
932002-12-04  Vince Darley  <vincentdarley@users.sourceforge.net>
94
95        * generic/tclIOUtil.c: fix to redirected 'load' in virtual filesystem
96        for some Unix systems.
97
98        * generic/tclEvent.c: the filesystem must be cleaned up before the
99        encoding subsystem because it needs access to encodings. Fixes crash
100        on exit observed in embedded applications.
101
102        * generic/tclTestObj.c: patch omitted from previous change of
103        2002-11-13
104
1052002-12-03  Jeff Hobbs  <jeffh@ActiveState.com>
106
107        * generic/tclStubLib.c (Tcl_InitStubs): prevent the cached check of
108        tclStubsPtr to allow for repeated load/unload of the Tcl dll by
109        hosting apps. [Bug 615304]
110
1112002-12-03  David Gravereaux  <davygrvy@pobox.com>
112
113        * win/tclAppInit.c (sigHandler): Protect from trying to close a NULL
114        handle.
115
116        * win/tclWinPipe.c (PipeClose2Proc, TclpCreateProcess): Send a real
117        Win32 signal (CTRL_C_EVENT) when the read channel is brought down to
118        alert the child to close on its side. Start the process with
119        CREATE_NEW_PROCESS_GROUP to allow the ability to send these signals.
120        The following test case now brings down the child without the use of
121        an external [kill] command.
122
123        % set p [open "|[info name]" w+]
124        file8d5380
125        % pid $p
126        2876
127        % close $p     <- now doesn't block in Tcl_WaitPid()
128        %
129
130        * win/tclWinPipe.c (PipeClose2Proc): Changed CTRL_C_EVENT to
131        CTRL_BREAK_EVENT as it can't be ignored by the child and proved to
132        work on [open "|netstat 1" w+] where CTRL_C_EVENT didn't.
133
1342002-11-27  David Gravereaux  <davygrvy@pobox.com>
135
136        * win/tclWinPort.h: Don't turn off winsock prototypes!  TclX didn't
137        like it. Even though the core doesn't use the prototypes, do offer
138        them.
139
140        * win/tclWinSock.c: Removed shutdown() from the function table as it
141        wasn't referenced anywhere and cleaned-up some casting that that
142        wasn't needed.
143
144        * win/tclWinSock.c: WSAStartup() loaded version comparison error which
145        resulted in 2.0 looking less than 1.1.
146
147        * win/tclWinChan.c (Tcl_MakeFileChannel): return of DuplicateHandle()
148        incorrectly used. [Bug 618852]
149
1502002-11-26  Jeff Hobbs  <jeffh@ActiveState.com>
151
152        * generic/tclEncoding.c (TclFinalizeEncodingSubsystem): properly
153        cleanup all encodings by using Tcl_FirstHashEntry in the while loop.
154
155        * unix/Makefile.in (valgrind): add simple valgrind target
156
157        * tests/exec.test: unset path var to allow singleproc testing
158
159        * generic/tclInterp.c (AliasCreate): preserve/release interps to
160        prevent possible FMR error in bad alias cases.
161
1622002-11-26  David Gravereaux  <davygrvy@pobox.com>
163
164        * win/tclWinPort.h:
165        * win/tclWinSock.c:  This patch does two things:
166
167        1) Cleans-up the winsock typedefs by using the typedefs provided by
168        winsock2.h. This has no effect on how winsock is initialized; just
169        makes the source code easier to read. [Patch 561305 561301]
170
171        2) Revamps how the socket message handler thread is brought up and
172        down to allow for cleaner exits without the use of TerminateThread().
173        TerminateThread is evil. No attempt has been made to resolve [Bug
174        593810] which may need a new channel driver version for adding a
175        registering function within the transfered thread to init the handler
176        thread. IOW, initialization of the TSD structure is getting bypassed
177        through the thread extension's [thread::transfer] command.
178
1792002-11-26  David Gravereaux  <davygrvy@pobox.com>
180
181        * win/tclWinConsole.c:
182        * win/tclWinPipe.c:
183        * win/tclWinSerial.c:
184        * win/tclWinSock.c:
185        * win/tclWinThrd.c:
186        * win/tclWinTime.c:  General cleanup of all worker threads used by the
187        channel drivers. Eliminates the normal case where the worker thread is
188        terminated ('cept the winsock one). Instead, use kernel events to
189        signal a clean exit. Only when the worker thread is blocked on an I/O
190        call is the thread terminated. Essentially, this makes all other
191        channel worker threads behave like the PipeReaderThread() function for
192        it's cleaner exit behavior. This appears to fix [Bug 597924] but needs
193        3rd party confirmation to close the issue.
194
1952002-11-26  Mo DeJong  <mdejong@users.sourceforge.net>
196
197        * win/README: Update msys build env URL. This release #4 build both
198        tcl and tk without problems.
199
2002002-11-22  Jeff Hobbs  <jeffh@ActiveState.com>
201
202        * library/init.tcl:         code cleanup to reduce use of
203        * library/opt/optparse.tcl: string compare
204
205        * tests/interp.test: interp-14.4
206        * generic/tclInterp.c (TclPreventAliasLoop): prevent seg fault when
207        creating an alias command over the interp name. [Bug 641195]
208
2092002-11-18  Jeff Hobbs  <jeffh@ActiveState.com>
210
211        * generic/tclUtil.c (SetEndOffsetFromAny): handle integer offset
212        after the "end-" prefix.
213
214        * generic/get.test:
215        * generic/string.test:
216        * generic/tclObj.c (SetIntFromAny, SetWideIntFromAny):
217        * generic/tclGet.c (TclGetLong, Tcl_GetInt): simplify sign handling
218        before calling strtoul(l). [Bug 634856]
219
2202002-11-18  David Gravereaux  <davygrvy@pobox.com>
221
222        * win/tclWinThrd.c (Tcl_CreateThread/TclpThreadExit): Fixed improper
223        compiler macros that missed the VC++ compiler. This resulted in VC++
224        builds using CreateThread()/ExitThread() in place of the proper
225        _beginthreadex()/_endthreadex(). This was a large error and am
226        surprised I missed seeing it earlier.
227
2282002-11-13  Jeff Hobbs  <jeffh@ActiveState.com>
229
230        * generic/regexpComp.test: added tests 22.*
231        * generic/tclCompCmds.c (TclCompileRegexpCmd): add left and right
232        anchoring (^ and $) recognition and check starting or ending .* to
233        extend the number of REs that can be compiled to string match or
234        string equal.
235
2362002-11-13  Vince Darley  <vincentdarley@users.sourceforge.net>
237
238        * generic/tclCmdMZ.c:
239        * tests/trace.test: applied patch from Hemang Levana to fix [Bug
240        615043] in execution traces with 'return -code error'.
241
242        * generic/tclTestObj.c:
243        * tests/stringObj.test: added 'knownBug' test for [Bug 635200]
244        * generic/tclStringObj.c: corrected typos in comments
245
246        * generic/tclFileName.c:
247        * tests/fileName.test: applied patch for bug reported against tclvfs
248        concerning handling of Windows serial ports like 'com1', 'lpt3' by the
249        virtual filesystem code.
250
251        * doc/RegExp.3: clarification of the 'extendMatch' return values.
252
2532002-11-11  Jeff Hobbs  <jeffh@ActiveState.com>
254
255        * generic/tclUtil.c (Tcl_Backslash): use TclUtfToUniChar.
256        (Tcl_StringCaseMatch): use TclUtfToUniChar and add further
257        optimizations for the one-byte/char case.
258
259        * generic/tclUtf.c: make use of TclUtfToUniChar macro throughout the
260        functions, and add extra optimization to Tcl_NumUtfChars for
261        one-byte/char case.
262
263        * generic/tclVar.c (DisposeTraceResult, CallVarTraces): add proper
264        static declarations.
265
266        * generic/tclStringObj.c (Tcl_GetCharLength): optimize for the ascii
267        char case.
268        (Tcl_GetUniChar): remove unnecessary use of Tcl_UtfToUniChar.
269        (FillUnicodeRep): Use TclUtfToUniChar.
270
271        * generic/tclHash.c (HashStringKey): move string++ lower to save an
272        instruction.
273
274        * generic/tclExecute.c (TclExecuteByteCode): improve INST_STR_CMP to
275        use memcmp in the one-byte/char case, also use direct index for
276        INST_STR_INDEX in that case.
277
278        * generic/tclEncoding.c (UtfToUtfProc, UtfToUnicodeProc):
279        (TableFromUtfProc, EscapeFromUtfProc): Use TclUtfToUniChar.
280        (UnicodeToUtfProc, TableToUtfProc): add 1-byte char optimizations for
281        Tcl_UniCharToUtf call. These improve encoded channel conversion speeds
282        by up to 20%.
283
284        * tests/split.test: added 1-char string split tests
285        * generic/tclCmdMZ.c (Tcl_SplitObjCmd): Use TclUtfToUniChar. Also
286        added a special case for single-ascii-char splits.
287        (Tcl_StringObjCmd): Use TclUtfToUniChar. For STR_RANGE, support
288        getting ranges of ByteArrays (reverts change from 2000-05-26).
289        (TraceExecutionProc) add proper static declaration.
290
291        * generic/tclInt.h: add macro version of Tcl_UtfToUniChar
292        (TclUtfToUniChar) that does the one-byte utf-char check without
293        calling Tcl_UtfToUniChar, for use by the core. This brings notable
294        speedups for primarily ascii string handling.
295
296        * generic/tcl.h (TCL_PATCH_LEVEL): bump to 8.4.1.1 for patchlevel
297        only. This interim number will only be reflected by [info patchlevel].
298
2992002-11-11  Kevin Kenny  <kennykb@acm.org>
300
301        * doc/Tcl.n: Corrected indentation of the new language. Oops.
302
3032002-11-10  Kevin Kenny <kennykb@acm.org>
304
305        * doc/Tcl.n: Added language to the Endekalogue to make it clear that
306        substitutions always take place from left to right. [Bug 635644]
307
3082002-11-06  Mo DeJong  <mdejong@users.sourceforge.net>
309
310        * changes: Note TclInExit TclInThreadExit changes.
311        * generic/tclEvent.c (TclInExit, TclInThreadExit): Split out
312        functionality of TclInExit to make it clear which one should be called
313        in each situation.
314        * generic/tclInt.decls: Declare TclInThreadExit.
315        * generic/tclIntDecls.h: Regen.
316        * generic/tclStubInit.c: Regen.
317        * mac/tclMacChan.c (StdIOClose):
318        * unix/tclUnixChan.c (FileCloseProc):
319        * win/tclWinChan.c (FileCloseProc):
320        * win/tclWinConsole.c (ConsoleCloseProc):
321        * win/tclWinPipe.c (TclpCloseFile):
322        * win/tclWinSerial.c (SerialCloseProc): Invoke the new TclInThreadExit
323        method instead of TclInExit.
324
3252002-11-06  Mo DeJong  <mdejong@users.sourceforge.net>
326
327        * unix/configure: Regen.
328        * unix/tcl.m4 (SC_CONFIG_CFLAGS): Generate a fatal configure error if
329        no ar program can be found on the path. [Bug 582039]
330        * win/configure: Regen.
331        * win/configure.in: Check that AR, RANLIB, and RC are found on the
332        path when building with gcc.
333
3342002-11-03  David Gravereaux <davygrvy@pobox.com>
335
336        * win/tclAppInit.c:  Calls Registry_Init() and Dde_Init() when
337        STATIC_BUILD and TCL_USE_STATIC_PACKAGES macros are set.
338
339        * win/makefile.vc:
340        * win/rules.vc:  linkexten option now sets the TCL_USE_STATIC_PACKAGES
341        macro which also adds the registry and dde object files to the link
342        of the shell. [Patch 479697] Also factored some additional macros that
343        will be helpful for extension authors. Version grepping of tcl.h will
344        need to be added to complete this.
345
346        * win/buildall.vc.bat: Added more descriptive commentary.
347
3482002-11-01  David Gravereaux <davygrvy@pobox.com>
349
350        * win/tclWinReg.c:  Changed the Tcl_PkgProvide() line to declare the
351        registry extension at version 1.1 from 1.0.
352
3532002-10-31  Andreas Kupries  <andreask@activestate.com>
354
355        * library/word.tcl: Changed $tcl_platform to $::tcl_platform to avoid
356        possible scope trouble.
357
3582002-10-29  Vince Darley  <vincentdarley@users.sourceforge.net>
359
360        * win/tclWinInt.h:
361        * win/tclWin32Dll.c: added comments about certain NULL function
362        pointers which will be filled in when Tcl_FindExecutable is called, so
363        that users don't report invalid bugs on this topic. (No code changes
364        at all).
365
3662002-10-29  Daniel Steffen  <das@users.sourceforge.net>
367
368        * unix/tclLoadDyld.c (TclpFindSymbol): pass all dyld error messages
369        upstream [Bug 627546].
370
3712002-10-28  Andreas Kupries  <andreask@activestate.com>
372
373        * library/dde/pkgIndex.tcl:
374        * library/reg/pkgIndex.tcl: Changed the hardwired debug suffix (d) to
375        the correct suffix (g).
376
3772002-10-28  Don Porter  <dgp@users.sourceforge.net>
378
379        * library/auto.tcl:     Converted the Mac-specific [package unknown]
380        * library/init.tcl:     behavior to use a chaining mechanism to extend
381        * library/package.tcl:  the default [tclPkgUnknown]. [Bug 627660]
382        * library/tclIndex:     [Patch 624509] (steffen)
383
3842002-10-26  David Gravereaux <davygrvy@pobox.com>
385
386        * win/makefile.vc: xcopy on NT 4.0 doesn't support the /Y switch
387        (overwrite). Added logic to handle this. [Bug 618019]
388
3892002-10-23  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
390
391        * generic/tclInt.h: Removed definitions of obsolete HistoryEvent and
392        HistoryRev structures (the history mechanism has been written in Tcl
393        for some time now.)
394
3952002-10-22  Jeff Hobbs  <jeffh@ActiveState.com>
396
397        *** 8.4.1 TAGGED FOR RELEASE ***
398
399        * changes: updated for 8.4.1 release
400
401        * win/Makefile.in: removed @MEM_DEBUG_FLAGS@ subst.
402        * win/configure: regen
403        * win/configure.in: removed SC_ENABLE_MEMDEBUG call
404        * win/tcl.m4: replaced SC_ENABLE_MEMDEBUG with a more intelligent
405        SC_ENABLE_SYMBOLS that takes yes|no|mem|compile|all as options now.
406
4072002-10-22  Daniel Steffen  <das@users.sourceforge.net>
408
409        * library/auto.tcl (tcl_findLibrary):
410        * library/package.tcl (tclPkgUnknown): on macosx, search inside the
411        Resources/Scripts subdirectory of any potential package directory.
412        * macosx/Tcl.pbproj/project.pbxproj: add standard Frameworks dirs to
413        TCL_PACKAGE_PATH make argument.
414        * unix/tclUnixInit.c (TclpSetVariables): on macosx, add embedded
415        framework dirs to tcl_pkgPath: @executable_path/../Frameworks and
416        @executable_path/../PrivateFrameworks (if they exist), as well as the
417        dirs in DYLD_FRAMEWORK_PATH (if set). [Patch 624509]
418        use standard MAXPATHLEN instead of literal 1024
419
4202002-10-22  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
421
422        * doc/StringObj.3, doc/Object.3: Documented that Tcl_Obj's standard
423        string form is a modified UTF-8; apparently, this was not mentioned
424        anywhere in the main docs, and lead to [Bug 624919].
425
4262002-10-21  Daniel Steffen  <das@users.sourceforge.net>
427
428        * macosx/Tcl.pbproj/project.pbxproj: bumped version to 8.4.1
429        * generic/tcl.h: Added reminder comment to edit
430        macosx/Tcl.pbproj/project.pbxproj when version number changes.
431
4322002-10-18  Jeff Hobbs  <jeffh@ActiveState.com>
433
434        * library/reg/pkgIndex.tcl:
435        * win/configure:
436        * win/configure.in:
437        * win/Makefile.in:
438        * win/makefile.vc:
439        * win/makefile.bc:    Updated to reg1.1
440
441        * doc/registry.n:      Added support for broadcasting changes to the
442        * tests/registry.test: registry Environment. Noted proper code in the
443        * win/tclWinReg.c:     docs. [Patch 625453]
444
445        * unix/Makefile.in (dist): add any mac/tcl*.sea.hqx files
446
4472002-10-17  Don Porter  <dgp@users.sourceforge.net>
448
449        * generic/tclVar.c:     Fixed code that check for proper # of args to
450        * tests/var.test:       [array names]. Added test. [Bug 624755]
451
4522002-10-16  Jeff Hobbs  <jeffh@ActiveState.com>
453
454        * win/configure:                 add workaround for cygwin windres
455        * win/tcl.m4 (SC_CONFIG_CFLAGS): problem. [Patch 624010] (howell)
456
4572002-10-15  Jeff Hobbs  <jeffh@ActiveState.com>
458
459        * README: added archives.tcl.tk note
460
461        * unix/configure:
462        * unix/tcl.m4: Correct AIX-5 ppc build flags. Correct HP 11 64-bit gcc
463        building. [Patch 601051] (martin)
464
4652002-10-15  Vince Darley  <vincentdarley@users.sourceforge.net>
466
467        * generic/tclCmdMZ.c:
468        * tests/trace.test: applied patch from Hemang Levana to fix [Bug
469        615043] in execution traces with idle tasks firing.
470
4712002-10-14  Jeff Hobbs  <jeffh@ActiveState.com>
472
473        * generic/tclEnv.c (Tcl_PutEnv): correct possible mem leak. [Patch
474        623269] (brouwers)
475
4762002-10-11  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
477
478        * generic/tcl.h: Need a different strategy through the maze of
479        #defines to let people building with Cygwin build correctly. Also made
480        some comments less misleading...
481
4822002-10-10  Jeff Hobbs  <jeffh@ActiveState.com>
483
484        * README: fixed minor nits [Bug 607776] (virden)
485
486        * win/configure:
487        * win/tcl.m4: enable USE_THREAD_ALLOC (new threaded allocator) by
488        default in cygwin configure on Windows.
489
4902002-10-10  Don Porter  <dgp@users.sourceforge.net>
491
492        * doc/Tcl.n:    Clarified that namespace separators are legal in the
493                        variable names during $-subtitution. [Bug 615139]
494
495        * doc/regexp.n: Typo correction. Thanks Ronnie Brunner. [Bug 606826]
496
4972002-10-10  Vince Darley  <vincentdarley@users.sourceforge.net>
498
499        * unix/tclLoadAout.c
500        * unix/tclLoadDl.c
501        * unix/tclLoadDld.c
502        * unix/tclLoadDyld.c
503        * unix/tclLoadNext.c
504        * unix/tclLoadOSF.c
505        * unix/tclLoadShl.c
506        * win/tclWinLoad.c: allow either full paths or simply dll names to be
507        specified when loading files (the latter will be looked up by the OS
508        on your PATH/LD_LIBRARY_PATH as appropriate). Fixes [Bug 611108]
509
5102002-10-09  Jeff Hobbs  <jeffh@ActiveState.com>
511
512        * unix/README: doc'ed --enable-symbols options.
513        * unix/Makefile.in: removed @MEM_DEBUG_FLAGS@ subst.
514        * unix/configure: regen
515        * unix/configure.in: removed SC_ENABLE_MEMDEBUG call
516        * unix/tcl.m4: replaced SC_ENABLE_MEMDEBUG with a more intelligent
517        SC_ENABLE_SYMBOLS that takes yes|no|mem|compile|all as options now.
518
5192002-10-09  Kevin B. Kenny  <kennykb@acm.org>
520
521        * win/tclWinTime.c: Added code to set an exit handler that terminates
522        the thread that calibrates the performance counter, so that the thread
523        won't outlive unloading the Tcl DLL. [Bug 620735]
524
5252002-10-09  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
526
527        * doc/binary.n: More clarification of [binary scan]'s behaviour.
528
5292002-10-09  Daniel Steffen  <das@users.sourceforge.net>
530
531        * generic/tclIntDecls.h: fixed botched regen.
532
5332002-10-09  Daniel Steffen  <das@users.sourceforge.net>
534
535        * generic/tclInt.decls: made TclSetPreInitScript() declaration
536        generic as it is used on mac & aqua as well.
537        * generic/tclIntDecls.h:
538        * generic/tclStubInit.c: regen.
539        * generic/tclCompile.h: added prototype for TclCompileVariableCmd.
540
541        * mac/tclMacPort.h: removed incorrect <fcntl.h> definitions and
542        obsolete <stat.h> definitions.
543        * mac/tclMacChan.c: removed obsolete GetOpenMode() and replaced
544        associated constants with the <fcntl.h> analogues (they existing defs
545        were inconsistent with <fcntl.h> which was causing havoc when
546        Tcl_GetOpenMode was used instead of private GetOpenMode).
547
548        * mac/tclMacFCmd.c: removed GenerateUniqueName(), use equivalent (and
549        identically named) routine from MoreFiles instead.
550
551        * mac/tclMacLoad.c: CONSTification, fixes to Vince's last changes.
552
553        * mac/tclMacFile.c:
554        * mac/tclMacTest.c:
555        * mac/tclMacUnix.c: CONSTification.
556
557        * mac/tclMacOSA.c: CONSTification, sprintf fixes, UH 3.4.x changes;
558        fix for missing autoname token from TclOSACompileCmd. (bdesgraupes)
559        * mac/AppleScript.html(AppleScript delete): doc fix. (bdesgraupes)
560
561        * mac/tcltkMacBuildSupport.sea.hqx: updated MoreFiles to 1.5.3,
562        updated build instructions for 8.4.
563        * mac/tclMacProjects.sea.hqx: rebuilt archive.
564
5652002-10-09  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
566
567        * doc/Alloc.3: Added a note to mention that attempting to allocate a
568        zero-length block can return NULL. [Tk Bug 619544]
569
5702002-10-04  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
571
572        * doc/binary.n: Doc improvements [Patch 616480]
573
574        * tests/fCmd.test, tests/winFCmd.test:
575        * tools/eolFix.tcl, tools/genStubs.tcl: [file exist] -> [file exists]
576        Thanks to David Welton.
577
5782002-10-03  Don Porter  <dgp@users.sourceforge.net>
579
580        * doc/tcltest.n: fixed typo [Bug 618018]. Thanks to "JJM".
581
5822002-10-03  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
583
584        * tools/man2help2.tcl:
585        * tests/http.test, tests/httpd, tests/httpold.test:
586        * tests/env.test, tests/binary.test, tests/autoMkindex.test:
587        * library/init.tcl, library/http/http.tcl: [info exist] should really
588        be [info exists]. [Bug 602566]
589
590        * doc/lsearch.n: Better specification of what happens when -sorted is
591        mixed with other options. [Bug 617816]
592
5932002-10-01  Jeff Hobbs  <jeffh@ActiveState.com>
594
595        * generic/tclProc.c (TclCreateProc): mask out VAR_UNDEFINED for
596        precompiled locals to support 8.3 precompiled code.
597        (Tcl_ProcObjCmd): correct 2002-09-26 fix to look for tclProcBodyType.
598
5992002-10-01  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
600
601        * doc/socket.n: Mentioned that ports may be specified as serivce names
602        as well as integers. [Bug 616843]
603
6042002-09-30  Jeff Hobbs  <jeffh@ActiveState.com>
605
606        * generic/tclCompCmds.c (TclCompileRegexpCmd): correct the checking
607        for bad re's that didn't terminate the re string. Resultant compiles
608        were correct, but much slower than necessary.
609
6102002-09-29  David Gravereaux <davygrvy@pobox.com>
611
612        * win/tclAppInit.c: Added proper exiting conditions using Win32
613        console signals. This handles the existing lack of a Ctrl+C exit to
614        call exit handlers when built for thread support. Also, properly
615        handles exits from other conditions such as CTRL_CLOSE_EVENT,
616        CTRL_LOGOFF_EVENT, and CTRL_SHUTDOWN_EVENT signals. In all cases,
617        exit handlers will be called. [Bug 219355]
618
619        * win/makefile.vc: Added missing tclThreadAlloc.c to the build rules
620        and defines USE_THREAD_ALLOC when TCL_THREADS is defined to get the
621        new behavior by default.
622
6232002-09-27  Don Porter  <dgp@users.sourceforge.net>
624
625        * README:               Bumped to version 8.4.1 to avoid confusion of
626        * generic/tcl.h:        CVS snapshots with the actual 8.4.0 release.
627        * tools/tcl.wse.in:
628        * unix/configure.in:
629        * unix/tcl.spec:
630        * win/configure.in:
631
632        * unix/configure:       autoconf
633        * win/configure:
634
6352002-09-26  Jeff Hobbs  <jeffh@ActiveState.com>
636
637        * unix/configure: regen.
638        * unix/tcl.m4: improve AIX-4/5 64bit compilation support.
639
640        * generic/tclProc.c (Tcl_ProcObjCmd): correct overeager optimization
641        of noop proc to handle the precompiled case. (sofer)
642
643        * unix/ldAix (nmopts): add -X32_64 to make it work for 32 or 64bit
644        mode compilation.
645
646        * library/encoding/koi8-u.enc: removed extraneous spaces that confused
647        encoding reader. [Bug 615115]
648
649        * unix/Makefile.in: generate source dists with -src designator and do
650        not generate .Z anymore (just .gz and .zip).
651
6522002-09-18  Mumit Khan <khan@nanotech.wisc.edu>
653
654        Added basic Cygwin support.
655
656        * win/tcl.m4 (SC_PATH_TCLCONFIG): Support one-tree build.
657        (SC_PATH_TKCONFIG): Likewise.
658        (SC_PROG_TCLSH): Likewise.
659        (SC_CONFIG_CFLAGS): Assume real Cygwin port and remove -mno-cygwin
660        flags. Add -mwin32 to extra_cflags and extra_ldflags. Remove ``-e
661        _WinMain@16'' from LDFLAGS_WINDOW.
662        * win/configure.in: Allow Cygwin build.
663        (SEH test): Define to be 1 instead of empty value.
664        (EXCEPTION_DISPOSITION): Add test.
665        * win/configure: Regenerate.
666
667        * generic/tcl.h: Don't explicitly define __WIN32__ for Cygwin, let the
668        user decide whether to use Windows or POSIX personality.
669        (TCL_WIDE_INT_TYPE, TCL_LL_MODIFIER, struct Tcl_StatBuf): Define for
670        Cygwin.
671        * generic/tclEnv.c (Tcl_CygwinPutenv): putenv replacement for Cygwin.
672        * generic/tclFileName.c (Tcl_TranslateFileName): Convert POSIX to
673        native format.
674        (TclDoGlob): Likewise.
675        * generic/tclPlatDecls.h (TCHAR): Define for Cygwin.
676        * win/tclWinPort.h (putenv, TclpSysAlloc, TclpSysFree,
677        (TclpSysRealloc): Define for Cygwin.
678
6792002-09-26  Daniel Steffen  <das@users.sourceforge.net>
680
681        * macosx/Makefile: preserve environment value of INSTALL_ROOT. When
682        embedding only use deployment build. Force relink before embedded
683        build to ensure new linker flags are picked up.
684
685        * macosx/Tcl.pbproj/project.pbxproj: add symbolic links to debug lib,
686        stub libs and tclConfig.sh in framework toplevel. Configure target
687        dependency fix. Fix to 'clean' action. Added private tcl headers to
688        framework. Install tclsh symbolic link. Html doc build works when no
689        installed tclsh available. Made html doc structure in framework more
690        like in Apple frameworks.
691
6922002-09-24  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
693
694        * unix/tcl.m4 (SC_TCL_64BIT_FLAGS): Yet more robust 64-bit value
695        detection to close [Bug 613117] on more systems.
696
697        * generic/tclCompile.c (TclPrintSource): More CONSTifying.
698        * generic/tclExecute.c (EvalStatsCmd): Object-ify to reduce warnings.
699        Thanks to 'CoderX2' on the chat for bringing this to my attention...
700
701        * unix/tcl.m4: Forgot to define TCL_WIDE_INT_IS_LONG at the
702        appropriate moment. I believe this is the cause of [Bug 613117]
703
704        * doc/lset.n: Changed 'list' to 'varName' for consistency with lappend
705        documentation. Thanks to Glenn Jackman [Bug 611719]
706
7072002-09-22  Don Porter  <dgp@users.sourceforge.net>
708
709        * library/tcltest/tcltest.tcl:  Corrected [puts -nonewline] within
710        test bodies. Thanks to Harald Kirsch. [Bug 612786, Patch 612788] Also
711        corrected reporting of body return code. Thanks to David Taback [Bug
712        611922]
713        * library/tcltest/pkgIndex.tcl: Bump to version 2.2.1.
714        * tests/tcltest.test: added tests for these bugs.
715
7162002-09-15  Mo DeJong  <mdejong@users.sourceforge.net>
717
718        * unix/configure: Regen.
719        * unix/tcl.m4 (SC_CONFIG_CFLAGS): Add PEEK_XCLOSEIM define under
720        Linux. This is used by Tk to double check that an X input context is
721        cleaned up before it is closed.
722
7232002-09-12  David Gravereaux <davygrvy@pobox.com>
724
725        * win/coffbase.txt: Added BLT to the virtual base address listings
726        table should BLT's build tools decide to use it.
727
7282002-09-12  Daniel Steffen  <das@users.sourceforge.net>
729
730        * generic/tcl.h:
731        * mac/tclMacApplication.r:
732        * mac/tclMacLibrary.r:
733        * mac/tclMacResource.r: unified use of the two equivalent resource
734        compiler header inclusion defines RC_INVOKED and RESOURCE_INCLUDED,
735        now use RC_INVOKED throughout.
736
7372002-09-10  Mo DeJong  <mdejong@users.sourceforge.net>
738
739        * unix/README: Add note about building extensions with the same
740        compiler Tcl was built with. [Tk Bug 592096]
741
7422002-09-10  Daniel Steffen  <das@users.sourceforge.net>
743
744        * macosx/Tcl.pbproj/project.pbxproj: disabled building html
745        documentation during embedded build.
746
7472002-09-10  Daniel Steffen  <das@users.sourceforge.net>
748
749        * unix/Makefile.in: added DYLIB_INSTALL_DIR variable for macosx and
750        set it to default value ${LIB_RUNTIME_DIR}
751        * unix/tcl.m4 (Darwin): use DYLIB_INSTALL_DIR instead of
752        LIB_RUNTIME_DIR in the -install_name argument to ld.
753        * unix/configure: regen.
754
755        * macosx/Tcl.pbproj/project.pbxproj:
756        * macosx/Makefile: added support for building Tcl as an embedded
757        framework, i.e. using an dyld install_name containing
758        @executable_path/../Frameworks via the new DYLIB_INSTALL_DIR
759        unix/Makefile variable.
760
7612002-09-10  Jeff Hobbs  <jeffh@ActiveState.com>
762
763        *** 8.4.0 TAGGED FOR RELEASE ***
764
7652002-09-06  Don Porter  <dgp@users.sourceforge.net>
766
767        * doc/file.n:  Format correction, and clarified [file normalize]
768        returns an absolute path.
769
770        * doc/tcltest.n:  Added examples section, as long promised.
771
7722002-09-06  Reinhard Max  <max@suse.de>
773
774        * tests/tcltest.test: Added nonRoot flag to tests 8.3, 8.4, and 8.12.
775
7762002-09-05  Don Porter  <dgp@users.sourceforge.net>
777
778        * doc/tcltest.n:  Clarified phrasing.
779
780        * generic/tclBasic.c (TclRenameCommand,CallCommandTraces):
781        * tests/trace.test (trace-27.1): Corrected memory leak when a rename
782        trace deleted the command being traced. Test added. Thanks to Hemang
783        Lavana for the fix. [Bug 604609]
784
785        * generic/tclVar.c (TclDeleteVars):  Corrected logic for setting the
786        TCL_INTERP_DESTROYED flag when calling variable traces. [Tk Bug 605121]
787
7882002-09-04  Miguel Sofer  <msofer@users.sourceforge.net>
789
790        * generic/tclVar.c (DeleteArray): leak plug [Bug 604239]. Thanks to
791        dkf and dgp for the long and difficult discussion in the chat.
792
7932002-09-03  Jeff Hobbs  <jeffh@ActiveState.com>
794
795        * generic/tclVar.c (Tcl_UpVar2): code cleanup to not use goto
796
797        * unix/configure: remove -pthread from LIBS on FreeBSD in thread
798        * unix/tcl.m4:    enabled build. [Bug 602849]
799
8002002-09-03  Miguel Sofer  <msofer@users.sourceforge.net>
801
802        * generic/tclInterp.c (AliasCreate): a Tcl_Obj was leaked on error
803        return from TclPreventAliasLoop.
804
8052002-09-03  Daniel Steffen  <das@users.sourceforge.net>
806
807        * macosx/Tcl.pbproj/project.pbxproj: Bumped version number to 8.4.0
808        and updated copyright info.
809
8102002-09-03  Miguel Sofer  <msofer@users.sourceforge.net>
811
812        * generic/tclVar.c (Tcl_UpVar2): a Tcl_Obj was being leaked on error
813        return from TclGetFrame.
814
8152002-09-03  Don Porter  <dgp@users.sourceforge.net>
816
817        * changes:  Updated changes for 8.4.0 release.
818
8192002-09-02  Jeff Hobbs  <jeffh@ActiveState.com>
820
821        * unix/tclUnixFile.c (TclpObjLink): removed unnecessary/unfreed extra
822        native char*.
823
824        * unix/tclUnixChan.c (Tcl_MakeTcpClientChannel): make sure to init
825        flags field of TcpState ptr to 0.
826
827        * unix/configure:
828        * unix/tcl.m4: added 64-bit gcc compilation support on HP-11.
829        [Patch 601051] (martin)
830
831        * README:               Bumped version number to 8.4.0
832        * generic/tcl.h:
833        * tools/tcl.wse.in:
834        * unix/configure:
835        * unix/configure.in:
836        * unix/tcl.spec:
837        * win/README.binary:
838        * win/configure:
839        * win/configure.in:
840
841        * generic/tclInterp.c (SlaveCreate): make sure that the memory and
842        checkmem commands are initialized in non-safe slave interpreters when
843        TCL_MEM_DEBUG is used. [Bug 583445]
844
845        * win/tclWinConsole.c (ConsoleCloseProc): only wait on writable pipe
846        if there was something to write. This may prevent infinite wait on
847        exit.
848
849        * tests/exec.test: marked exec-18.1 unixOnly until the Windows
850        incompatability (in the test, not the core) can be resolved.
851
852        * tests/http.test (http-3.11): added close $fp that was causing an
853        error on Windows because the file was not closed before deleting.
854
855        * unix/tclUnixInit.c (Tcl_MacOSXGetLibraryPath): made this static
856        function only appear when HAVE_CFBUNDLE is defined.
857
8582002-08-31  Daniel Steffen  <das@users.sourceforge.net>
859
860        * unix/tcl.m4: added TK_SHLIB_LD_EXTRAS analogue of existing
861        TCL_SHLIB_LD_EXTRAS for linker settings only used when linking Tk.
862
863        * unix/configure: regen
864
8652002-08-31  Daniel Steffen  <das@users.sourceforge.net>
866
867        *** macosx-8-4-branch merged into the mainline [Patch 602770] ***
868
869        * generic/tcl.decls: added new macosx specific entry to stubs table.
870
871        * tools/genStubs.tcl: added generation of platform guards for
872        macosx. This is a little more complex than it seems, because MacOS X
873        IS "unix" plus a little bit, for the purposes of Tcl. BUT
874        unfortunately, Tk uses "unix" to mean X11. So added platform keys for
875        macosx (the little added to "unix"), "aqua" and "x11" to distinguish
876        these for Tk.
877
878        * generic/tcl.h: added a #ifnded RESOURCE_INCLUDED so that tcl.h can
879        be passed to the resource compiler.
880
881        * generic/tcl.h:
882        * generic/tclNotify.c: added a few Notifier procs, to be able to
883        modify more bits of the Tcl notifier dynamically. Required to get Mac
884        OS X Tk to live on top of the Tcl Unix threaded notifier. Changes the
885        size of the Tcl_NotifierProcs structure, but doesn't move any elements
886        around.
887
888        * unix/tclUnixNotfy.c: moved the call to Tcl_ConditionNotify till
889        AFTER we are done mucking with the pointer swap. Fixes cases where the
890        thread waiting on the condition wakes & accesses the waitingListPtr
891        before it gets reset, causing a hang.
892
893        * library/auto.tcl (tcl_findLibrary): added checking the directories
894        in the tcl_pkgPath for library files on macosx to enable support of
895        the standard Mac OSX library locations.
896
897        * unix/Makefile.in:
898        * unix/configure.in:
899        * unix/tcl.m4: added MAC_OSX_DIR. Added PLAT_OBJS to the OBJS: there
900        are some MacOS X specific files now for Tcl, and when I get the
901        resource & applescript stuff ported over, and restore support for
902        FindFiles, etc, there will be a few more. Added LD_LIBRARY_PATH_VAR
903        configure variable to avoid having to set all possible LD_LIBRARY_PATH
904        analogues on all platforms. LD_LIBRARY_PATH_VAR is "LD_LIBRARY_PATH"
905        by default, "LIBPATH" on AIX, "SHLIB_PATH" on HPUX and
906        "DYLD_LIBRARY_PATH" on Mac OSX. Added configure option to package Tcl
907        as a framework on Mac OSX.
908
909        * macosx/tclMacOSXBundle.c (new): support for finding Tcl extension
910        packaged as 'bundles' in the standard Mac OSX library locations.
911
912        * unix/tclUnixInit.c: added support for findig the tcl script library
913        inside Tcl packaged as a framework on Mac OSX.
914
915        * macosx/Tcl.pbproj/jingham.pbxuser (new):
916        * macosx/Tcl.pbproj/project.pbxproj (new): project for Apple's
917        ProjectBuilder IDE.
918
919        * macosx/Makefile (new): simple makefile for building the project from
920        the command line via the ProjectBuilder tool 'pbxbuild'.
921
922        * unix/configure:
923        * generic/tclStubInit.c:
924        * generic/tclPlatDecls.h: regen
925
9262002-08-29  Andreas Kupries  <andreas_kupries@users.sourceforge.net>
927
928        * win/tclWinThrd.c (TclpFinalizeThreadData, TclWinFreeAllocCache):
929        Applied patch for [Bug 599428], provided by Miguel Sofer
930        <msofer@users.sourceforge.net>.
931
9322002-08-28  David Gravereaux <davygrvy@pobox.com>
933
934        * generic/tclEnv.c:
935        * unix/configure.in:
936        * win/tclWinPort.h:  putenv() on some systems copies the buffer rather
937        than taking reference to it. This causes memory leaks and is know to
938        effect mswindows (msvcrt) and NetBSD 1.5.2 . This patch tests for this
939        behavior and turns on -DHAVE_PUTENV_THAT_COPIES=1 when approriate.
940        Thanks to David Welton for assistance. [Bug 414910]
941
942        * unix/configure: regen'd
943
9442002-08-28  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
945
946        * doc/eval.n: Added mention of list command and corrected "SEE ALSO".
947
948        * unix/configure.in: Cache handling of ac_cv_type_socklen_t was wrong.
949        [Bug 600931] reported by John Ellson. Fixed by putting the brackets
950        where they belong.
951
9522002-08-26  Miguel Sofer  <msofer@users.sourceforge.net>
953
954        * generic/tclCompCmds.c: fix for [Bug 599788] (error in element name
955        causing segfault), reported by Tom Wilkason. Fixed by copying the
956        tokens instead of the source string.
957
9582002-08-26  Miguel Sofer  <msofer@users.sourceforge.net>
959
960        * generic/tclThreadAlloc.c: small optimisation, reducing the new
961        allocator's overhead.
962
9632002-08-23  Miguel Sofer  <msofer@users.sourceforge.net>
964
965        * generic/tclObj.c (USE_THREAD_ALLOC): fixed leak [Bug 597936]. Thanks
966        to Zoran Vasiljevic.
967
9682002-08-23  Miguel Sofer  <msofer@users.sourceforge.net>
969
970        * generic/tclThreadAlloc.c (USE_THREAD_ALLOC): moving objects between
971        caches as a block, instead of one-by-one.
972
9732002-08-22  Miguel Sofer  <msofer@users.sourceforge.net>
974
975        * generic/tclBasic.c:
976        * generic/tclCmdMZ.c: fix for freed memory r/w in delete traces [Bug
977        589863], patch by Hemang Lavana.
978
9792002-08-20  Andreas Kupries  <andreas_kupries@users.sourceforge.net>
980
981        * win/Makefile.in (CFLAGS):
982        * unix/Makefile.in (MEM_DEBUG_FLAGS): Added usage of @MEM_DEBUG_FLAGS@.
983        * win/configure.in:
984        * unix/configure.in: Added usage of SC_ENABLE_MEMDEBUG.
985        * win/tcl.m4:
986        * unix/tcl.m4: Added macro SC_ENABLE_MEMDEBUG. Allows a user of
987        configure to (de)activate memory validation and debugging
988        (TCL_MEM_DEBUG). No need to modify the makefile anymore.
989
9902002-08-20  Don Porter  <dgp@users.sourceforge.net>
991
992        * generic/tclCkalloc.c: CONSTified MemoryCmd and CheckmemCmd.
993
994        * README:               Bumped version number to 8.4b3 to distinguish
995        * generic/tcl.h:        HEAD from the 8.4b2 release.
996        * tools/tcl.wse.in:
997        * unix/configure.in:
998        * unix/tcl.spec:
999        * win/README.binary:
1000        * win/configure.in:
1001
1002        * unix/configure:       autoconf
1003        * win/configure:
1004
1005        * library/http/http.tcl:        Corrected installation directory of
1006        * library/msgcat/msgcat.tcl:    the package tcltest 2.2. Added
1007        * library/opt/optparse.tcl:     comments in other packages to remind
1008        * library/tcltest/tcltest.tcl:  that installation directories need
1009        * unix/Makefile.in:             updates to match increasing version
1010        * win/Makefile.in:              numbers. [Bug 597450]
1011        * win/makefile.bc:
1012        * win/makefile.vc:
1013
10142002-08-19  Andreas Kupries  <andreas_kupries@users.sourceforge.net>
1015
1016        * unix/tclUnixTest.c (TestfilehandlerCmd): Changed readable/writable
1017        to the more common readable|writable. Fixes [Bug 596034] reported by
1018        Larry Virden <lvirden@users.sourceforge.net>.
1019
10202002-08-16  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
1021
1022        * tests/fCmd.test: Added test to make sure that the cause of the
1023        problem is detectable with an unpatched Tcl.
1024        * doc/ObjectType.3: Added note on the root cause of this problem to
1025        the documentation, since it is possible for user code to trigger this
1026        sort of behaviour too.
1027        * generic/tclIOUtil.c (SetFsPathFromAny): Objects should only have
1028        their old representation deleted when we know that we are about to
1029        install a new one. This stops a weird TclX bug under Linux with
1030        certain kinds of memory debugging enabled which essentally came down
1031        to a double-free of a string.
1032
10332002-08-14  Miguel Sofer  <msofer@users.sourceforge.net>
1034
1035        * generic/tclInt.h:
1036        * generic/tclObj.c: (code cleanup) factored the parts in the macros
1037        TclNewObj() / TclDecrRefCount() into a common part for all
1038        memory allocators and two new macros TclAllocObjStorage() /
1039        TclFreeObjStorage() that are specific to each allocator and fully
1040        describe the differences. Removed allocator-specific code from
1041        tclObj.c by using the macros.
1042
10432002-08-12  Miguel Sofer  <msofer@users.sourceforge.net>
1044
1045        * generic/tclCmdMZ.c: fixing UMR in delete traces, [Bug 589863].
1046
10472002-08-08  David Gravereaux <davygrvy@pobox.com>
1048
1049        * tools/man2help.tcl: Fixed $argv handling bug where if -bitmap wasn't
1050        specified $argc was off by one.
1051
10522002-08-08  Miguel Sofer  <msofer@users.sourceforge.net>
1053
1054        * tests/uplevel.test: added 6.1 to test [uplevel] with shadowed
1055        commands [Bug 524383]
1056
1057        * tests/subst.test: added 5.8-10 as further tests for [Bug 495207]
1058
10592002-08-08  Don Porter  <dgp@users.sourceforge.net>
1060
1061        * tests/README: Noted removal of defs.tcl.
1062
10632002-08-08  Jeff Hobbs  <jeffh@ActiveState.com>
1064
1065        * doc/lsearch.n: corrected lsearch docs to use -inline in examples.
1066
1067        *** 8.4b2 TAGGED FOR RELEASE ***
1068
1069        * tests/fCmd.test:
1070        * tests/unixFCmd.test: updated tests for new link copy behavior.
1071        * generic/tclFCmd.c (CopyRenameOneFile): changed the behavior to
1072        follow links to endpoints and copy that file/directory instead of just
1073        copying the surface link. This means that trying to copy a link that
1074        has no endpoint (danling link) is an error. [Patch 591647] (darley)
1075        (CopyRenameOneFile): this is currently disabled by default until
1076        further issues with such behavior (like relative links) can be
1077        handled correctly.
1078
1079        * tests/README: slight wording improvements
1080
10812002-08-07  Miguel Sofer  <msofer@users.sourceforge.net>
1082
1083        * docs/BoolObj.3: added description of valid string reps for a
1084        boolean object. [Bug 584794]
1085        * generic/tclObj.c: optimised Tcl_GetBooleanFromObj and
1086        SetBooleanFromAny to avoid parsing the string rep when it can be
1087        avoided. [Bugs 584650, 472576]
1088
10892002-08-07  Miguel Sofer  <msofer@users.sourceforge.net>
1090
1091        * generic/tclCompile.h:
1092        * generic/tclObj.c: making tclCmdNameType static ([Bug 584567], Don
1093        Porter).
1094
10952002-08-07  Miguel Sofer  <msofer@users.sourceforge.net>
1096
1097        * generic/tclObj.c (Tcl_NewObj): added conditional code for
1098        USE_THREAD_ALLOC; objects allocated through Tcl_NewObj() were
1099        otherwise being leaked. [Bug 587488] reported by Sven Sass.
1100
11012002-08-06  Daniel Steffen  <das@users.sourceforge.net>
1102
1103        * generic/tclInt.decls:
1104        * unix/tclUnixThrd.c: Added stubs and implementations for
1105        non-threaded build for the tclUnixThrd.c procs TclpReaddir,
1106        TclpLocaltime, TclpGmtime and TclpInetNtoa. Fixes link errors in
1107        stubbed & threaded extensions that include tclUnixPort.h and use any
1108        of the procs readdir, localtime, gmtime or inet_ntoa (e.g. TclX 8.4)
1109        [Bug 589526]
1110        * generic/tclIntPlatDecls.h:
1111        * generic/tclStubInit.c: Regen.
1112
11132002-08-05  Don Porter  <dgp@users.sourceforge.net>
1114
1115        * library/tcltest/tcltest.tcl:  The setup and cleanup scripts are now
1116        * library/tcltest/pkgIndex.tcl: skipped when a test is skipped, fixing
1117        * tests/tcltest.test:           [Bug 589859]. Test for bug added, and
1118        corrected tcltest package bumped to version 2.2.
1119
1120        * generic/tcl.decls:    Restored Tcl_Concat to return (char *). Like
1121        * generic/tclDecls.h:   Tcl_Merge, it transfers ownership of a dynamic
1122        * generic/tclUtil.c:    allocated string to the caller.
1123
11242002-08-04  Don Porter  <dgp@users.sourceforge.net>
1125
1126        * doc/CmdCmplt.3:       Applied Patch 585105 to fully CONST-ify all
1127        * doc/Concat.3:         remaining public interfaces of Tcl. Notably,
1128        * doc/CrtCommand.3:     the parser no longer writes on the string it
1129        * doc/CrtSlave.3:       is parsing, so it is no longer necessary for
1130        * doc/CrtTrace.3:       Tcl_Eval() to be given a writable string. Also
1131        * doc/Eval.3:           the refactoring of the Tcl_*Var* routines by
1132        * doc/ExprLong.3:       by Miguel Sofer is included, so that the
1133        * doc/LinkVar.3:        "part1" argument for them no longer needs to
1134        * doc/ParseCmd.3:       be writable either.
1135        * doc/SetVar.3:
1136        * doc/TraceVar.3:
1137        * doc/UpVar.3:          Compatibility support has been enhanced so
1138        * generic/tcl.decls:    that a #define of USE_NON_CONST will remove
1139        * generic/tcl.h:        all possible source incompatibilities with the
1140        * generic/tclBasic.c:   8.3 version of the header file(s). The new
1141        * generic/tclCmdMZ.c:   #define of USE_COMPAT_CONST now does what
1142        * generic/tclCompCmds.c:USE_NON_CONST used to do -- disable only those
1143        * generic/tclCompExpr.c:new CONST's that introduce irreconcilable
1144        * generic/tclCompile.c: incompatibilities.
1145        * generic/tclCompile.h:
1146        * generic/tclDecls.h:   Several bugs are also fixed by this patch.
1147        * generic/tclEnv.c:     [Bugs 584051,580433] [Patches 585105,582429]
1148        * generic/tclEvent.c:
1149        * generic/tclInt.decls:
1150        * generic/tclInt.h:
1151        * generic/tclIntDecls.h:
1152        * generic/tclInterp.c:
1153        * generic/tclLink.c:
1154        * generic/tclObj.c:
1155        * generic/tclParse.c:
1156        * generic/tclParseExpr.c:
1157        * generic/tclProc.c:
1158        * generic/tclTest.c:
1159        * generic/tclUtf.c:
1160        * generic/tclUtil.c:
1161        * generic/tclVar.c:
1162        * mac/tclMacTest.c:
1163        * tests/expr-old.test:
1164        * tests/parseExpr.test:
1165        * unix/tclUnixTest.c:
1166        * unix/tclXtTest.c:
1167        * win/tclWinTest.c:
1168
11692002-08-01  Miguel Sofer  <msofer@users.sourceforge.net>
1170
1171        * generic/tclExecute.c: bugfix (reading freed memory). Testsuite
1172        passed on linux/i386, compile-13.1 hung on linux/alpha.
1173
11742002-08-01  Miguel Sofer  <msofer@users.sourceforge.net>
1175
1176        * generic/tclExecute.c: added a reference count for the complete
1177        execution stack, instead of Tcl_Preserve/Tcl_Release.
1178
11792002-08-01  Mo DeJong  <mdejong@users.sourceforge.net>
1180
1181        * generic/tclCkalloc.c (TclFinalizeMemorySubsystem): Don't lock the
1182        ckalloc mutex before invoking the Tcl_DumpActiveMemory function since
1183        it also locks the same mutex. This code is only executed when "memory
1184        onexit filename" has been executed and Tcl is compiled with
1185        -DTCL_MEM_DEBUG.
1186
11872002-08-01  Reinhard Max  <max@suse.de>
1188
1189        * win/tclWinPort.h: The windows headers don't provide socklen_t, so we
1190        have to do it.
1191
11922002-07-31  Miguel Sofer  <msofer@users.sourceforge.net>
1193
1194        * generic/tclInt.h (USE_THREAD_ALLOC): for unshared objects,
1195        TclDecrRefCount now frees the internal rep before the string rep -
1196        just like the non-macro Tcl_DecrRefCount/TclFreeObj [Bug 524802]. For
1197        the other allocators the fix was done on 2002-03-06.
1198
11992002-07-31  Miguel Sofer  <msofer@users.sourceforge.net>
1200
1201        * generic/tclInterp.c: signed/unsigned comparison warning fixed
1202        (Vince Darley).
1203
12042002-07-31  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
1205
1206        * unix/tcl.m4 (SC_BUGGY_STRTOD): Enabled caching of test results.
1207
1208        * unix/tcl.m4 (SC_BUGGY_STRTOD): Solaris 2.8 still has a buggy
1209        strtod() implementation; make sure we detect it.
1210
1211        * tests/expr.test (expr-22.*): Marked as non-portable because it seems
1212        that these tests have an annoying tendency to fail in unexpected ways.
1213        [Bugs 584825, 584950, 585986]
1214
12152002-07-30  Andreas Kupries  <andreas_kupries@users.sourceforge.net>
1216
1217        * tests/io.test:
1218        * generic/tclIO.c (WriteChars): Added flag to break out of loop if
1219        nothing of the input is consumed at all, to prevent infinite looping
1220        of called with a non-UTF-8 string. Fixes Bug 584603 (partially). Added
1221        new test "io-60.1". Might need additional changes to Tcl_Main so that
1222        unprintable results are printed as binary data.
1223
12242002-07-29  Mo DeJong  <mdejong@users.sourceforge.net>
1225
1226        * unix/Makefile.in: Use CC_SEARCH_FLAGS instead of LD_SEARCH_FLAGS
1227        when linking with ${CC}.
1228        * unix/configure: Regen.
1229        * unix/configure.in: Don't subst CC_SEARCH_FLAGS or LD_SEARCH_FLAGS
1230        since this is now done in tcl.m4.
1231        * unix/tcl.m4 (SC_CONFIG_CFLAGS): Document and set CC_SEARCH_FLAGS
1232        whenever LD_SEARCH_FLAGS is set. [Patch 588290]
1233
12342002-07-29  Reinhard Max  <max@suse.de>
1235
1236        * unix/tcl.m4 (SC_SERIAL_PORT): Fixed detection for cases when
1237                                        configure's stdin is not a tty.
1238
1239        * unix/tclUnixPort.h:
1240        * generic/tclIOSock.c:          Changed size_t to socklen_t in
1241                                        socket-related function calls.
1242
1243        * unix/configure.in:            Added test and fallback definition
1244                                        for socklen_t.
1245
1246        * unix/configure:               generated.
1247
12482002-07-29  Miguel Sofer  <msofer@users.sourceforge.net>
1249
1250        * generic/tclObj.c: fixed a comment
1251
1252        * generic/tcl.h:
1253        * generic/tclBasic.c:
1254        * generic/tclInterp.c: added the new flag TCL_EVAL_INVOKE to the
1255        interface of the Tcl_Eval* functions, removing the
1256        TCL_EVAL_NO_TRACEBACK added yesterday: alias invocations not only
1257        require no tracebacks, but also look up the command name in the global
1258        scope - see new test interp-9.4
1259        * tests/interp.test: added 9.3 to test for safety of aliases to hidden
1260        commands, 9.4 to test for correct command lookup scope.
1261
12622002-07-29  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
1263
1264        * generic/regc_locale.c (cclass): [[:xdigit:]] is only a defined
1265        concept on western characters, so should not allow any unicode digit,
1266        and hence number of ranges in [[:xdigit:]] is fixed.
1267        * tests/reg.test: Added test to detect the bug.
1268        * generic/regc_cvec.c (newcvec): Corrected initial size value in
1269        character vector structure. [Bug 578363] Many thanks to
1270        pvgoran@users.sf.net for tracking this down.
1271
12722002-07-28  Miguel Sofer  <msofer@users.sourceforge.net>
1273
1274        * generic/tcl.h:
1275        * generic/tclBasic.c: added the new flag TCL_EVAL_NO_TRACEBACK to the
1276        interface of the Tcl_Eval* functions. Modified the error message for
1277        too many nested evaluations.
1278        * generic/tclInterp.h: changed the Alias struct to be of variable
1279        length and store the prefix arguments directly (instead of a pointer
1280        to a Tcl_Obj list). Made AliasObjCmd call Tcl_EvalObjv instead of
1281        TclObjInvoke - thus making aliases trigger execution traces [Bug
1282        582522].
1283        * tests/interp.test:
1284        * tests/stack.test: adapted to the new error message.
1285        * tests/trace.test: added tests for aliases firing the exec traces.
1286
12872002-07-27  Mo DeJong  <mdejong@users.sourceforge.net>
1288
1289        * unix/Makefile.in: Revert fix for Tcl bug 529801 since it was
1290        incorrect and broke the build on other systems. Fix [Bug 587299]. Add
1291        MAJOR_VERSION, MINOR_VERSION, PATCH_LEVEL, SHLIB_LD_FLAGS,
1292        SHLIB_LD_LIBS, CC_SEARCH_FLAGS, LD_SEARCH_FLAGS, and LIB_FILE
1293        variables to support more generic library build/install rules.
1294        * unix/configure: Regen.
1295        * unix/configure.in: Move AC_PROG_RANLIB into tcl.m4. Move shared
1296        build test and setting of MAKE_LIB and MAKE_STUB_LIB into tcl.m4. Move
1297        subst of a number of variables into tcl.m4 where they are defined.
1298        * unix/tcl.m4 (SC_ENABLE_SYMBOLS, SC_CONFIG_CFLAGS): Subst vars where
1299        they are defined. Add MAKE_LIB, MAKE_STUB_LIB, INSTALL_LIB, and
1300        INSTALL_STUB_LIB rules to deal with the ugly details of running ranlib
1301        on static libs at build and install time. Replace TCL_SHLIB_LD_EXTRAS
1302        with SHLIB_LD_FLAGS and use it when building a shared library.
1303        * unix/tclConfig.sh.in: Add TCL_CC_SEARCH_FLAGS.
1304
13052002-07-26  Miguel Sofer  <msofer@users.sourceforge.net>
1306
1307        * generic/tclExecute.c: fixed Tcl_Obj leak in code corresponding to
1308        the macro NEXT_INST_V(x, 0, 1) [Bug 587495].
1309
13102002-07-26  Miguel Sofer  <msofer@users.sourceforge.net>
1311
1312        * generic/tclVar.c (TclObjLookupVar): leak fix and improved comments.
1313
13142002-07-26  Jeff Hobbs  <jeffh@ActiveState.com>
1315
1316        * generic/tclVar.c (TclLookupVar): removed early returns that
1317        prevented the parens from being restored. Also removed goto label as
1318        it was not necessary.
1319
13202002-07-24  Miguel Sofer  <msofer@users.sourceforge.net>
1321
1322        * generic/tclExecute.c:
1323        * tests/expr-old.test: fix for erroneous error messages in [expr],
1324        [Bug 587140] reported by Martin Lemburg.
1325
13262002-07-25  Joe English  <jenglish@users.sourceforge.net>
1327
1328        * generic/tclProc.c: fix for [Tk Bug 219218] "error handling with
1329        bgerror in Tk"
1330
13312002-07-24  Miguel Sofer  <msofer@users.sourceforge.net>
1332
1333        * generic/tclExecute.c: restoring full TCL_COMPILE_DEBUG
1334        functionality.
1335
13362002-07-24  Don Porter  <dgp@users.sourceforge.net>
1337
1338        * tests/unixInit.test: relaxed unixInit-3.1 to accept iso8859-15 as a
1339        valid C encoding. [Bug 575336]
1340
13412002-07-24  Miguel Sofer  <msofer@users.sourceforge.net>
1342
1343        * generic/tclExecute.c: restoring the tcl_traceCompile functionality
1344        while I repair tcl_traceExec. The core now compiles and runs also
1345        under TCL_COMPILE_DEBUG, but execution in the bytecode engine can
1346        still not be traced.
1347
13482002-07-24  Daniel Steffen  <das@users.sourceforge.net>
1349
1350        * unix/Makefile.in:
1351        * unix/configure.in: corrected fix for [Bug 529801]: ranlib only
1352        needed for static builds on Mac OS X.
1353        * unix/configure: Regen.
1354        * unix/tclLoadDyld.c: fixed small bugs introduced by Vince,
1355        implemented library unloading correctly (needs OS X 10.2).
1356
13572002-07-23  Joe English  <jenglish@users.sourceforge.net>
1358
1359        * doc/OpenFileChnl.3: (Updates from Larry Virden)
1360        * doc/open.n:
1361        * doc/tclsh.1: Fix section numbers in Unix man page references.
1362        * doc/lset.n:  In EXAMPLES section, include command to set the initial
1363        value used in subsequent examples.
1364        * doc/http.n: Package version updated to 2.4.
1365
13662002-07-23  Mo DeJong  <mdejong@users.sourceforge.net>
1367
1368        * unix/configure: Regen.
1369        * unix/tcl.m4 (SC_CONFIG_CFLAGS): Enable 64 bit compilation when using
1370        the native compiler on a 64 bit version of IRIX. [Bug 219220]
1371
13722002-07-23  Mo DeJong  <mdejong@users.sourceforge.net>
1373
1374        * unix/Makefile.in: Combine ranlib tests and avoid printing unless
1375        ranlib is actually run.
1376
13772002-07-23  Mo DeJong  <mdejong@users.sourceforge.net>
1378
1379        * unix/tcl.m4 (SC_PATH_X): Set XINCLUDES to "" instead of "# no
1380        special path needed" or "# no include files found" when x headers
1381        cannot be located.
1382
13832002-07-22  Vince Darley  <vincentdarley@users.sourceforge.net>
1384
1385        * generic/tclIOUtil.c: made tclNativeFilesystem static (since 07-19
1386        changes removed its usage elsewhere), and added comments about its
1387        usage.
1388        * generic/tclLoad.c:
1389        * generic/tcl.h:
1390        * generic/tcl.decls:
1391        * doc/FileSystem.3: converted last load-related ClientData parameter
1392        to Tcl_LoadHandle opaque structure, removing a couple of casts in the
1393        process.
1394
1395        * generic/tclInt.h: removed tclNativeFilesystem declaration since it
1396        is now static again.
1397
13982002-07-22  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
1399
1400        * tests/expr.test (expr-22.*): Added tests to help detect the
1401        corrected handling.
1402        * generic/tclExecute.c (IllegalExprOperandType): Improved error
1403        message generated when attempting to manipulate Inf and NaN values.
1404        * generic/tclParseExpr.c (GetLexeme): Allowed parser to recognise
1405        'Inf' as a floating-point number. [Bug 218000]
1406
14072002-07-21  Don Porter  <dgp@users.sourceforge.net>
1408
1409        * tclIOUtil.c: Silence compiler warning. [Bug 584408].
1410
14112002-07-19  Vince Darley  <vincentdarley@users.sourceforge.net>
1412
1413        * generic/tclIOUtil.c: fix to GetFilesystemRecord
1414        * win/tclWinFile.c:
1415        * unix/tclUnixFile.c: fix to subtle problem with links shown up by
1416        latest tclkit builds.
1417
14182002-07-19  Mo DeJong  <mdejong@users.sourceforge.net>
1419
1420        * unix/configure:
1421        * unix/configure.in:
1422        * win/configure:
1423        * win/configure.in: Add AC_PREREQ(2.13) in an attempt to make it more
1424        clear that the configure scripts must be generated with autoconf
1425        version 2.13. [Bug 583573]
1426
14272002-07-19  Vince Darley  <vincentdarley@users.sourceforge.net>
1428
1429        * unix/Makefile.in: fix to build on MacOS X [Bug 529801], bug report
1430        and fix from jcw.
1431
14322002-07-19  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
1433
1434        * win/tclWinSerial.c (no_timeout): Made this variable static.
1435
1436        * generic/tclExecute.c, generic/tclCompile.c, generic/tclBasic.c:
1437        * generic/tclCompile.h (builtinFuncTable, instructionTable): Added
1438        prefix to these symbols because they are visible outside the Tcl
1439        library.
1440
1441        * generic/tclCompExpr.c (operatorTable):
1442        * unix/tclUnixTime.c (tmKey):
1443        * generic/tclIOUtil.c (theFilesystemEpoch, filesystemWantToModify,
1444        filesystemIteratorsInProgress, filesystemOkToModify): Made these
1445        variables static.
1446
1447        * unix/tclUnixFile.c:           Renamed nativeFilesystem to
1448        * win/tclWinFile.c:             tclNativeFilesystem and declared
1449        * generic/tclIOUtil.c:          it properly in tclInt.h
1450        * generic/tclInt.h:
1451
1452        * generic/tclUtf.c (totalBytes): Made this array static and const.
1453
1454        * generic/tclParse.c (typeTable): Made this array static and const.
1455        (Tcl_ParseBraces): Simplified error handling case so that scans are
1456        only performed when needed, and flags are simpler too.
1457
1458        * license.terms: Added AS to list of copyright holders; it's only
1459        fair for the current gatekeepers to be listed here!
1460
1461        * tests/cmdMZ.test: Renamed constraint for clarity. [Bug 583427]
1462        Added tests for the [time] command, which was previously only
1463        indirectly tested!
1464
14652002-07-18  Vince Darley  <vincentdarley@users.sourceforge.net>
1466
1467        * generic/tclInt.h:
1468        * generic/tcl.h:
1469        * */*Load*.c: added comments on changes of 07/17 and replaced
1470        clientData with Tcl_LoadHandle in all locations.
1471
1472        * generic/tclFCmd.c:
1473        * tests/fileSystem.test: fixed a 'knownBug' with 'file attributes ""'
1474        * tests/winFCmd.test:
1475        * tests/winPipe.test:
1476        * tests/fCmd.test:
1477        * tessts/winFile.test: added 'pcOnly' constraint to some tests to make
1478        for more useful 'tests skipped' log from running all tests on
1479        non-Windows platforms.
1480
14812002-07-17  Miguel Sofer  <msofer@users.sourceforge.net>
1482
1483        * generic/tclBasic.c (CallCommandTraces): delete traces now receive
1484        the FQ old name of the command. [Bug 582532] (Don Porter)
1485
14862002-07-18  Vince Darley  <vincentdarley@users.sourceforge.net>
1487
1488        * tests/ioUtil.test: added constraints to 1.4,2.4 so they don't run
1489        outside of tcltest. [Bugs 583276, 583277]
1490
14912002-07-17  Miguel Sofer  <msofer@users.sourceforge.net>
1492
1493        * generic/tclVar.c (DupParsedVarName): nasty bug fixed, reported by
1494        Vince Darley.
1495
14962002-07-17  Miguel Sofer  <msofer@users.sourceforge.net>
1497
1498        * generic/tclVar.c (TclPtrIncrVar): missing CONST in declarations,
1499        inconsistent with tclInt.h. Thanks to Vince Darley for reporting, boo
1500        to gcc for not complaining.
1501
15022002-07-17  Vince Darley  <vincentdarley@users.sourceforge.net>
1503
1504        * generic/tclInt.h:
1505        * generic/tclIOUtil.c:
1506        * generic/tclLoadNone.c:
1507        * unix/tclLoadAout.c:
1508        * unix/tclLoadDl.c:
1509        * unix/tclLoadDld.c:
1510        * unix/tclLoadDyld.c:
1511        * unix/tclLoadNext.c:
1512        * unix/tclLoadOSF.c:
1513        * unix/tclLoadShl.c:
1514        * mac/tclMacLoad.c:
1515        * win/tclWinLoad.c: modified to move more functionality to the generic
1516        code and avoid duplication. Partial replacement of internal uses of
1517        clientData with opaque Tcl_LoadHandle. A little further work still
1518        needed, but significant changes are done.
1519
15202002-07-17  D. Richard Hipp    <drh@hwaci.com>
1521
1522        * library/msgcat/msgcat.tcl: fix a comment that was causing problems
1523        for programs (ex: mktclapp) that embed the initialization scripts in
1524        strings.
1525
15262002-07-17  Miguel Sofer  <msofer@users.sourceforge.net>
1527
1528        * generic/tclInt.decls:
1529        * generic/tclIntDecls.h:
1530        * generic/tclStubInit.c:
1531        * generic/tclVar.c: removing the now redundant functions to access
1532        indexed variables: Tcl(Get|Set|Incr)IndexedScalar() and
1533        Tcl(Get|Set|Incr)ElementOfIndexedArray().
1534
15352002-07-17  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
1536
1537        * generic/tclExecute.c (TclExecuteByteCode): Minor fixes to make this
1538        file compile with SunPro CC...
1539
15402002-07-17  Miguel Sofer  <msofer@users.sourceforge.net>
1541
1542        * generic/tclExecute.c: modified to do variable lookup explicitly, and
1543        then either inlining the variable access or else calling the new
1544        TclPtr(Set|Get|Incr)Var functions in tclVar.c
1545        * generic/tclInt.h: declare some functions previously local to
1546        tclVar.c for usage by TEBC.
1547        * generic/tclVar.c: removed local declarations; moved all special
1548        accessor functions for indexed variables to the end of the file -
1549        they are unused and ready for removal, but left there for the time
1550        being as they are in the internal stubs table.
1551
1552        ** WARNING FOR BYTECODE MAINTAINERS **
1553        TCL_COMPILE_DEBUG is currently not functional; will be fixed ASAP.
1554
15552002-07-16  Mo DeJong  <mdejong@users.sourceforge.net>
1556
1557        * unix/Makefile.in:
1558        * win/Makefile.in: Add a more descriptive warning in the event `make
1559        genstubs` needs to be rerun.
1560
15612002-07-16  Mo DeJong  <mdejong@users.sourceforge.net>
1562
1563        * unix/Makefile.in: Use dltest.marker file to keep track of when the
1564        dltest package is up to date. This fixes [Bug 575768] since tcltest is
1565        no longer linked every time.
1566        * unix/dltest/Makefile.in: Create ../dltest.marker after a successful
1567        `make all` run in dltest.
1568
15692002-07-16  Mo DeJong  <mdejong@users.sourceforge.net>
1570
1571        * unix/configure: Regen.
1572        * unix/configure.in: Remove useless subst of TCL_BIN_DIR.
1573
15742002-07-15  Miguel Sofer  <msofer@users.sourceforge.net>
1575
1576        * generic/tclVar.c: inaccurate comment fixed
1577
15782002-07-15  Miguel Sofer  <msofer@users.sourceforge.net>
1579
1580        * generic/tclBasic.c (Tcl_AddObjErrorInfo):
1581        * generic/tclExecute.c (TclUpdateReturnInfo):
1582        * generic/tclInt.h:
1583        * generic/tclProc.c:
1584        Added two Tcl_Obj to the ExecEnv structure to hold the fully qualified
1585        names "::errorInfo" and "::errorCode" to cache the addresses of the
1586        corresponding variables. The two most frequent setters of these
1587        variables now profit from the new variable name caching.
1588
15892002-07-15  Miguel Sofer  <msofer@users.sourceforge.net>
1590
1591        * generic/tclVar.c: refactorisation to reuse already looked-up Var
1592        pointers; definition of three new Tcl_Obj types to cache variable name
1593        parsing and lookup for later reuse; modification of internal functions
1594        to profit from the caching.
1595
1596        * generic/tclInt.decls:
1597        * generic/tclInt.h:
1598        * generic/tclIntDecls.h:
1599        * generic/tclNamesp.c: adding CONST qualifiers to variable names
1600        passed to Tcl_FindNamespaceVar and to variable resolvers; adding CONST
1601        qualifier to the 'msg' argument to TclLookupVar. Needed to avoid code
1602        duplication in the new tclVar.c code.
1603
1604        * tests/set-old.test:
1605        * tests/var.test: slight modification of error messages due to the
1606        modifications in the tclVar.c code.
1607
16082002-07-15  Don Porter  <dgp@users.sourceforge.net>
1609
1610        * tests/unixInit.test:  Improved constraints to protect /tmp. [Bug
1611        581403]
1612
16132002-07-15  Vince Darley  <vincentdarley@users.sourceforge.net>
1614
1615        * tests/winFCmd.test: renamed 'win2000' and 'notWin2000' to more
1616        appropriate constraint names.
1617        * win/tclWinFile.c: updated comments to reflect 07-11 changes.
1618        * win/tclWinFCmd.c: made ConvertFileNameFormat static again, since no
1619        longer used in tclWinFile.c
1620        * mac/tclMacFile.c: completed TclpObjLink implementation which was
1621        previously lacking.
1622        * generic/tclIOUtil.c: comment cleanup and code speedup.
1623
16242002-07-14  Don Porter  <dgp@users.sourceforge.net>
1625
1626        * generic/tclInt.h:     Removed declarations that duplicated entries
1627        in the (internal) stub table.
1628
1629        * library/tcltest/tcltest.tcl:  Corrected errors in handling of
1630        configuration options -constraints and -limitconstraints.
1631
1632        * README:               Bumped HEAD to version 8.4b2 so we can
1633        * generic/tcl.h:        distinguish it from the 8.4b1 release.
1634        * tools/tcl.wse.in:
1635        * unix/configure*:
1636        * unix/tcl.spec:
1637        * win/README.binary:
1638        * win/configure*:
1639
16402002-07-11  Vince Darley  <vincentdarley@users.sourceforge.net>
1641
1642        * doc/file.n:
1643        * win/tclWinFile.c: on Win 95/98/ME the long form of the path is used
1644        as a normalized form. This is required because short forms are not a
1645        robust representation. The file normalization function has been sped
1646        up, but more performance gains might be possible, if speed is still an
1647        issue on these platforms.
1648
16492002-07-11  Don Porter  <dgp@users.sourceforge.net>
1650
1651        * library/tcltest/tcltest.tcl: Corrected reaction to existing but
1652        false ::tcl_interactive.
1653
1654        * doc/Hash.3: Overlooked CONST documentation update.
1655
16562002-07-11  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
1657
1658        * generic/tclCkalloc.c: ckalloc() and friends take the block size as
1659        an unsigned, so we should use %ud when reporting it in fprintf() and
1660        panic().
1661
16622002-07-11  Miguel Sofer  <msofer@users.sourceforge.net>
1663
1664        * generic/tclCompile.c: now setting local vars undefined at compile
1665        time, instead of waiting until the proc is initialized.
1666        * generic/tclProc.c: use macro TclSetVarUndefined instead of directly
1667        setting the flag.
1668
16692002-07-11  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
1670
1671        * tests/cmdAH.test: [file attr -perm] is Unix-only, so add [catch]
1672        when not inside a suitably-protected test.
1673
16742002-07-10  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
1675
1676        * tests/unixFCmd.test, tests/fileName.test:
1677        * tests/fCmd.test: Removed [exec] of Unix utilities that have
1678        equivalents in standard Tcl. [Bug 579268] Also simplified some of
1679        unixFCmd.test while I was at it.
1680
16812002-07-10  Don Porter  <dgp@users.sourceforge.net>
1682
1683        * tests/tcltest.test:  Greatly reduced the number of [exec]s, using
1684        slave interps instead.
1685        * library/tcltest/tcltest.tcl:  Fixed bug uncovered in the conversion
1686        where a message was written to stdout instead of [outputChannel].
1687
1688        * tests/basic.test:     Cleaned up, constrained, and reduced the
1689        * tests/compile.test:   amount of [exec] usage in the test suite.
1690        * tests/encoding.test:
1691        * tests/env.test:
1692        * tests/event.test:
1693        * tests/exec.test:
1694        * tests/io.test:
1695        * tests/ioCmd.test:
1696        * tests/regexp.test:
1697        * tests/regexpComp.test:
1698        * tests/socket.test:
1699        * tests/tcltest.test:
1700        * tests/unixInit.test:
1701        * tests/winDde.test:
1702        * tests/winPipe.test:
1703
17042002-07-10  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
1705
1706        * tests/cmdAH.test: Removed [exec] of Unix utilities. [Bug 579211]
1707
1708        * tests/expr.test: Added tests to make sure that this works.
1709        * generic/tclExecute.c (ExprCallMathFunc): Functions should also be
1710        able to return wide-ints. [Bug 579284]
1711
17122002-07-08  Andreas Kupries  <andreas_kupries@users.sourceforge.net>
1713
1714        * tests/socket.test: Fixed [Bug 578164]. The original reason for the
1715        was a DNS outage while running the testsuite. Changed [info hostname]
1716        to 127.0.0.1 to bypass DNS, knowing that we operate on the local host.
1717
17182002-07-08  Don Porter  <dgp@users.sourceforge.net>
1719
1720        * doc/tcltest.n:                Fixed incompatibility in [viewFile].
1721        * library/tcltest/tcltest.tcl:  Corrected docs. Bumped to 2.2.1.
1722        * library/tcltest/pkgIndex.tcl: [Bug 578163]
1723
17242002-07-08  Vince Darley  <vincentdarley@users.sourceforge.net>
1725
1726        * tests/cmdAH.test:
1727        * tests/fCmd.test:
1728        * tests/fileName.test: tests which rely on 'file link' need a
1729        constraint so they don't run on older Windows OS. [Bug 578158]
1730        * generic/tclIOUtil.c:
1731        * generic/tcl.h:
1732        * generic/tclInt.h:
1733        * generic/tclTest.c:
1734        * mac/tclMacChan.c:
1735        * unix/tclUnixChan.c:
1736        * win/tclWinChan.c:
1737        * doc/FileSystem.3: cleaned up internal handling of
1738        Tcl_FSOpenFileChannel to remove duplicate code, and make writing
1739        external vfs's clearer and easier. No functionality change. Also
1740        clarify that objects with refCount zero should not be passed in to the
1741        Tcl_FS API, and prevent segfaults from occuring on such user errors.
1742        [Bug 578617]
1743
17442002-07-06  Don Porter  <dgp@users.sourceforge.net>
1745
1746        * tests/pkgMkIndex.test:  Constrained tests of [load] package indexing
1747        to those platforms where the testing shared libraries have been built.
1748        [Bug 578166]
1749
17502002-07-05  Don Porter  <dgp@users.sourceforge.net>
1751
1752        * changes: added recent changes
1753
17542002-07-05  Reinhard Max  <max@suse.de>
1755
1756        * generic/tclClock.c (FormatClock): Convert the format string to UTF8
1757        before calling TclpStrftime, so that non-ASCII characters don't get
1758        mangled when the result string is being converted back.
1759        * tests/clock.test: Added a test for that.
1760
17612002-07-05  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
1762
1763        * unix/Makefile.in (ro-test,ddd,GDB,DDD): Created new targets to
1764        allow running the test suite with a read-only current directory,
1765        running under ddd instead of gdb, and factored out some executable
1766        names for broken sites (like mine) where gdb and ddd are installed
1767        with non-standard names...
1768
1769        * tests/httpold.test: Altered test names to httpold-* to avoid clashes
1770        with http.test, and stopped tests from failing when the current
1771        directory is not writable...
1772
1773        * tests/event.test:             Stop these tests from failing when the
1774        * tests/ioUtil.test:            current directory is not writable...
1775        * tests/regexp.test:
1776        * tests/regexpComp.test:
1777        * tests/source.test:
1778        * tests/unixFile.test:
1779        * tests/unixNotfy.test:
1780
1781        * tests/unixFCmd.test:          Trying to make these test-files not
1782        * tests/macFCmd.test:           bomb out with an error when the
1783        * tests/http.test:              current directory is not writable...
1784        * tests/fileName.test:
1785        * tests/env.test:
1786
17872002-07-05  Jeff Hobbs  <jeffh@ActiveState.com>
1788
1789        *** 8.4b1 TAGGED FOR RELEASE ***
1790
17912002-07-04  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
1792
1793        * tests/cmdMZ.test (cmdMZ-1.4):
1794        * tests/cmdAH.test: More fixing of writable-current-dir assumption.
1795        [Bug 575824]
1796
17972002-07-04  Miguel Sofer  <msofer@users.sourceforge.net>
1798
1799        * tests/basic.test: Same issue as below; fixed [Bug 575817]
1800
18012002-07-04  Andreas Kupries  <andreas_kupries@users.sourceforge.net>
1802
1803        * tests/socket.test:
1804        * tests/winPipe.test:
1805        * tests/pid.test: Fixed [Bug 575848]. See below for a description the
1806        general problem.
1807
1808        * All the bugs below are instances of the same problem: The testsuite
1809        assumes [pwd] = [temporaryDirectory] and writable.
1810
1811        * tests/iogt.test: Fixed [Bug 575860].
1812        * tests/io.test:   Fixed [Bug 575862].
1813        * tests/exec.test:
1814        * tests/ioCmd.test: Fixed [Bug 575836].
1815
18162002-07-03  Don Porter  <dgp@users.sourceforge.net>
1817
1818        * tests/pkg1/direct1.tcl: removed
1819        * tests/pkg1/pkgIndex.tcl: removed
1820        * tests/pkgMkIndex.test:  Imported auxilliary files from tests/pkg1
1821        into the test file pkgMkIndex.test itself. Formatting fixes.
1822
1823        * unix/Makefile.in: removed tests/pkg/* from `make dist`
1824
1825        * tests/pkg/circ1.tcl: removed
1826        * tests/pkg/circ2.tcl: removed
1827        * tests/pkg/circ3.tcl: removed
1828        * tests/pkg/global.tcl: removed
1829        * tests/pkg/import.tcl: removed
1830        * tests/pkg/pkg1.tcl: removed
1831        * tests/pkg/pkg2_a.tcl: removed
1832        * tests/pkg/pkg2_b.tcl: removed
1833        * tests/pkg/pkg3.tcl: removed
1834        * tests/pkg/pkg4.tcl: removed
1835        * tests/pkg/pkg5.tcl: removed
1836        * tests/pkg/pkga.tcl: removed
1837        * tests/pkg/samename.tcl: removed
1838        * tests/pkg/simple.tcl: removed
1839        * tests/pkg/spacename.tcl: removed
1840        * tests/pkg/std.tcl: removed
1841        * tests/pkgMkIndex.test: Fixed [Bug 575857] where this test file
1842        expected to be able to write to [file join [testsDirectory] pkg]. Part
1843        of the fix was to import several auxilliary files into the test file
1844        itself.
1845
1846        * tests/main.test:      Cheap fix for [Bugs 575851, 575858]. Avoid
1847        * tests/tcltest.test:   non-writable . by [cd [temporaryDirectory]].
1848
1849        * library/auto.tcl: Fix [tcl_findLibrary] to be sure it sets $varName
1850        only if a successful library script is found. [Bug 577033]
1851
18522002-07-03  Miguel Sofer  <msofer@users.sourceforge.net>
1853
1854        * generic/tclCompCmds.c (TclCompileCatchCmd): return
1855        TCL_OUT_LINE_COMPILE instead of TCL_ERROR: let the failure happen at
1856        runtime so that it can be caught [Bug 577015].
1857
18582002-07-02  Joe English  <jenglish@users.sourceforge.net>
1859
1860        * doc/tcltest.n: Markup fixes, spellcheck.
1861
18622002-07-02  Don Porter  <dgp@users.sourceforge.net>
1863
1864        * doc/tcltest.n: more refinements of the documentation.
1865
1866        * library/tcltest/tcltest.tcl: Added trace to be sure the stdio
1867        constraint is updated whenever the [interpreter] changes.
1868
1869        * doc/tcltest.n:                Reverted [makeFile] and [viewFile] to
1870        * library/tcltest/tcltest.tcl:  their former behavior, and documented
1871        * tests/cmdAH.test:             it. Corrected misspelling of hook
1872        * tests/event.test:             procedure. Restored tests.
1873        * tests/http.test:
1874        * tests/io.test:
1875
1876        * library/tcltest/tcltest.tcl: Simplified logic of [GetMatchingFiles]
1877        and [GetMatchingDirectories], removing special case processing.
1878
1879        * doc/tcltest.n: More documentation updates. Reference sections are
1880        complete. Only examples need adding.
1881
18822002-07-02  Vince Darley  <vincentdarley@users.sourceforge.net>
1883
1884        * tests/fCmd.test:
1885        * generic/tclCmdAH.c: clearer error msgs for 'file link', as per the
1886        man page.
1887
18882002-07-01  Joe English  <jenglish@users.sourceforge.net>
1889
1890        * doc/Access.3:
1891        * doc/AddErrInfo.3:
1892        * doc/Alloc.3:
1893        * doc/Backslash.3:
1894        * doc/CrtChannel.3:
1895        * doc/CrtSlave.3:
1896        * doc/Encoding.3:
1897        * doc/Eval.3:
1898        * doc/FileSystem.3:
1899        * doc/Notifier.3:
1900        * doc/OpenFileChnl.3:
1901        * doc/ParseCmd.3:
1902        * doc/RegExp.3:
1903        * doc/Tcl_Main.3:
1904        * doc/Thread.3:
1905        * doc/TraceCmd.3:
1906        * doc/Utf.3:
1907        * doc/WrongNumArgs.3:
1908        * doc/binary.n:
1909        * doc/clock.n:
1910        * doc/expr.n:
1911        * doc/fconfigure.n:
1912        * doc/glob.n:
1913        * doc/http.n:
1914        * doc/interp.n:
1915        * doc/lsearch.n:
1916        * doc/lset.n:
1917        * doc/msgcat.n:
1918        * doc/packagens.n:
1919        * doc/pkgMkIndex.n:
1920        * doc/registry.n:
1921        * doc/resource.n:
1922        * doc/safe.n:
1923        * doc/scan.n:
1924        * doc/tclvars.n:  Spell-check, fixed typos (Updates from Larry Virden).
1925
19262002-07-01  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
1927
1928        * unix/tcl.m4 (SC_CONFIG_CFLAGS): Made Solaris use gcc for linking
1929        when building with gcc to resolve problems with undefined symbols
1930        being present when tcl library used with non-gcc linker at later
1931        stage. Symbols were compiler-generated, so it is the compiler's
1932        business to define them. [Bug 541181]
1933
19342002-07-01  Don Porter  <dgp@users.sourceforge.net>
1935
1936        * doc/tcltest.n: more work in progress updating tcltest docs.
1937
1938        * library/tcltest/tcltest.tcl: Change [configure -match] to stop
1939        treating an empty list as a list of the single pattern "*". Changed
1940        the default value to [list *] so default operation remains the same.
1941
1942        * tests/pkg/samename.tcl: restored. needed by pkgMkIndex.test.
1943
1944        * library/tcltest/tcltest.tcl: restored writeability testing of
1945        -tmpdir, augmented by a special exception for the deafault value.
1946
19472002-07-01  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
1948
1949        * doc/concat.n: Documented the *real* behaviour of [concat]!
1950
19512002-06-30  Don Porter  <dgp@users.sourceforge.net>
1952
1953        * doc/tcltest.n: more work in progress updating tcltest docs.
1954
1955        * tests/README:         Updated the instructions on running and
1956        * tests/cmdMZ.test:     adding to the test suite. Also updated
1957        * tests/encoding.test:  several tests, mostly to correctly create
1958        * tests/fCmd.test:      and destroy any temporary files in the
1959        * tests/info.test:      [temporaryDirectory] of tcltest.
1960        * tests/interp.test:
1961
1962        * library/tcltest/tcltest.tcl:  Stopped checking for writeability of
1963        -tmpdir value because no default directory can be guaranteed to be
1964        writeable.
1965
1966        * tests/autoMkindex.tcl: removed.
1967        * tests/pkg/samename.tcl: removed.
1968        * tests/pkg/magicchar.tcl: removed.
1969        * tests/pkg/magicchar2.tcl: removed.
1970        * tests/autoMkindex.test: Updated auto_mkIndex tests to use [makeFile]
1971        and [removeFile] so tests are done in [temporaryDirecotry] where write
1972        access is guaranteed.
1973
1974        * library/tcltest/tcltest.tcl:  Fixed [makeFile] and [viewFile] to
1975        * tests/cmdAH.test:             accurately reflect a file's contents.
1976        * tests/event.test:             Updated tests that depended on buggy
1977        * tests/http.test:              behavior. Also added warning messages
1978        * tests/io.test:                to "-debug 1" operations to debug test
1979        * tests/iogt.test:              calls to (make|remove)(File|Directory)
1980
1981        * unix/mkLinks: `make mklinks` on 6-27 commits.
1982
19832002-06-28  Miguel Sofer  <msofer@users.sourceforge.net>
1984
1985        * generic/tclCompile.h: modified the macro TclEmitPush to not call its
1986        first argument repeatedly or pass it to other macros, [Bug 575194]
1987        reported by Peter Spjuth.
1988
19892002-06-28  Don Porter  <dgp@users.sourceforge.net>
1990
1991        * docs/tcltest.n:       Doc revisions in progress.
1992        * library/tcltest/tcltest.tcl: Corrected -testdir default value. Was
1993        not reliable, and disagreed with docs! Thanks to Hemang Lavana. [Bug
1994        575150]
1995
19962002-06-28  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
1997
1998        * unix/tclUnixThrd.c:   Renamed the Tcl_Platform* #defines to TclOS*
1999        * unix/tclUnixPipe.c:   because they are only used internally. Also
2000        * unix/tclUnixFile.c:   stopped double-#def of TclOSlstat [Bug 566099,
2001        * unix/tclUnixFCmd.c:   post-rename]
2002        * unix/tclUnixChan.c:
2003        * unix/tclUnixPort.h:
2004
2005        * doc/string.n: Improved documentation for [string last] along lines
2006        described in [Bug 574799] so it indicates that the supplied index
2007        marks the end of the search space.
2008
20092002-06-27  Don Porter  <dgp@users.sourceforge.net>
2010
2011        * doc/dde.n:            Work in progress updating the documentation
2012        * doc/http.n:           of the packages that come bundled with
2013        * doc/msgcat.n:         the Tcl source distribution, notably tcltest.
2014        * doc/registry.n:
2015        * doc/tcltest.n:
2016
2017        * library/tcltest/tcltest.tcl:  Made sure that the TCLTEST_OPTIONS
2018        environment variablle configures tcltest at package load time.
2019
20202002-06-26  Vince Darley  <vincentdarley@users.sourceforge.net>
2021
2022        * tests/fileSystem.test:
2023        * generic/tclIOUtil.c: fix to handling of empty paths "" which are not
2024        claimed by any filesystem [Bug 573758]. Ensure good error messages
2025        are given in all cases.
2026        * tests/cmdAH.test:
2027        * unix/tclUnixFCmd.c: fix to bug reported as part of [Patch 566669].
2028        Thanks to Taguchi, Takeshi for the report.
2029
20302002-06-26  Reinhard Max  <max@suse.de>
2031
2032        * unix/tclUnixTime.c: Make [clock format] respect locale settings.
2033        * tests/clock.test:   [Bug 565880]. ***POTENTIAL INCOMPATIBILITY***
2034
20352002-06-26  Miguel Sofer  <msofer@users.sourceforge.net>
2036
2037        * doc/CrtInterp.3:
2038        * doc/StringObj.3: clarifications by Don Porter, [Bug 493995] and [Bug
2039        500930].
2040
20412002-06-24  Don Porter  <dgp@users.sourceforge.net>
2042
2043        * library/tcltest/tcltest.tcl:  Corrected suppression of -verbose skip
2044        * tests/tcltest.test:           and start by [test -output]. Also
2045        corrected test suite errors exposed by corrected code. [Bug 564656]
2046
20472002-06-25  Reinhard Max  <max@suse.de>
2048
2049        * unix/tcl.m4:       New macro SC_CONFIG_MANPAGES.
2050        * unix/configure.in: Added support for symlinks and compression when
2051        * unix/Makefile.in:  installing the manpages. [Patch 518052]
2052        * unix/mkLinks.tcl:  Default is still hardlinks and no compression.
2053
2054        * unix/mkLinks:      generated
2055        * unix/configure:
2056
2057        * unix/README:       Added documentation for the new features.
2058
2059        * unix/tcl.m4 (SC_PATH_TCLCONFIG): Replaced ${exec_prefix}/lib by
2060        ${libdir}.
2061
20622002-06-25  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
2063
2064        * generic/tclUtil.c (TclGetIntForIndex): Fix of critical [Bug 533364]
2065        generated when the index is bad and the result is a shared object. The
2066        T_ASTO(T_GOR, ...) idiom likely exists elsewhere though. Also removed
2067        some cruft that just complicated things to no advantage.
2068        (SetEndOffsetFromAny): Same fix, though this wasn't on the path
2069        excited by the bug.
2070
20712002-06-24  Don Porter  <dgp@users.sourceforge.net>
2072
2073        * library/tcltest/tcltest.tcl:  Implementation of TIP 101. Adds abd
2074        * tests/parseOld.test:          exports a [configure] command from
2075        * tests/tcltest.test:           tcltest.
2076
20772002-06-22  Don Porter  <dgp@users.sourceforge.net>
2078
2079        * changes: updated changes file for 8.4b1 release.
2080
2081        * library/tcltest/tcltest.tcl:  Corrections to tcltest and the Tcl
2082        * tests/basic.test:             test suite so that a test with options
2083        * tests/cmdInfo.test:           -constraints knownBug
2084        * tests/compile.test:           -limitConstraints 1 only tests the
2085        * tests/encoding.test:          knownBug tests. Mostly involves
2086        * tests/env.test:               replacing direct access to the
2087        * tests/event.test:             testConstraints array with calls to
2088        * tests/exec.test:              the testConstraint command (which
2089        * tests/execute.test:           requires tcltest version 2)
2090        * tests/fCmd.test:
2091        * tests/format.test:
2092        * tests/http.test:
2093        * tests/httpold.test:
2094        * tests/ioUtil.test:
2095        * tests/link.test:
2096        * tests/load.test:
2097        * tests/namespace.test:
2098        * tests/pkgMkIndex.test:
2099        * tests/reg.test:
2100        * tests/result.test:
2101        * tests/scan.test:
2102        * tests/stack.test:
2103
21042002-06-22  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
2105
2106        * tools/tcl.wse.in (Disk Label), unix/tcl.spec (version):
2107        * win/README.binary, README, win/configure.in, unix/configure.in:
2108        * generic/tcl.h (TCL_RELEASE_*, TCL_PATCH_LEVEL): Bump to beta1.
2109
21102002-06-21  Joe English  <jenglish@users.sourceforge.net>
2111
2112        * generic/tclCompExpr.c:
2113        * generic/tclParseExpr.c: LogSyntaxError() should reset the
2114        interpreter result [Bug 550142 "Tcl_ExprObj -> abort"]
2115
21162002-06-21  Don Porter  <dgp@users.sourceforge.net>
2117
2118        * unix/Makefile.in:     Updated all package install directories
2119        * win/Makefile.in:      to match current Major.minor versions
2120        * win/makefile.bc:      of the packages. Added tcltest package
2121        * win/makefile.vc:      to installation on Windows.
2122
2123        * library/init.tcl:  Corrected comments and namespace style issues.
2124        Thanks to Bruce Stephens. [Bug 572025]
2125
21262002-06-21  Vince Darley  <vincentdarley@users.sourceforge.net>
2127
2128        * tests/cmdAH.test:          Added TIP#99 implementation of 'file
2129        * tests/fCmd.test:           link'. Supports creation of symbolic and
2130        * tests/fileName.test:       hard links in the native filesystems and
2131        * tests/fileSystem.test:     in vfs's, when the individual filesystem
2132        * generic/tclTest.c:         supports the concept.
2133        * generic/tclCmdAH.c:
2134        * generic/tclIOUtil.c:
2135        * generic/tcl.h:
2136        * generic/tcl.decls:
2137        * doc/FileSystem.3:
2138        * doc/file.n:
2139        * mac/tclMacFile.c:
2140        * unix/tclUnixFile.c:
2141        * win/tclWinFile.c: Also enhanced speed of 'file normalize' on
2142        Windows.
2143
21442002-06-20  Miguel Sofer  <msofer@users.sourceforge.net>
2145
2146        * generic/tclBasic.c (TclEvalObjvInternal): fix for [Bug 571385] in
2147        the implementation of TIP#62 (command tracing). Vince Darley, Hemang
2148        Lavana & Don Porter: thanks.
2149
21502002-06-20  Miguel Sofer  <msofer@users.sourceforge.net>
2151
2152        * generic/tclExecute.c (TclCompEvalObj): clarified and simplified the
2153        logic for compilation/recompilation.
2154
21552002-06-19  Joe English  <jenglish@users.sourceforge.net>
2156
2157        * doc/file.n: Fixed indentation. No substantive changes.
2158
21592002-06-19  Jeff Hobbs  <jeffh@ActiveState.com>
2160
2161        * generic/tclCmdMZ.c (Tcl_RegexpObjCmd): get the resultPtr again as
2162        the Tcl_ObjSetVar2 may cause the result to change. [Patch 558324]
2163        (watson)
2164
21652002-06-19  Miguel Sofer  <msofer@users.sourceforge.net>
2166
2167        * generic/tclExecute.c (TEBC): removing unused "for(;;)" loop;
2168        improved comments; re-indentation.
2169
21702002-06-18  Miguel Sofer  <msofer@users.sourceforge.net>
2171
2172        * generic/tclExecute.c (TEBC):
2173        - elimination of duplicated code in the non-immediate INST_INCR
2174          instructions.
2175        - elimination of 103 (!) TclDecrRefCount macros. The different
2176          instructions now jump back to a common "DecrRefCount zone" at the
2177          top of the loop. The macro "ADJUST_PC" was replaced by two macros
2178          "NEXT_INST_F" and "NEXT_INST_V" that take three params
2179          (pcAdjustment, # of stack objects to discard, resultObjPtr handling
2180          flag). The only instructions that retain a TclDecrRefCount are
2181          INST_POP (for speed), the common code for the non-immediate
2182          INST_INCR, INST_FOREACH_STEP and the two INST_LSET.
2183
2184        The object size of tclExecute.o was reduced by approx 20% since the
2185        start of the consolidation drive, while making room for some peep-hole
2186        optimisation at runtime.
2187
21882002-06-18  Miguel Sofer  <msofer@users.sourceforge.net>
2189
2190        * generic/tclExecute.c (TEBC, INST_DONE): small bug in the panic code
2191        for tcl-stack corruption.
2192
21932002-06-17  David Gravereaux <davygrvy@pobox.com>
2194
2195        Trims to support the removal of RESOURCE_INCLUDED from rc scripts from
2196        [FRQ 565088].
2197
2198        * generic/tcl.h: moved the #ifndef RC_INVOKED start block up in the
2199        file. rc scripts don't need to know thread mutexes.
2200
2201        * win/tcl.rc:
2202        * win/tclsh.rc: removed the #define RESOURCE_INCLUDED to let the
2203        built-in -DRC_INVOKED to the work.
2204
22052002-06-17  Jeff Hobbs  <jeffh@ActiveState.com>
2206
2207        * doc/CrtTrace.3:        Added TIP#62 implementation of command
2208        * doc/trace.n:           execution tracing [FRQ 462580] (lavana).
2209        * generic/tcl.h:         This includes enter/leave tracing as well
2210        * generic/tclBasic.c:    as inter-procedure stepping.
2211        * generic/tclCmdMZ.c:
2212        * generic/tclCompile.c:
2213        * generic/tclExecute.c:
2214        * generic/tclInt.decls:
2215        * generic/tclInt.h:
2216        * generic/tclIntDecls.h:
2217        * generic/tclStubInit.c:
2218        * generic/tclVar.c:
2219        * tests/trace.test:
2220
22212002-06-17  Andreas Kupries  <andreas_kupries@users.sourceforge.net>
2222
2223        * win/tclWinPipe.c (BuildCommandLine): Fixed [Bug 554068] ([exec] on
2224        windows did not treat { in filenames well.). Bug reported by Vince
2225        Darley <vincentdarley@users.sourceforge.net>, patch provided by Vince
2226        too.
2227
22282002-06-17  Joe English  <jenglish@users.sourceforge.net>
2229
2230        * generic/tcl.h: #ifdef logic for K&R C backwards compatibility
2231        changed to assume modern C by default. See [FRQ 565088] for full
2232        details.
2233
22342002-06-17  Don Porter  <dgp@users.sourceforge.net>
2235
2236        * doc/msgcat.n: Corrected en_UK references to en_GB. UK is not a
2237        country designation recognized in ISO 3166.
2238
2239        * library/msgcat/msgcat.tcl:  More Windows Registry locale codes from
2240        Bruno Haible.
2241
2242        * doc/msgcat.n:
2243        * library/msgcat/msgcat.tcl:
2244        * library/msgcat/pkgIndex.tcl:
2245        * tests/msgcat.test:  Revised locale initialization to interpret
2246        environment variable locale values according to XPG4, and to recognize
2247        the LC_ALL and LC_MESSAGES values over that of LANG. Also added many
2248        Windows Registry locale values to those recognized by msgcat. Revised
2249        tests and docs. Bumped to version 1.3. Thanks to Bruno Haible for the
2250        report and assistance crafting the solution. [Bug 525522, 525525]
2251
22522002-06-16  Miguel Sofer  <msofer@users.sourceforge.net>
2253
2254        * generic/tclCompile.c (TclCompileTokens): a better algorithm for the
2255        previous bug fix.
2256
22572002-06-16  Miguel Sofer  <msofer@users.sourceforge.net>
2258
2259        * generic/tclCompile.c (TclCompileTokens):
2260        * tests/compile.test: [Bug 569438] in the processing of dollar
2261        variables; report by Georgios Petasis.
2262
22632002-06-16  Miguel Sofer  <msofer@users.sourceforge.net>
2264
2265        * generic/tclExecute.c: bug in the consolidation of the INCR_..._STK
2266        instructions; the bug could not be exercised as the (faulty)
2267        instruction INST_INCR_ARRAY_STK was never compiled-in (related to [Bug
2268        569438]).
2269
22702002-06-14  Miguel Sofer  <msofer@users.sourceforge.net>
2271
2272        * generic/tclExecute.c (TclExecuteByteCode): runtime peep-hole
2273        optimisation of variables (INST_STORE, INST_INCR) and commands
2274        (INST_INVOKE); faster check for the existence of a catch.
2275        (TclExecuteByteCode): runtime peep-hole optimisation of comparisons.
2276        (TclExecuteByteCode): runtime peep-hole optimisation of INST_FOREACH -
2277        relies on peculiarities of the code produced by the bytecode compiler.
2278
22792002-06-14  David Gravereaux <davygrvy@pobox.com>
2280
2281        * win/rules.vc: The test for compiler optimizations was in error.
2282        Thanks goes to Roy Terry <royterry@earthlink.net> for his assistance
2283        with this.
2284
22852002-06-14  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
2286
2287        * doc/trace.n, tests/trace.test:
2288        * generic/tclCmdMZ.c (Tcl_TraceObjCmd,TclTraceCommandObjCmd)
2289        (TclTraceVariableObjCmd): Changed references to "trace list" to
2290        "trace info" as mandated by TIP#102.
2291
22922002-06-13  Miguel Sofer  <msofer@users.sourceforge.net>
2293
2294        * generic/tclExecute.c (TclExecuteByteCode): consolidated code for the
2295        conditional branch instructions.
2296
22972002-06-13  Miguel Sofer  <msofer@users.sourceforge.net>
2298
2299        * generic/tclExecute.c (TclExecuteByteCode): fixed the previous patch;
2300        wouldn't compile with TCL_COMPILE_DEBUG set.
2301
23022002-06-13  Miguel Sofer  <msofer@users.sourceforge.net>
2303
2304        * generic/tclExecute.c (TclExecuteByteCode): consolidated the handling
2305        of exception returns to INST_INVOKE and INST_EVAL, as well as most of
2306        the code for INST_CONTINUE and INST_BREAK, in the new jump target
2307        "processExceptionReturn".
2308
23092002-06-13  Miguel Sofer  <msofer@users.sourceforge.net>
2310
2311        * generic/tclExecute.c (TclExecuteByteCode): consolidated variable
2312        handling opcodes, replaced redundant code with some 'goto'. All
2313        store/append/lappend opcodes on the same data type now share the main
2314        code; same with incr opcodes.
2315        * generic/tclVar.c: added the bit TCL_TRACE_READS to the possible
2316        flags to Tcl_SetVar2Ex - it causes read traces to be fired prior to
2317        setting the variable. This is used in the core for [lappend].
2318
2319        ***NOTE*** the usage of TCL_TRACE_READS in Tcl_(Obj)?GetVar.* is not
2320        documented; there, it causes the call to create the variable if it
2321        does not exist. The new usage in Tcl_(Obj)?SetVar.* remains
2322        undocumented too ...
2323
23242002-06-13  Vince Darley  <vincentdarley@users.sourceforge.net>
2325
2326        * tests/fCmd.test:
2327        * tests/winFile.test:
2328        * tests/fileSystem.test:
2329        * generic/tclTest.c:
2330        * generic/tclCmdAH.c:
2331        * generic/tclIOUtil.c:
2332        * doc/FileSystem.3:
2333        * mac/tclMacFile.c:
2334        * unix/tclUnixFile.c:
2335        * win/tclWinFile.c: fixed up further so both compiles and actually
2336        works with VC++ 5 or 6.
2337        * win/tclWinInt.h:
2338        * win/tclWin32Dll.c: cleaned up code and vfs tests and added tests for
2339        the internal changes of 2002-06-12, to see whether WinTcl on NTFS can
2340        coexist peacefully with links in the filesystem. Added new test
2341        command 'testfilelink' to enable the newer code to be tested.
2342        * tests/fCmd.test: (made certain tests of 'testfilelink' not run on
2343        unix).
2344
23452002-06-12  Miguel Sofer  <msofer@users.sourceforge.net>
2346
2347        * tclBasic.c (Tcl_DeleteTrace): fixed [Bug 568123] (thanks to Hemang
2348        Lavana)
2349
23502002-06-12  Jeff Hobbs  <jeffh@ActiveState.com>
2351
2352        * win/tclWinFile.c: corrected the symbolic link handling code to allow
2353        it to compile. Added real definition of REPARSE_DATA_BUFFER (found in
2354        winnt.h). Most of the added definitions appear to have correct,
2355        cross-Win-version equivalents in winnt.h and should be removed, but
2356        just making things "work" for now.
2357
23582002-06-12  Vince Darley  <vincentdarley@users.sourceforge.net>
2359
2360        * generic/tclIOUtil.c:
2361        * generic/tcl.decls:
2362        * generic/tclDecls.h: made code for Tcl_FSNewNativePath agree with man
2363        pages.
2364
2365        * doc/FileSystem.3: clarified the circumstances under which certain
2366        functions are called in the presence of symlinks.
2367
2368        * win/tclWinFile.c:
2369        * win/tclWinPort.h:
2370        * win/tclWinInt.h:
2371        * win/tclWinFCmd.c:  Fix for Windows to allow 'file lstat', 'file
2372        type', 'glob -type l', 'file copy', 'file delete', 'file normalize',
2373        and all VFS code to work correctly in the presence of symlinks
2374        (previously Tcl's behaviour was not very well defined). This also
2375        fixes possible serious problems in all versions of WinTcl where 'file
2376        delete' on a NTFS symlink could delete the original, not the symlink.
2377        Note: symlinks cannot yet be created in pure Tcl.
2378
23792002-06-11  Miguel Sofer  <msofer@users.sourceforge.net>
2380
2381        * generic/tclBasic.c:
2382        * generic/tclCompCmds.c:
2383        * generic/tclInt.h: reverted the new compilation functions; replaced
2384        by a more general approach described below.
2385
2386        * generic/tclCompCmds.c:
2387        * generic/tclCompile.c: made *all* compiled variable access attempts
2388        create an indexed variable - even get or incr without previous set.
2389        This allows indexed access to local variables that are created and set
2390        at runtime, for example by [global], [upvar], [variable], [regexp],
2391        [regsub].
2392
23932002-06-11  Miguel Sofer  <msofer@users.sourceforge.net>
2394
2395        * doc/global.n:
2396        * doc/info.n:
2397        * test/info.test:
2398        * generic/tclCmdIL.c: fix for [Bug 567386], [info locals] was
2399        reporting some linked variables.
2400
2401        * generic/tclBasic.c:
2402        * generic/tclCompCmds.c:
2403        * generic/tclInt.h: added compile functions for [global], [variable]
2404        and [upvar]. They just declare the new local variables, the commands
2405        themselves are not compiled-in. This gives a notably faster read
2406        access to these linked variables.
2407
24082002-06-11  Miguel Sofer  <msofer@users.sourceforge.net>
2409
2410        * generic/tclExecute.c: optimised algorithm for exception range
2411        lookup; part of [Patch 453709].
2412
24132002-06-10  Vince Darley  <vincentdarley@users.sourceforge.net>
2414
2415        * unix/tclUnixFCmd.c: fixed [Bug 566669]
2416        * generic/tclIOUtil.c: improved and sped up handling of native paths
2417        (duplication and conversion to normalized paths), particularly on
2418        Windows.
2419        * modified part of above commit, due to problems on Linux. Will
2420        re-examine bug report and evaluate more closely.
2421
24222002-06-07  Don Porter  <dgp@users.sourceforge.net>
2423
2424        * tests/tcltest.test:  More corrections to test suite so that tests of
2425        failing [test]s don't show up themselves as failing tests.
2426
24272002-06-07  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
2428
2429        * generic/tclExecute.c: Tidied up headers in relation to float.h to
2430        cut the cruft and ensure DBL_MAX is defined since doubles seem to be
2431        the same size everywhere; if the assumption isn't true, the variant
2432        platforms had better have run configure...
2433
2434        * unix/tclUnixPort.h (EOVERFLOW): Added code to define it if it
2435        wasn't previously defined. Also some other general tidying and adding
2436        of comments. [Bugs 563122, 564595]
2437        * compat/tclErrno.h: Added definition for EOVERFLOW copied from
2438        Solaris headers; I've been unable to find any uses of EFTYPE, which
2439        was the error code previously occupying the slot, in Tcl, or any
2440        definition of it in the Solaris headers.
2441
24422002-06-06  Mo DeJong  <mdejong@users.sourceforge.net>
2443
2444        * unix/dltest/Makefile.in: Remove hard coded CFLAGS=-g and add
2445        CFLAGS_DEBUG, CFLAGS_OPTIMIZE, and CFLAGS_DEFAULT varaibles. [Bug
2446        565488]
2447
24482002-06-06  Don Porter  <dgp@users.sourceforge.net>
2449
2450        * tests/tcltest.test:  Corrections to test suite so that tests of
2451        failing [test]s don't show up themselves as failing tests.
2452
2453        * tests/io.test: Fixed up namespace variable resolution issues
2454        revealed by running test suite with "-singleproc 1".
2455
2456        * doc/tcltest.n:
2457        * library/tcltest/tcltest.tcl:
2458        * tests/tcltest.test: Several updates to tcltest.
2459          1) changed to lazy initialization of test constraints
2460          2) deprecated [initConstraintsHook]
2461          3) repaired badly broken [limitConstraints].
2462          4) deprecated [threadReap] and [mainThread]
2463        [Patch 512214, Bug 558742, Bug 461000, Bug 534903]
2464
24652002-06-06  Daniel Steffen  <das@users.sourceforge.net>
2466
2467        * unix/tclUnixThrd.c (TclpReaddir, TclpLocaltime, TclpGmtime): added
2468        mutex wrapped calls to readdir, localtime & gmtime in case their
2469        thread-safe *_r counterparts are not available.
2470        * unix/tcl.m4: added configure check for readdir_r
2471        * unix/tcl.m4 (Darwin): set TCL_DEFAULT_ENCODING to utf-8 on MacOSX
2472        (where posix file apis expect utf-8, not iso8859-1).
2473        * unix/configure: regen
2474        * unix/Makefile.in: set DYLD_LIBRARY_PATH in parallel to
2475        LD_LIBRARY_PATH for MacOSX dynamic linker.
2476        * generic/tclEnv.c (TclSetEnv): fix env var setting on MacOSX (adapted
2477        from [Patch 524352] by jkbonfield).
2478
24792002-06-05  Don Porter  <dgp@users.sourceforge.net>
2480
2481        * doc/Tcl_Main.3: Documented $tcl_rcFileName and added more
2482        clarifications about the intended use of Tcl_Main(). [Bug 505651]
2483
24842002-06-05  Daniel Steffen  <das@users.sourceforge.net>
2485
2486        * generic/tclFileName.c (TclGlob): mac specific fix to recent changes
2487        in 'glob -tails' handling.
2488        * mac/tclMacPort.h:
2489        * mac/tclMacChan.c: fixed TIP#91 bustage.
2490        * mac/tclMacResource.c (Tcl_MacConvertTextResource): added utf
2491        conversion of text resource contents.
2492        * tests/macFCmd.test (macFCmd-1.2): allow CWIE creator.
2493
24942002-06-04  Don Porter  <dgp@users.sourceforge.net>
2495
2496        * library/tcltest/tcltest.tcl:
2497        * tests/init.test:
2498        * tests/tcltest.test:   Added more TIP 85 tests from Arjen Markus.
2499        Converted tcltest.test to use a private namespace. Fixed bugs in
2500        [tcltest::Eval] revealed by calling [tcltest::test] from a non-global
2501        namespace, and namespace errors in init.test.
2502
25032002-06-04  Mo DeJong  <mdejong@users.sourceforge.net>
2504
2505        * win/README: Update msys+mingw URL.
2506
25072002-06-03  Don Porter  <dgp@users.sourceforge.net>
2508
2509        * doc/tcltest.n:
2510        * library/tcltest/tcltest.tcl:
2511        * library/tcltest/pkgIndex.tcl:
2512        * tests/tcltest.test:  Implementation of TIP 85. Allows tcltest users
2513        to add new legal values of the -match option to [test], associating
2514        each with a Tcl command that does the matching of expected results
2515        with actual results of tests. Thanks to Arjen Markus. => tcltest 2.1
2516        [Patch 521362]
2517
25182002-06-03  Miguel Sofer  <msofer@users.sourceforge.net>
2519
2520        * doc/namespace.n: added description of [namepace forget] behaviour
2521        for unqualified patterns. [Bug 559268]
2522
25232002-06-03  Miguel Sofer  <msofer@users.sourceforge.net>
2524
2525        * generic/tclExecute.c: reverting an accidental modification in the
2526        last commit.
2527
25282002-06-03  Miguel Sofer  <msofer@users.sourceforge.net>
2529
2530        * doc/Tcl.n: clarify the empty variable name issue ([Bug 549285]
2531        reported by Tom Krehbiel, patch by Don Porter).
2532
25332002-05-31  Don Porter  <dgp@users.sourceforge.net>
2534
2535        * library/package.tcl:  Fixed leak of slave interp in [pkg_mkIndex].
2536        Thanks to Helmut for report. [Bug 550534]
2537
2538        * tests/io.test:
2539        * tests/main.test:  Use the "stdio" constraint to control whether an
2540        [open "|[interpreter]"] is attempted.
2541
2542        * generic/tclExecute.c (TclMathInProgress,TclExecuteByteCode
2543        (ExprCallMathFunc):
2544        * generic/tclInt.h (TclMathInProgress):
2545        * unix/Makefile.in (tclMtherr.*):
2546        * unix/configure.in (NEED_MATHERR):
2547        * unix/tclAppInit.c (matherr):
2548        * unix/tclMtherr.c (removed file):
2549        * win/tclWinMtherr.c (_matherr): Removed internal routine
2550        TclMathInProgress and Unix implementation of matherr(). These are now
2551        obsolete, dealing with very old versions of the C math library.
2552        Windows version is retained in case Borland compilers require it, but
2553        it is inactive. Thanks to Joe English. [Bug 474335, Patch 555635]
2554
2555        * unix/configure: regen
2556
25572002-05-30  Miguel Sofer  <msofer@users.sourceforge.net>
2558
2559        * generic/tclCompExpr.c:
2560        * generic/tclCompile.c:
2561        * generic/tclCompile.h: removed exprIsJustVarRef and
2562        exprIsComparison from the ExprInfo and CompileEnv structs. These
2563        were set, but not used since dec 1999 [Bug 562383].
2564
25652002-05-30  Vince Darley  <vincentdarley@users.sourceforge.net>
2566
2567        * generic/tclFileName.c (TclGlob): fix to longstanding 'knownBug' in
2568        fileName tests 15.2-15.4, and fix to a new Tcl 8.4 bug in certain uses
2569        of 'glob -tails'.
2570        * tests/fileName.test: removed 'knownBug' flag from some tests, added
2571        some new tests for above bugs.
2572
25732002-05-29  Jeff Hobbs  <jeffh@ActiveState.com>
2574
2575        * unix/configure: regen'ed
2576        * unix/configure.in: replaced bigendian check with autoconf standard
2577        AC_C_BIG_ENDIAN, which defined WORDS_BIGENDIAN on bigendian systems.
2578        * generic/tclUtf.c (Tcl_UniCharNcmp):
2579        * generic/tclInt.h (TclUniCharNcmp): use WORDS_BIGENDIAN instead of
2580        TCL_OPTIMIZE_UNICODE_COMPARE to enable memcmp alternative.
2581
2582        * generic/tclExecute.c (TclExecuteByteCode INST_STR_CMP):
2583        * generic/tclCmdMZ.c (Tcl_StringObjCmd): changed the case for choosing
2584        the Tcl_UniCharNcmp compare to when both objs are of StringType, as
2585        benchmarks show that is the optimal check (both bigendian and
2586        littleendian systems).
2587
25882002-05-29  Don Porter  <dgp@users.sourceforge.net>
2589
2590        * generic/tclMain.c: Removed "dummy" reference to Tcl_LinkVar. It is
2591        no longer needed since Tcl_Main() now actually calls Tcl_LinkVar().
2592        Thanks to Joe English for pointing that out.
2593
25942002-05-29  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
2595
2596        * generic/tclExecute.c (TclExecuteByteCode):
2597        * generic/tclCmdMZ.c (Tcl_StringObjCmd): Use the macro version.
2598        * generic/tclInt.h (TclUniCharNcmp): Optimised still further with a
2599        macro for use in sensitive places like tclExecute.c
2600
2601        * generic/tclUtf.c (Tcl_UniCharNcmp): Use new flag to figure out when
2602        we can use an optimal comparison scheme, and default to the old scheme
2603        in other cases which is at least safe.
2604        * unix/configure.in (TCL_OPTIMIZE_UNICODE_COMPARE): New optional flag
2605        that indicates when we can use memcmp() to compare Unicode strings
2606        (i.e. when the high-byte of a Tcl_UniChar precedes the low-byte.)
2607
26082002-05-29  Jeff Hobbs  <jeffh@ActiveState.com>
2609
2610        * generic/tclInt.decls:
2611        * generic/tclIntDecls.h:
2612        * generic/tclStubInit.c:
2613        * generic/tclUtf.c: added TclpUtfNcmp2 private command that
2614        mirrors Tcl_UtfNcmp, but takes n in bytes, not utf-8 chars. This
2615        provides a faster alternative for comparing utf strings internally.
2616        (Tcl_UniCharNcmp, Tcl_UniCharNcasecmp): removed the explicit end of
2617        string check as it wasn't correct for the function (by doc and logic).
2618
2619        * generic/tclCmdMZ.c (Tcl_StringObjCmd): reworked the string equal
2620        comparison code to use TclpUtfNcmp2 as well as short-circuit for
2621        equal objects or unequal length strings in the equal case.
2622        Removed the use of goto and streamlined the other parts.
2623
2624        * generic/tclExecute.c (TclExecuteByteCode): added check for object
2625        equality in the comparison instructions. Added short-circuit for !=
2626        length strings in INST_EQ, INST_NEQ and INST_STR_CMP. Reworked
2627        INST_STR_CMP to use TclpUtfNcmp2 where appropriate, and only use
2628        Tcl_UniCharNcmp when at least one of the objects is a Unicode obj with
2629        no utf bytes.
2630
2631        * generic/tclCompCmds.c (TclCompileStringCmd): removed error creation
2632        in code that no longer throws an error.
2633
2634        * tests/string.test:
2635        * tests/stringComp.test: added more string comparison checks.
2636
2637        * tests/clock.test: better qualified 9.1 constraint check for %s.
2638
26392002-05-28  Jeff Hobbs  <jeffh@ActiveState.com>
2640
2641        * generic/tclThreadAlloc.c (TclpRealloc, TclpFree): protect
2642        against the case when NULL is based.
2643
2644        * tests/clock.test: added clock-9.1
2645        * compat/strftime.c:
2646        * generic/tclClock.c:
2647        * generic/tclInt.decls:
2648        * generic/tclIntDecls.h:
2649        * unix/tclUnixTime.c: fix for Windows msvcrt mem leak caused by using
2650        an env(TZ) setting trick for in clock format -gmt 1. This also makes
2651        %s seem to work correctly with -gmt 1 as well as making it a lot
2652        faster by avoid the env(TZ) hack. TclpStrftime now takes useGMT as an
2653        arg. [Bug 559376]
2654
26552002-05-28  Vince Darley  <vincentdarley@users.sourceforge.net>
2656
2657        * generic/tclIOUtil.c: fixes to Tcl_FSLoadFile when called on a file
2658        inside a vfs. This should avoid leaving temporary files sitting
2659        around on exit. [Bug 545579]
2660
26612002-05-27  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
2662
2663        * win/tclWinError.c: Added comment on conversion of
2664        ERROR_NEGATIVE_SEEK because that is a mapping that really belongs,
2665        and not a catch-all case.
2666        * win/tclWinPort.h (EOVERFLOW): Should be either EFBIG or EINVAL
2667        * generic/tclPosixStr.c (Tcl_ErrnoId, Tcl_ErrnoMsg): EOVERFLOW can
2668        potentially be a synonym for EINVAL.
2669
26702002-05-24  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
2671
2672        === Changes due to TIP#91 ===
2673
2674        * win/tclWinPort.h: Added declaration of EOVERFLOW.
2675        * doc/CrtChannel.3: Added documentation of wideSeekProc.
2676        * generic/tclIOGT.c (TransformSeekProc, TransformWideSeekProc):
2677        Adapted to use the new channel mechanism.
2678        * unix/tclUnixChan.c (FileSeekProc, FileWideSeekProc): Renamed
2679        FileSeekProc to FileWideSeekProc and created new FileSeekProc which
2680        has the old-style interface and which errors out with EOVERFLOW when
2681        the returned file position can't fit into the return type (int for
2682        historical reasons).
2683        * win/tclWinChan.c (FileSeekProc, FileWideSeekProc): Renamed
2684        FileSeekProc to FileWideSeekProc and created new FileSeekProc which
2685        has the old-style interface and which errors out with EOVERFLOW when
2686        the returned file position can't fit into the return type (int for
2687        historical reasons).
2688        * mac/tclMacChan.c (FileSeek): Reverted to old interface; Macs lack
2689        large-file support because I can't see how to add it.
2690        * generic/tclIO.c (Tcl_Seek, Tcl_Tell): Given these functions
2691        knowledge of the new arrangement of channel types.
2692        (Tcl_ChannelVersion): Added recognition of new version code.
2693        (HaveVersion): New function to do version checking.
2694        (Tcl_ChannelBlockModeProc, Tcl_ChannelFlushProc)
2695        (Tcl_ChannelHandlerProc): Made these functions use HaveVersion for
2696        ease of future maintainability.
2697        (Tcl_ChannelBlockModeProc): Obvious lookup function.
2698        * generic/tcl.h (Tcl_ChannelType): New wideSeekProc field, and
2699        seekProc type restored to old interpretation.
2700        (TCL_CHANNEL_VERSION_3): New channel version.
2701
27022002-05-24  Andreas Kupries  <andreas_kupries@users.sourceforge.net>
2703
2704        * tests/winPipe.test: Applied patch for [Bug 549617]. Patch and bug
2705        report by Kevin Kenny <kennykb@users.sourceforge.net>.
2706
2707        * win/tclWinSock.c (TcpWatchProc): Fixed [Bug 557878]. We are not
2708        allowed to mess with the watch mask if the socket is a server socket.
2709        I believe that the original reporter is George Peter Staplin.
2710
27112002-05-21  Mo DeJong  <mdejong@users.sourceforge.net>
2712
2713        * unix/configure: Regen.
2714        * unix/configure.in: Invoke SC_ENABLE_SHARED before calling
2715        SC_CONFIG_CFLAGS so that the SHARED_BUILD variable can be checked
2716        inside SC_CONFIG_CFLAGS.
2717        * unix/tcl.m4 (SC_CONFIG_CFLAGS): Pass -non_shared instead of -shared
2718        to ld when configured with --disable-shared under OSF. [Bug 540390]
2719
27202002-05-20  Daniel Steffen  <das@users.sourceforge.net>
2721
2722        * generic/tclInt.h: added prototype for TclpFilesystemPathType().
2723        * mac/tclMacChan.c: use MSL provided creator type if available instead
2724        of the default 'MPW '.
2725
27262002-05-16  Joe English  <jenglish@users.sf.net>
2727
2728        * doc/CrtObjCmd.3: Added Tcl_GetCommandFromObj, Tcl_GetCommandFullName
2729        [Bugs 547987, 414921]
2730
27312002-05-14  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
2732
2733        * unix/tclUnixChan.c (TtyOutputProc): #if/#endif-ed this function out
2734        to stop compiler warnings. Also much general tidying of comments in
2735        this file and removal of whitespace from blank lines.
2736
27372002-05-13  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
2738
2739        * unix/tclUnixChan.c (SETBREAK): Solaris thinks ioctl() takes a signed
2740        second argument, and Linux thinks ioctl() takes an unsigned second
2741        argument. So need a longer definition of this macro to get neither to
2742        spew warnings...
2743
27442002-05-13  Vince Darley  <vincentdarley@users.sourceforge.net>
2745
2746        * generic/tclEvent.c:
2747        * generic/tclIOUtil.c:
2748        * generic/tclInt.h: clean up all memory allocated by the filesystem,
2749        via introduction of 'TclFinalizeFilesystem'.
2750        Move TclFinalizeLoad into TclFinalizeFilesystem so we can be sure it
2751        is called at just the right time.
2752        Fix bad comment also. [Bug 555078 and 'fs' part of 543549]
2753        * win/tclWinChan.c: fix comment referring to wrong function.
2754
27552002-05-10  Don Porter  <dgp@users.sourceforge.net>
2756
2757        * tests/load.test:
2758        * tests/safe.test:
2759        * tests/tcltest.test: Corrected some list-quoting issues and other
2760        matters that cause tests to fail when the patch includes special
2761        characters. Report from Vince Darley. [Bug 554068]
2762
27632002-05-08    David Gravereaux <davygrvy@pobox.com>
2764
2765        * doc/file.n:
2766        * tools/man2tcl.c:
2767        * tools/man2help2.tcl:  Thanks to Peter Spjuth
2768        <peter.spjuth@space.se>, again. My prior fix for single-quote macro
2769        mis-understanding was wrong. Reverted to reimpliment the 'macro2' proc
2770        which handles single-quote macros and restored file.n text arrangement
2771        to avoid single-quotes on the first line. Sorry for all the confusion.
2772
27732002-05-08  David Gravereaux <davygrvy@pobox.com>
2774
2775        * tools/man2tcl.c:
2776        * tools/man2help2.tcl: Proper source of macro error misunderstanding
2777        single-quote as the leading macro command found and repaired.
2778
2779        * doc/file.n: Reverted to prior state before I messed with it.
2780
27812002-05-08  Don Porter  <dgp@users.sourceforge.net>
2782
2783        * library/tcltest/tcltest.tcl: Corrected [uplevel] quoting when
2784        [source]-ing test script in subdirectories.
2785        * tests/fileName.test:
2786        * tests/load.test:
2787        * tests/main.test:
2788        * tests/tcltest.test:
2789        * tests/unixInit.test: Fixes to test suite when there's a space in the
2790        working path. Thanks to Kevin Kenny.
2791
27922002-05-07  David Gravereaux <davygrvy@pobox.com>
2793
2794        -- Changes from Peter Spjuth <peter.spjuth@space.se>
2795        * tools/man2tcl.c: Increased line buffer size and a bail-out if that
2796        should ever be over-run.
2797        * tools/man2help.tcl: Include Courier New font in rtf header.
2798        * tools/man2help2.tcl: Improved handling of CS/CE fields. Use Courier
2799        New for code samples and indent better.
2800
2801        * doc/file.n:
2802        * doc/TraceCmd.3:  winhelp conversion tools where understanding
2803        a ' as the first character on a line to be an unknown macro.
2804        Not knowing how to repair tools/man2tcl.c, I decided to rearrange
2805        the text in the docs instead.
2806
28072002-05-07  Vince Darley  <vincentdarley@users.sourceforge.net>
2808
2809        * generic/tclFileName.c: fix to similar segfault when using 'glob
2810        -types nonsense -dir dirname -join * *'. [Bug 553320]
2811
2812        * doc/FileSystem.3: further documentation on vfs.
2813        * tests/cmdAH.test:
2814        * tests/fileSystem.test:
2815        * tests/pkgMkindex.test: Fix to testsuite bugs when running out of
2816        directory whose name contains '{' or '['.
2817
28182002-05-07  Miguel Sofer  <msofer@users.sourceforge.net>
2819
2820        * tests/basic.test: Fix for [Bug 549607]
2821        * tests/encoding.test: Fix for [Bug 549610]
2822        These are testsuite bugs that caused failures when the filename
2823        contained spaces. Report & fix by Kevin Kenny.
2824
28252002-05-02  Vince Darley  <vincentdarley@users.sourceforge.net>
2826
2827        * generic/tclFileName.c: fix to freeing a bad object (i.e. segfault)
2828        when using 'glob -types nonsense -dir dirname'.
2829        * generic/tclWinFile.c: fix to [Bug 551306], also wrapped some long
2830        lines.
2831        * tests/fileName.test: added several tests for the above bugs.
2832        * doc/FileSystem.3: clarified documentation on refCount requirements
2833        of the object returned by the path type function.
2834        * generic/tclIOUtil.c:
2835        * win/tclWinFile.c:
2836        * unix/tclUnixFile.c:
2837        * mac/tclMacFile.c: moved TclpFilesystemPathType to the platform-
2838        specific directories, so we can add missing platform-specific
2839        implementations. On Windows, 'file system' now returns useful results
2840        like "native NTFS", "native FAT" for that system. Unix and MacOS still
2841        only return "native".
2842        * doc/file.n: clarified documentation.
2843        * tests/winFile.test: test for 'file system' returning correct values.
2844        * tests/fileSystem.test: test for 'file system' returning correct
2845        values. Clean up after failed previous test run.
2846
28472002-04-26  Jeff Hobbs  <jeffh@ActiveState.com>
2848
2849        * unix/configure:
2850        * unix/tcl.m4: change HP-11 SHLIB_LD_LIBS from "" to ${LIBS} so that
2851        the .sl knows its dependent libs.
2852
28532002-04-26  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
2854
2855        * tests/obj.test (obj-11.[56]): Test conversion to boolean more
2856        thoroughly.
2857        * generic/tclObj.c (SetBooleanFromAny): Was not calling an integer
2858        parsing function on native 64-bit platforms! [Bug 548686]
2859
28602002-04-24  Jeff Hobbs  <jeffh@ActiveState.com>
2861
2862        * generic/tclInt.h: corrected TclRememberJoinableThread decl to use
2863        VOID instead of void.
2864        * generic/tclThreadJoin.c: noted that this code isn't needed on Unix.
2865
28662002-04-23  Jeff Hobbs  <jeffh@ActiveState.com>
2867
2868        * doc/exec.n:
2869        * doc/tclvars.n: doc updates [Patch 509426] (gravereaux)
2870
28712002-04-24  Daniel Steffen  <das@users.sourceforge.net>
2872
2873        * mac/tclMacResource.r: added check of TCLTK_NO_LIBRARY_TEXT_RESOURCES
2874        #define to allow disabling the inclusion of the tcl library code in
2875        the resource fork of Tcl executables and shared libraries.
2876
28772002-04-23  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
2878
2879        * doc/TraceCmd.3: New file that documents Tcl_CommandTraceInfo,
2880        Tcl_TraceCommand and Tcl_UntraceCommand [Bug 414927]
2881
28822002-04-22  Jeff Hobbs  <jeffh@ActiveState.com>
2883
2884        * generic/tclAlloc.c:
2885        * generic/tclInt.h:
2886        * generic/tclThreadAlloc.c (new):
2887        * unix/Makefile.in:
2888        * unix/tclUnixThrd.c:
2889        * win/Makefile.in:
2890        * win/tclWinInt.h:
2891        * win/tclWinThrd.c: added new threaded allocator contributed by AOL
2892        that significantly reduces lock contention when multiple threads are
2893        in use. Only Windows and Unix implementations are ready, and the
2894        Windows one may need work. It is only used by default on Unix for now,
2895        and requires that USE_THREAD_ALLOC be defined (--enable-threads on
2896        Unix will define this).
2897
2898        * generic/tclIOUtil.c (Tcl_FSRegister, Tcl_FSUnregister): corrected
2899        calling of Tcl_ConditionWait to ensure that there would be a condition
2900        to wait upon.
2901
2902        * generic/tclCmdAH.c (Tcl_FileObjCmd): added cast in FILE_SIZE.
2903
2904        * win/tclWinFCmd.c (DoDeleteFile): check return of setattr API calls
2905        in file deletion for correct Win32 API handling.
2906
2907        * win/Makefile.in: correct dependencies for shell, gdb, runtest
2908        targets.
2909
2910        * doc/clock.n:
2911        * compat/strftime.c (_fmt): change strftime to correctly handle
2912        localized %c, %x and %X on Windows. Added some notes about how the
2913        other values could be further localized.
2914
29152002-04-19  Don Porter  <dgp@users.sourceforge.net>
2916
2917        * generic/tclMain.c (Tcl_Main):  Free the memory allocated for the
2918        startup script path. [Bug 543549]
2919
2920        * library/msgcat/msgcat.tcl:  [mcmax] wasn't using the caller's
2921        namespace when determining the max translated length. Also made
2922        revisions for better use of namespace variables and more efficient
2923        [uplevel]s.
2924
2925        * doc/msgcat.n:
2926        * library/msgcat/msgcat.tcl:
2927        * library/msgcat/pkgIndex.tcl:  Added [mcload] to the export list of
2928        msgcat; bumped to 1.2.3. [Bug 544727]
2929
29302002-04-20  Daniel Steffen  <das@users.sourceforge.net>
2931
2932        * generic/tclInt.decls:
2933        * generic/tclIntPlatDecls.h:
2934        * generic/tclStubInit.c:
2935        * mac/tclMacFCmd.c:
2936        * mac/tclMacFile.c:
2937        * mac/tclMacUtil.c: Modified TclpObjNormalizePath to be alias file
2938        aware, and replaced various calls to FSpLocationFrom*Path by calls to
2939        new alias file aware versions FSpLLocationFrom*Path. The alias file
2940        aware routines don't resolve the last component of a path if it is an
2941        alias. This allows [file copy/delete] etc. to act correctly on alias
2942        files. (c.f. discussion in [Bug 511666])
2943
29442002-04-19  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
2945
2946        * tests/lindex.test (lindex-3.7):
2947        * generic/tclUtil.c (TclGetIntForIndex): Stopped indexes from hitting
2948        wide ints. [Bug 526717]
2949
29502002-04-18  Miguel Sofer  <msofer@users.sourceforge.net>
2951
2952        * generic/tclNamesp.c:
2953        * tests/info.test: [Bug 545325] info level didn't report namespace
2954        eval, bug report by Richard Suchenwirth.
2955
29562002-04-18  Don Porter  <dgp@users.sourceforge.net>
2957
2958        * doc/subst.n:  Clarified documentation on handling unusual return
2959        codes during substitution, and on variable substitutions implied by
2960        command substitution, and vice versa. [Bug 536838]
2961
29622002-04-18  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
2963
2964        * generic/tclCmdIL.c (InfoBodyCmd):
2965        * tests/info.test (info-2.6): Proc bodies without string reps would
2966        report as empty. [Bug 545644]
2967
2968        * generic/tclCmdMZ.c (Tcl_SubstObj): More clarification for comment on
2969        behaviour when substitutions are not well-formed, prompted by [Bug
2970        536831]; alas, removing the ill-defined behaviour is a lot of work.
2971
29722002-04-18  Miguel Sofer  <msofer@users.sourceforge.net>
2973
2974        * generic/tclExecute.c:
2975        * tests/expr-old.test: fix for [Bug 542588] (Phil Ehrens), where "too
2976        large integers" were reported as "floating-point value" in [expr]
2977        error messages.
2978
29792002-04-17  Jeff Hobbs  <jeffh@ActiveState.com>
2980
2981        * generic/tclEncoding.c (EscapeFromUtfProc):
2982        * generic/tclIO.c (WriteChars, Tcl_Close): corrected the handling of
2983        outputting end escapes for escape-based encodings.
2984        [Bug 526524] (yamamoto)
2985
29862002-04-17  Don Porter  <dgp@users.sourceforge.net>
2987
2988        * doc/tcltest.n:  Removed [saveState] and [restoreState] from tcltest
2989        2 documentation, effectively deprecating them. [Bug 495660]
2990        * library/tcltest/tcltest.tcl: Made separate export for commands kept
2991        only for tcltest 1 compatibility.
2992
2993        * tests/iogt.test: Revised to run tests in a namespace, rather than
2994        use the useless and buggy [saveState] and [restoreState] commands of
2995        tcltest. Updated to use tcltest 2 as well. [Patch 544911]
2996
29972002-04-16  Don Porter  <dgp@users.sourceforge.net>
2998
2999        * tests/io.test: Revised to run tests in a namespace, rather than use
3000        the useless and buggy [saveState] and [restoreState] commands of
3001        tcltest. Updated to use tcltest 2 as well. [Patch 544546]
3002
30032002-04-15  Miguel Sofer  <msofer@users.sourceforge.net>
3004
3005        * generic/tclProc.c:
3006        * tests/proc-old.test: Improved stack trace for TCL_BREAK and
3007        TCL_CONTINUE returns from procs. Patch by Don Porter [Bug 536955].
3008
3009        * generic/tclExecute.c:
3010        * tests/compile.test: made bytecodes check for a catch before
3011        returning; the compiled [return] is otherwise non-catchable. [Bug
3012        542142] reported by Andreas Kupries.
3013
30142002-04-15  Don Porter  <dgp@users.sourceforge.net>
3015
3016        * tests/socket.test:  Increased timeout values so that tests have
3017        time to successfully complete even on slow/busy machines. [Bug 523470]
3018
3019        * doc/tcltest.n:
3020        * library/tcltest/tcltest.tcl:
3021        * tests/tcltest.test:  Revised [tcltest::test] to return errors when
3022        called with invalid syntax and to accept exactly two arguments as
3023        documented. Improved error messages. [Bug 497446, Patch 513983]
3024        ***POTENTIAL INCOMPATIBILITY***: Incompatible with previous tcltest
3025        2.* releases, found only in alpha releases of Tcl 8.4.
3026
30272002-04-11  Jeff Hobbs  <jeffh@ActiveState.com>
3028
3029        * generic/tclNotify.c (TclFinalizeNotifier): remove remaining
3030        unserviced events on finalization.
3031
3032        * win/tcl.m4: Enabled COFF as well as CV style debug info with
3033        --enable-symbols to allow Dr. Watson users to see function info. More
3034        info on debugging levels can be obtained at:
3035        http://msdn.microsoft.com/library/en-us/dnvc60/html/gendepdebug.asp
3036
3037        * tests/ioCmd.test: fixed iocmd-8.15 to have mac and unixPc variants.
3038
3039        * generic/tclParse.c (Tcl_ParseVar): conditionally incr obj refcount
3040        to prevent possible mem leak.
3041
30422002-04-08  Daniel Steffen  <das@users.sourceforge.net>
3043
3044        * generic/tcl.h: no <sys/types.h> on mac.
3045        * mac/tclMacFile.c: minor fixes to Vince's changes from 03-24.
3046        * mac/tclMacOSA.c:
3047        * mac/tclMacResource.c: added missing Tcl_UtfToExternalDString
3048        conversions of resource file names.
3049        * mac/tclMacSock.c (TcpGetOptionProc): fixed bug introduced by Andreas
3050        on 02-25; changed strcmp's to strncmp's so that option comparison
3051        behaves like on other platforms.
3052        * mac/tcltkMacBuildSupport.sea.hqx (CW Pro6 changes): added support to
3053        allow Tk to hookup C library stderr/stdout to TkConsole.
3054        * tests/basic.test:
3055        * tests/cmdAH.test:
3056        * tests/encoding.test:
3057        * tests/fileSystem.test:
3058        * tests/ioCmd.test: fixed tests failing on mac: check for existence of
3059        [exec], changed some result strings.
3060
30612002-04-06  Jeff Hobbs  <jeffh@ActiveState.com>
3062
3063        * unix/tclUnixFCmd.c (Realpath): added a little extra code to
3064        initialize a realpath arg when compiling in PURIFY mode in order to
3065        prevent spurious purify warnings. We should really create our own
3066        realpath implementation, but this will at least quiet purify for now.
3067
30682002-04-05  Don Porter  <dgp@users.sourceforge.net>
3069
3070        * generic/tclCmdMZ.c (Tcl_SubstObj):
3071        * tests/subst.test:  Corrected [subst] so that return codes TCL_BREAK
3072        and TCL_CONTINUE returned by variable substitution have the same
3073        effect as when those codes are returned by command substitution. [Bug
3074        536879]
3075
30762002-04-03  Jeff Hobbs  <jeffh@ActiveState.com>
3077
3078        * library/tcltest/tcltest.tcl: added getMatchingFiles back (alias to
3079        GetMatchingFiles), which was a public function in tcltest 1.0.
3080
30812002-04-01  Vince Darley  <vincentdarley@users.sourceforge.net>
3082
3083        * generic/tclEnv.c:
3084        * generic/tclIOUtil.c: invalidate filesystem cache when the user
3085        changes env(HOME). Fixes [Bug 535621]. Also cleaned up some of the
3086        documentation.
3087        * tests/fileSystem.test: added test for bug just fixed.
3088
30892002-04-01  Kevin Kenny  <kennykb@acm.org>
3090
3091        * win/tclWinTime.c (Tcl_GetTime): made the checks of clock frequency
3092        more permissive to cope with the fact that Win98SE is observed to
3093        return 1.19318 in place of 1.193182 for the performance counter
3094        frequency.
3095
30962002-03-29  Jeff Hobbs  <jeffh@ActiveState.com>
3097
3098        * generic/tclCmdMZ.c (Tcl_TraceObjCmd, TraceVarProc)
3099        (TraceCommandProc, TclTraceCommandObjCmd):  corrected potential
3100        double-free of traces on variables by flagging in Trace*Proc that it
3101        will free the var in case the eval wants to delete the var trace as
3102        well. [Bug 536937] Also converted Tcl_UntraceVar -> Tcl_UntraceVar2
3103        and Tcl_Eval to Tcl_EvalEx in Trace*Proc for slight efficiency
3104        improvement.
3105
31062002-03-29  Don Porter  <dgp@users.sourceforge.net>
3107
3108        * doc/AllowExc.3:
3109        * generic/tclBasic.c (Tcl_EvalObjv,Tcl_EvalEx,Tcl_EvalObjEx):
3110        * generic/tclCompile.h (TclCompEvalObj):
3111        * generic/tclExecute.c (TclCompEvalObj,TclExecuteByteCode):
3112        * tests/basic.test: Corrected problems with Tcl_AllowExceptions having
3113        influence over the wrong scope of Tcl_*Eval* calls. Patch from Miguel
3114        Sofer. Report from Jean-Claude Wippler. [Bug 219181]
3115
31162002-03-28  Don Porter  <dgp@users.sourceforge.net>
3117
3118        * generic/tclVar.c: Refactored CallTraces to collect repeated handling
3119        of its returned value into CallTraces itself.
3120
31212002-03-28  David Gravereaux <davygrvy@pobox.com>
3122
3123        * tools/feather.bmp:
3124        * tools/man2help.tcl:
3125        * tools/man2help2.tcl:
3126        * win/makefile.vc: More winhelp target fixups. Added a feather bitmap
3127        to the non-scrollable area and changed the color to be yellow from a
3128        plain white. The colors can be whatever we want them to be, but
3129        thought I would start with something bold. [Bug 527941]
3130
3131        * doc/SetVar.3:
3132        * doc/TraceVar.3:
3133        * doc/UpVar.3:  .AP macro syntax repair.
3134
31352002-03-27  David Gravereaux <davygrvy@pobox.com>
3136
3137        * tools/man2help.tcl:
3138        * win/makefile.vc:  winhelp target now copies all needed files from
3139        tools/ to a workarea under $(OUT_DIR) and builds it from there. No
3140        build cruft is left in tools/ anymore. All paths used in man2help.tcl
3141        are now relative to where the script is. [Bug 527941]
3142
31432002-03-27  David Gravereaux <davygrvy@pobox.com>
3144
3145        * win/.cvsignore:
3146        * win/buildall.vc.bat:
3147        * win/coffbase.txt:
3148        * win/makefile.vc:
3149        * win/nmakehlp.c (new):
3150        * win/rules.vc:  First draft fix for [Bug 527941]. More changes need
3151        to done to the makehelp target to get to stop leaving build files in
3152        the tools/ directory. This does not address the syntax errors in the
3153        man files. Having the contents of tcl.hpj(.in) inside makefile.vc
3154        allows for version numbers to be replaced with macros.
3155
3156        The new nmakehlp.c is built by rules.vc in preprocessing and removes
3157        the need to use tricky shell syntax that wasn't compatible on Win9x
3158        systems. Clean targets made Win9x complient. This is a first draft
3159        repair for [Bug 533862].
3160
31612002-03-28  Miguel Sofer  <msofer@users.sourceforge.net>
3162
3163        * generic/tclBasic.c (Tcl_EvalEx): passing the correct commandSize to
3164        TclEvalObjvInternal. [Bug 219362], fix by David Knoll.
3165
31662002-03-28  Miguel Sofer  <msofer@users.sourceforge.net>
3167
3168        * generic/tclBasic.c (Tcl_EvalEx):
3169        * tests/basic.test: avoid exceptional returns at level 0. [Bug 219181]
3170
31712002-03-27  Don Porter  <dgp@users.sourceforge.net>
3172
3173        * doc/tcltest.n ([mainThread]):
3174        * library/tcltest/tcltest.tcl:
3175        * tests/tcltest.test:  Major code cleanup to deal with whitespace,
3176        coding conventions, and namespace issues, with several minor bugs
3177        fixed in the process.
3178
3179        * tests/main.test: Added missing [after cancel]s.
3180
31812002-03-25  Don Porter  <dgp@users.sourceforge.net>
3182
3183        * tests/main.test: Removed workarounds for Bug 495977.
3184
3185        * library/tcltest/tcltest.tcl:  Keep the value of $::auto_path
3186        unchanged, so that the tcltest package can test code that depends on
3187        auto-loading. If a testing application needs $::auto_path pruned, it
3188        should do that itself. [Bug 495726]
3189        Improve the processing of the -constraints option to [test] so that
3190        constraint lists can have arbitrary whitespace, and non-lists don't
3191        blow things up. [Bug 495977]
3192        Corrected faulty variable initialization. [Bug 534845]
3193
31942002-03-25  Miguel Sofer  <msofer@users.sourceforge.net>
3195
3196        * doc/CrtTrace.3: small doc correction
3197        * generic/tclBasic.c (Tcl_DeleteTrace): Allow NULL callback on trace
3198        deletions. [Bug 534728] (Hemang Lavana)
3199
32002002-03-24  Miguel Sofer  <msofer@users.sourceforge.net>
3201
3202        * generic/tclBasic.c (Tcl_EvalObjv): replaced obscure, incorrect code
3203        as described in [Bug 533907] (Don Porter).
3204
32052002-03-24  Don Porter  <dgp@users.sourceforge.net>
3206
3207        * library/tcltest/tcltest.tcl:  Use [interpreter] to set/query the
3208        executable currently running the tcltest package. [Bug 454050]
3209
3210        * library/tcltest/tcltest.tcl:  Allow non-proc commands to be used as
3211        the customization hooks. [Bug 495662]
3212
32132002-03-24  Vince Darley  <vincentdarley@users.sourceforge.net>
3214
3215        * generic/tclFilename.c:
3216        * generic/tclFCmd.c:
3217        * generic/tclTest.c:
3218        * generic/tcl.h:
3219        * generic/tclIOUtil.c:
3220        * win/tclWinFile.c:
3221        * win/tclWinFCmd.c:
3222        * win/tclWinPipe.c:
3223        * unix/tclUnixFile.c:
3224        * unix/tclUnixFCmd.c:
3225        * mac/tclMacFile.c:
3226        * doc/FileSystem.3:
3227        * doc/file.n:
3228        * tests/cmdAH.test:
3229        * tests/fileName.test:
3230        * tests/fileSystem.test: (new file)
3231        * tests/winFCmd.test: fix [Bug 511666] and [Bug 511658], and improved
3232        documentation of some aspects of the filesystem, particularly
3233        'Tcl_FSMatchInDirectory' which now might match a single file/directory
3234        only, and 'file normalize' which wasn't very clear before. Removed
3235        inconsistency betweens docs and the Tcl_Filesystem structure. Also
3236        fixed [Bug 523217] and corrected file normalization on Unix so that
3237        it expands symbolic links. Added some new tests of the filesystem
3238        code (in the new file 'fileSystem.test'), and some extra tests for
3239        correct handling of symbolic links. Fix to [Bug 530960] which shows up
3240        on Win98. Made comparison with ".com" case insensitive in tclWinPipe.c
3241
3242        ***POTENTIAL INCOMPATIBILITY***: But only between alpha releases
3243        (users of the new Tcl_Filesystem lookup table in Tcl 8.4a4 need to
3244        handle the new way in which Tcl may call Tcl_FSMatchInDirectory, and
3245        'file normalize' on unix now behaves correctly). Only known impact is
3246        with the 'tclvfs' extension.
3247
32482002-03-22  Miguel Sofer  <msofer@users.sourceforge.net>
3249
3250        * tests/basic.test (basic-46.1): adding test for [Bug 533758], fixed
3251        earlier today.
3252
32532002-03-22  Jeff Hobbs  <jeffh@ActiveState.com>
3254
3255        * win/tclWinInt.h: moved undef of TCL_STORAGE_CLASS. [Bug 478579]
3256
32572002-03-22  Miguel Sofer  <msofer@users.sourceforge.net>
3258
3259        * generic/tclBasic.c (Tcl_EvalObjEx):
3260        * generic/tclExecute.c (TclCompEvalObj): fixed the errorInfo for
3261        return codes other than (TCL_OK, TCL_ERROR) to runLevel 0.[Bug 533758]
3262        Removed the static RecordTracebackInfo(), as its functionality is
3263        easily replicated by Tcl_LogCommandInfo. Bug and redundancy noted by
3264        Don Porter.
3265
32662002-03-21  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
3267
3268        * doc/expr.n: Improved documentation for ceil and floor. [Bug 530535]
3269
32702002-03-20  Don Porter  <dgp@users.sourceforge.net>
3271
3272        * doc/SetVar.3:
3273        * doc/TraceVar.3:
3274        * doc/UpVar.3:
3275        * generic/tcl.h (Tcl_VarTraceProc):
3276        * generic/tcl.decls (Tcl_GetVar2, Tcl_SetVar2, Tcl_TraceVar2,
3277        (Tcl_UnsetVar2, Tcl_UntraceVar2, Tcl_UpVar2, Tcl_VarTraceInfo2,
3278        (Tcl_GetVar2Ex, TclSetVar2Ex):
3279        * generic/tclCmdMZ.c (TraceVarProc):
3280        * generic/tclEnv.c (EnvTraceProc):
3281        * generic/tclEvent.c (VwaitVarProc):
3282        * generic/tclInt.decls (TclLookupVar,TclPrecTraceProc):
3283        * generic/tclLink.c (LinkTraceProc):
3284        * generic/tclUtil.c (TclPrecTraceProc):
3285        * generic/tclVar.c (CallTraces, MakeUpvar, VarErrMsg, TclLookupVar,
3286        (Tcl_GetVar2, Tcl_SetVar2, Tcl_TraceVar2, Tcl_UnsetVar2,
3287        (Tcl_UntraceVar2, Tcl_UpVar2, Tcl_VarTraceInfo2, Tcl_GetVar2Ex,
3288        (TclSetVar2Ex): Updated interfaces of generic/tclVar.c according to
3289        TIP 27. In particular, the "part2" arguments were CONSTified. [Patch
3290        532642]
3291        * generic/tclDecls.h:
3292        * generic/tclIntDecls.h: make genstubs
3293
32942002-03-15  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
3295
3296        * tests/compile.test (compile-12.3): Test to detect bug 530320.
3297        * generic/tclCompile.c (TclCompileTokens): Fixed buffer overrun
3298        reported in bug 530320.
3299
33002002-03-14  Mo DeJong  <mdejong@users.sourceforge.net>
3301
3302        * win/configure: Regen.
3303        * win/configure.in: Add configure time test for SEH support in the
3304        compiler.
3305        * win/tclWin32Dll.c (ESP, EBP, TclpCheckStackSpace,
3306        (_except_checkstackspace_handler):
3307        * win/tclWinChan.c (ESP, EBP, Tcl_MakeFileChannel,
3308        (_except_makefilechannel_handler):
3309        * win/tclWinFCmd.c (ESP, EBP, DoRenameFile, DoCopyFile,
3310        (_except_dorenamefile_handler, _except_docopyfile_handler):
3311        Implement SEH support under gcc using inline asm. Tcl and Tk should
3312        now compile with Mingw 1.1. [Patch 525746]
3313
33142002-03-14  Mo DeJong  <mdejong@users.sourceforge.net>
3315
3316        * win/tclWinFCmd.c (DoRenameFile, DoCopyFile): Handle an SEH exception
3317        with EXCEPTION_EXECUTE_HANDLER instead of restarting the faulting
3318        instruction with EXCEPTION_CONTINUE_EXECUTION. [Bug 466102] provides
3319        an example of how restarting could send Tcl into an infinite loop.
3320        [Patch 525746]
3321
33222002-03-11  Mo DeJong  <mdejong@users.sourceforge.net>
3323
3324        * win/tclWinFCmd.c (DoRenameFile, DoCopyFile, DoDeleteFile,
3325        (DoRemoveJustDirectory): Make sure we don't pass NULL or "" as a path
3326        name to Win32 API functions since this was crashing under Windows 98.
3327
33282002-03-11  Don Porter  <dgp@users.sourceforge.net>
3329
3330        * library/tcltest/tcltest.tcl:
3331        * library/tcltest/pkgIndex.tcl: Bumped tcltest package to 2.0.2.
3332
33332002-03-11  Mo DeJong  <mdejong@users.sourceforge.net>
3334
3335        * library/tcltest/tcltest.tcl (getMatchingFiles): Pass a proper list
3336        to foreach to avoid munging a Windows patch like D:\Foo\Bar into
3337        D:FooBar before the glob.
3338
33392002-03-11  Mo DeJong  <mdejong@users.sourceforge.net>
3340
3341        * generic/tclEncoding.c: Fix typo in comment.
3342        * generic/tclIO.c (DoReadChars, ReadBytes, ReadChars): Use NULL value
3343        instead of pointer set to NULL to make things more clear. Reorder
3344        arguments so that they match the function signatures. Cleanup little
3345        typos and add more descriptive comment.
3346
33472002-03-08  Mo DeJong  <mdejong@users.sourceforge.net>
3348
3349        * win/README: Update to indicate that Mingw 1.1 is required to build
3350        Tcl. Add section describing new msys based build process. Update
3351        Cygwin build instructions so users know where to find Mingw 1.1.
3352
33532002-03-08  Jeff Hobbs  <jeffh@ActiveState.com>
3354
3355        * win/tclWinFCmd.c (DoCopyFile): correctly set retval to TCL_OK.
3356
33572002-03-07  Mo DeJong  <mdejong@users.sourceforge.net>
3358
3359        * win/tclWin32Dll.c (TclpCheckStackSpace):
3360        * win/tclWinFCmd.c (DoRenameFile, DoCopyFile): Replace hard coded
3361        constants with Win32 symbolic names. Move control flow statements out
3362        of __try blocks since the documentation indicates it is frowned upon.
3363
33642002-03-07  Don Porter  <dgp@users.sourceforge.net>
3365
3366        * doc/interp.n:
3367        * generic/tclInterp.c (Tcl_InterpObjCmd, SlaveObjCmd,
3368        (SlaveRecursionLimit):
3369        * generic/tclTest.c:
3370        * tests/interp.test: Added the [interp recursionlimit] command to
3371        set/query the recursion limit of an interpreter. Proposal and
3372        implementation from Stephen Trier. [TIP 87, Patch 522849]
3373
33742002-03-06  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
3375
3376        * generic/tcl.h, tools/tcl.wse.in, unix/configure.in,
3377        * unix/tcl.spec, win/README.binary, win/configure.in, README:
3378        Bumped patchlevel; this might need to change in the future, but it
3379        will help us distinguish between the CVS version and the most recent
3380        released version.
3381
33822002-03-06  Miguel Sofer  <msofer@users.sourceforge.net>
3383
3384        * generic/tclInt.h: for unshared objects, TclDecrRefCount now frees
3385        the internal rep before the string rep - just like the non-macro
3386        Tcl_DecrRefCount/TclFreeObj. [Bug 524802]
3387
33882002-03-06  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
3389
3390        * doc/lsearch.n: Documentation of new features, plus examples.
3391        * tests/lsearch.test: Tests of new features.
3392        * generic/tclCmdIL.c (Tcl_LsearchObjCmd): TIP#80 support. See
3393        http://purl.org/tcl/tip/80 for details.
3394
33952002-03-05  Jeff Hobbs  <jeffh@ActiveState.com>
3396
3397        *** 8.4a4 TAGGED FOR RELEASE ***
3398
3399        * unix/tclUnixChan.c: initial remedy for [Bug 525783] flush problem
3400        introduced by TIP #35. This may not satisfy true serial channels, but
3401        it restores the correct flushing of std* channels on exit.
3402
3403        * unix/README: added --enable-langinfo doc.
3404
3405        * unix/tcl.spec:
3406        * tools/tcl.wse.in: fixed URL refs to use www.tcl.tk or SF.
3407
34082002-03-04  Jeff Hobbs  <jeffh@ActiveState.com>
3409
3410        * README:
3411        * mac/README:
3412        * unix/Makefile.in:
3413        * unix/README:
3414        * win/README:
3415        * win/README.binary: updated to use www.tcl.tk URL.
3416
3417        * unix/Makefile.in: added older ChangeLogs to dist target.
3418
3419        * tests/io.test:
3420        * tests/encoding.test: corrected iso2022 encoding results.
3421        added encoding-24.*
3422        * generic/tclEncoding.c (EscapeFromUtfProc): corrected output of
3423        escape codes as per RFC 1468. [Patch 474358] (taguchi)
3424        (TclFinalizeEncodingSubsystem): corrected potential double-free
3425        when encodings were finalized on exit. [Bugs 219314, 524674]
3426
34272002-03-01  Jeff Hobbs  <jeffh@ActiveState.com>
3428
3429        * library/encoding/iso2022-jp.enc:
3430        * library/encoding/iso2022.enc:
3431        * tools/encoding/iso2022-jp.esc:
3432        * tools/encoding/iso2022.esc: gave <ESC>$B precedence over <ESC>$@,
3433        based on comments (point 1) in [Bug 219283] (rfc 1468)
3434
3435        * tests/encoding.test: added encoding-23.* tests
3436        * generic/tclIO.c (FilterInputBytes): reset the TCL_ENCODING_START
3437        flags in the ChannelState when using 'gets'. [Bug 523988]
3438        Also reduced the value of ENCODING_LINESIZE from 30 to 20 as this
3439        seems to improve the performance of 'gets' according to tclbench.
3440
34412002-02-28  Jeff Hobbs  <jeffh@ActiveState.com>
3442
3443        * generic/tclCmdMZ.c (TraceCommandProc): ensure that TraceCommandInfo
3444        structure was also deleted when a command was deleted to prevent a
3445        mem leak.
3446
3447        * generic/tclBasic.c (Tcl_CreateObjTrace): set tracePtr->flags
3448        correctly.
3449
3450        * generic/tclTimer.c (TimerExitProc): remove remaining events in
3451        tls on thread exit.
3452
34532002-02-28  Miguel Sofer  <msofer@users.sourceforge.net>
3454
3455        * generic/tclNamesp.c: allow cached fully-qualified namespace names to
3456        be usable from different namespaces within the same interpreter
3457        without forcing a new lookup [Patch 458872].
3458
34592002-02-28  Miguel Sofer  <msofer@users.sourceforge.net>
3460
3461        * generic/tclExecute.c: Replaced a few direct stack accesses with the
3462        POP_OBJECT() macro [Bug 507181] (Don Porter).
3463
34642002-02-27  Don Porter  <dgp@users.sourceforge.net>
3465
3466        * doc/GetIndex.3:
3467        * generic/tcl.decls (Tcl_GetIndexFromObjStruct):
3468        * generic/tclIndexObj.c (Tcl_GetIndexFromObjStruct):  Revised the
3469        prototype of the Tcl_GetIndexFromObjStruct to take its struct table as
3470        a (CONST VOID *) argument, better describing what it is, maintaining
3471        source compatibility, and adding CONST correctness according to TIP
3472        27. Thanks to Joe English for an elegant solution. [Bug 520304]
3473
3474        * generic/tclDecls.h: make genstubs
3475
3476        * generic/tclMain.c (Tcl_Main,StdinProc):  Corrected some reference
3477        count management errors on the interactive command Tcl_Obj found by
3478        Purify. Thanks to Jeff Hobbs for the report and assistance.
3479
34802002-02-27  Jeff Hobbs  <jeffh@ActiveState.com>
3481
3482        * generic/tclBasic.c (Tcl_EvalTokensStandard): corrected mem leak in
3483        error case.
3484
3485        * generic/tclTest.c (TestStatProc[123]): correct harmless UMRs.
3486
3487        * generic/tclLink.c (Tcl_LinkVar): correct mem leak in error case.
3488
34892002-02-27  Andreas Kupries  <andreas_kupries@users.sourceforge.net>
3490
3491        * tests/socket.test (2.7): Accepted and applied patch for [Bug 523470]
3492        provided by Don Porter <dgp@users.sourceforge.net> to avoid timing
3493        problems in that test.
3494
3495        * unix/tclUnixChan.c (TclpOpenFileChannel): Added code to regonize
3496        "/dev/tty" (by name) and to not handle it as tty / serial line. This
3497        is the controlling terminal and is special. Setting it into raw mode
3498        as is done for other tty's is a bad idea. This is a hackish fix for
3499        expect [Bug 520624]. The fix has limitation: Tcl_MakeFileChannel
3500        handles tty's specially too, but is unable to recognize /dev/tty as it
3501        only gets a file descriptor, and no name for it.
3502
35032002-02-26  Jeff Hobbs  <jeffh@ActiveState.com>
3504
3505        * generic/tclCmdAH.c (StoreStatData): corrected mem leak.
3506
3507        * generic/tclCmdMZ.c (Tcl_RegsubObjCmd): prevent obj leak in
3508        remedial regsub case.
3509
3510        * generic/tclFileName.c (Tcl_TranslateFileName): decr refcount for
3511        error case to prevent mem leak.
3512
3513        * generic/tclVar.c (Tcl_ArrayObjCmd): removed extra obj allocation.
3514
3515        * unix/tclUnixSock.c (Tcl_GetHostName): added an extra
3516        gethostbyname check to guard against failure with truncated
3517        names returned by uname.
3518
3519        * unix/configure:
3520        * unix/tcl.m4 (SC_SERIAL_PORT): added sys/modem.h check and defined
3521        _XOPEN_SOURCE_EXTENDED for HP-11 to get updated header decls.
3522
3523        * unix/tclUnixChan.c: added Unix implementation of TIP #35, serial
3524        port support. [Patch 438509] (schroedter)
3525
35262002-02-26  Miguel Sofer  <msofer@users.sourceforge.net>
3527
3528        * generic/tclCmpCmds.c: (bugfix to the bugfix, hopefully the last)
3529        Bugfix to the new [for] compiling code: was setting a exceptArray
3530        parameter using another param which wasn't yet initialised, thus
3531        filling it with noise.
3532
35332002-02-25  Andreas Kupries  <andreas_kupries@users.sourceforge.net>
3534
3535        * mac/tclMacSock.c (TcpGetOptionProc): Changed to recognize the option
3536        "-error". Essentially ignores the option, always returning an empty
3537        string.
3538
35392002-02-25  Jeff Hobbs  <jeffh@ActiveState.com>
3540
3541        * doc/Alloc.3:
3542        * doc/LinkVar.3:
3543        * doc/ObjectType.3:
3544        * doc/PkgRequire.3:
3545        * doc/Preserve.3:
3546        * doc/TCL_MEM_DEBUG.3: Updated documentation to describe the ckalloc,
3547        ckfree, ckrealloc, attemptckalloc, and attemptckrealloc macros, and
3548        to accurately describe when and how they are used. [Bug 497459] (dgp)
3549
3550        * generic/tclHash.c (AllocArrayEntry, AllocStringEntry):
3551        Before invoking ckalloc when creating a Tcl_HashEntry,
3552        check that the amount of memory being allocated is
3553        at least as large as sizeof(Tcl_HashEntry). The previous
3554        code was allocating memory regions that were one
3555        or two bytes short. [Bug 521950] (dejong)
3556
35572002-02-25  Miguel Sofer  <msofer@users.sourceforge.net>
3558
3559        * generic/tclBasic.c (Tcl_EvalEx): avoiding a buffer overrun
3560        reported by Joe English, and restoring tcl7.6 behaviour for
3561        [subst]: badly terminated nested scripts will raise an error
3562        and not be evaluated. [Bug 495207]
3563
35642002-02-25  Don Porter  <dgp@users.sourceforge.net>
3565
3566        * unix/tclUnixPort.h: corrected strtoll prototype mismatch on Tru64.
3567        * compat/strtod.c (strtod): simplified #includes
3568        * compat/strtol.c (strtol): gather result in a long before returning
3569        as a long: necessary on platforms where sizeof(int) != sizeof(long).
3570
35712002-02-25  Daniel Steffen  <das@users.sourceforge.net>
3572
3573        * unix/tclLoadDyld.c: updated to use Mac OS X 10.1 dyld APIs that
3574        have more libdl-like semantics. [Bug 514392]
3575
35762002-02-25  Miguel Sofer  <msofer@users.sourceforge.net>
3577
3578        * generic/tclCompCmds: fixing a bug in patch dated 2002-02-22, in the
3579        code for [for] and [while]. Under certain conditions, for long bodies,
3580        the exception range parameters were badly computed. Tests forthcoming:
3581        I still can't reproduce the conditions in the testsuite (!), although
3582        the bug (with assorted segfault or panic!)  can be triggered from the
3583        console or with the new parse.bench in tclbench.
3584
35852002-02-25  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
3586
3587        * compat/strtoul.c, compat/strtol.c, compat/strtod.c: Added UCHAR,
3588        CONST and #includes to clean up GCC output.
3589
35902002-02-23  Don Porter  <dgp@users.sourceforge.net>
3591
3592        * compat/strtoull.c (strtoull):
3593        * compat/strtoll.c (strtoll):
3594        * compat/strtoul.c (strtoul): Fixed failure to handle leading
3595        sign symbols '+' and '-' and '0X' and raise overflow errors.
3596        [Bug 440916]  Also corrects prototype and errno problems.
3597
35982002-02-23  Mo DeJong  <mdejong@users.sourceforge.net>
3599
3600        * configure: Regen.
3601        * unix/tcl.m4 (SC_CONFIG_CFLAGS): Link with -n32 instead of -32 when
3602        building on IRIX64-6.* system. [Bug 521707]
3603
36042002-02-22  Don Porter <dgp@users.sourceforge.net>
3605
3606        * generic/tclInt.h:
3607        * generic/tclObj.c: renamed global variable emptyString ->
3608        tclEmptyString because it is no longer static.
3609        * generic/tclPkg.c: Fix for panic when library is loaded on a
3610        platform without backlinking without proper use of stubs. [Bug 476537]
3611
36122002-02-22  Jeff Hobbs  <jeffh@ActiveState.com>
3613
3614        * tests/regexpComp.test: updated regexp-11.[1-4] to match changes in
3615        regexp.test for new regsub syntax
3616
3617        * unix/configure:
3618        * unix/tcl.m4: added --enable-64bit support for AIX-4 (using -q64
3619        flag) when using IBM's xlc compiler.
3620
3621        * tests/safe.test: updated safe-8.5 and safe-8.7
3622        * library/safe.tcl (CheckFileName): removed the limit on
3623        sourceable file names (was only *.tcl or tclIndex files with no more
3624        than one dot and 14 chars). There is enough internal protection in a
3625        safe interpreter already. [Tk Bug 521560]
3626
36272002-02-22  Miguel Sofer  <msofer@users.sourceforge.net>
3628
3629        * generic/tclCompCmds: [FR 465811]. Optimising [if], [for] and [while]
3630        for constant conditions; in addition, [for] and [while] are now
3631        compiled with the "loop rotation" optimisation (thanks to Kevin
3632        Kenny).
3633
36342002-02-22  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
3635
3636        --- TIP#76 CHANGES ---
3637        * generic/tclCmdMZ.c (Tcl_RegsubObjCmd): Final-argument-less
3638        [regsub] returns the modified string.
3639        * doc/regsub.n: Updated docs.
3640        * tests/regexp.test: Updated and added tests.
3641
3642        * compat/strtoll.c (strtoll):
3643        * compat/strtoull.c (strtoull):
3644        * unix/tclUnixPort.h:
3645        * win/tclWinPort.h: Const-ing 64-bit compatability declarations. Note
3646        that the return pointer is non-const because it is entirely legal for
3647        the functions to be called from somewhere that owns the string being
3648        passed. Fixes problem reported by Larry Virden.
3649
36502002-02-21  David Gravereaux <davygrvy@pobox.com>
3651
3652        * win/mkd.bat (removed):
3653        * win/coffbase.txt (new):
3654        * win/makefile.bc:
3655        * win/makefile.vc:  Changed the 'setup' target to stop using the
3656        mkd.bat file and just make the directory right in the rule. Same
3657        change to makefile.bc. Neither configure.in nor Makefile.in use it.
3658
3659        coffbase.txt will be the master list for our "prefered base addresses"
3660        set by the linker. This should improve load-time (NT only) by avoiding
3661        relocations. Submissions to the list by extension authors are
3662        encouraged.
3663
3664        Added a 'tidy' target to compliment 'clean' and 'hose' to remove just
3665        the outputs. Also removed the $(winlibs) macro as it wasn't being
3666        used.
3667
3668        Stuff left to do:
3669        1) get the winhelp target to stop building in the tools/ directory.
3670        2) stop using rmd.bat
3671        3) add more dependacy rules.
3672
3673        * win/tclAppInit.c:  Reverted back to -r1.6, as the header file change
3674        to tclPort.h won't allow for easy embedded support outside of the
3675        source dist. Thanks to Don Porter for pointing this out to me.
3676
36772002-02-21  David Gravereaux <davygrvy@pobox.com>
3678
3679        * win/makefile.vc:
3680        * win/rules.vc:  Added a new "loimpact" option that sets the
3681        -ws:aggressive linker option. Off by default. It's said to keep the
3682        heap use low at the expense of alloc speed.
3683
3684        * win/tclAppInit.c: Changed #include "tcl.h" to be tclPort.h to remove
3685        the raw windows.h include. tclPort.h brings in windows.h already and
3686        lessens the pre-compiled-header mush and the randomly useless #pragma
3687        comment (lib,...) references throughout the big windows.h tree (as
3688        observed at high linker warning levels).
3689
36902002-02-21  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
3691
3692        * generic/tcl.h: Better guessing of LP64/ILP32 architecture, but now
3693        sensitive to presence of (suitable) <limits.h>
3694
36952002-02-20  Don Porter <dgp@users.sourceforge.net>
3696
3697        * generic/tcl.decls (Tcl_RegExpRange,Tcl_GetIndexFromObjStruct):
3698        Overlooked a few source incompatibilities. Now using CONST84.
3699        * generic/tclDecls.h: make genstubs
3700        * generic/tcl.h (Tcl_CmdObjTraceProc): silence warning from Sun
3701        Workshop compiler.
3702
37032002-02-20  David Gravereaux <davygrvy@pobox.com>
3704
3705        * win/buildall.vc.bat:
3706        * win/makefile.vc:
3707        * win/rules.vc: General clean-ups. Added compiler and linker tests for
3708        a) the pentium 0x0F errata, b) optimizing (not all have this), and c)
3709        linker v6 section alignment confusion. All these are tested first to
3710        make sure any D4002 or LNK1117 warnings aren't displayed. The pentium
3711        0x0F errata is a recommended switch. The v5 linker's section alignment
3712        default is 512, but the v6 linker was changed to 4096 in an attempt to
3713        speed loading on Win98. I changed the default to always be 512 across
3714        both linkers, unless linking statically, then 4096 is used for the
3715        claimed speed effect. Using a 512 alignment saves 12k bytes of dead
3716        space in the DLL.
3717
3718        Added IA64 B-stepping errata switch when the compiler supports it.
3719
3720        Added profiling to $(lflags) when requested and also removed the
3721        explict -entry option as the default works fine as is.
3722
3723        Removed win/tclWinInit.c from the special case section to let it use
3724        the common implicit rule as the $(EXTFLAGS) macro it had was never
3725        referenced anywhere.
3726
37272002-02-20  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
3728
3729        * generic/tcl.h: Added code to guess the correct settings for
3730        TCL_WIDE_INT_IS_LONG and TCL_WIDE_INT_TYPE when configure doesn't tell
3731        us them, as can happen with extensions.
3732
37332002-02-19  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
3734
3735        * doc/format.n: Updated docs to list the specification.
3736        * generic/tclCmdAH.c (Tcl_FormatObjCmd): Made behaviour on 64-bit
3737        platforms correctly meet the specification, that %d works with the
3738        native word-sized integer, instead of trying to guess (wrongly)
3739        from the value being passed.
3740
37412002-02-19  Don Porter <dgp@users.sourceforge.net>
3742
3743        * changes: First draft of updated changes for 8.4a4 release.
3744
37452002-02-15  Jeff Hobbs  <jeffh@ActiveState.com>
3746
3747        * unix/tclUnixPort.h: add strtoll/strtoull declarations for
3748        platforms that do not define them.
3749
3750        * generic/tclIndexObj.c (STRING_AT): removed ptrdiff_t cast and
3751        use of VOID* in default case (GNU-ism).
3752
37532002-02-15  Kevin Kenny  <kennykb@acm.org>
3754
3755        * compat/strtoll.c:
3756        * compat/strtoul.c:
3757        * compat/strtoull.c:
3758        * generic/tclIOUtil.c:
3759        * generic/tclPosixStr.c:
3760        * generic/tclTest.c:
3761        * generic/tclTestObj.c:
3762        * tests/get.test:
3763        * win/Makefile.vc: Further tweaks to the TIP 72 patch to make it
3764        compile under VC++.
3765
37662002-02-15  Andreas Kupries  <andreas_kupries@users.sourceforge.net>
3767
3768        * tclExecute.c:
3769        * tclIOGT.c:
3770        * tclIndexObj.c: Touchups to the TIP 72 patch to make it compileable
3771        under Windows again. The changes are not complete, there is one nasty
3772        regarding _stati64
3773
37742002-02-15  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
3775
3776        +----------------------+
3777        | TIP #72 IMPLEMENTED. |
3778        +----------------------+
3779
3780        There are a lot of changes from this TIP, so please see
3781        http://purl.org/tcl/tip/72.html for discussion of
3782        backward-compatability issues, but the main ones modifications are in:
3783
3784        * generic/tcl.h: New types.
3785        * generic/tcl.decls: New public functions.
3786        * generic/tclExecute.c: 64-bit aware bytecode engine.
3787        * generic/tclBinary.c: 64-bit handling in [binary] command.
3788        * generic/tclScan.c: 64-bit handling in [scan] command.
3789        * generic/tclCmdAH.c: 64-bit handling in [file] and [format]
3790        commands.
3791        * generic/tclBasic.c: New "wordSize" entry in ::tcl_platform.
3792        * generic/tclFCmd.c: Large-file support (with many consequences.)
3793        * generic/tclIO.c: Large-file support (with many consequences.)
3794        * compat/strtoll.c, compat/strtoull.c: New support functions.
3795        * unix/tcl.m4, unix/configure: 64-bit support and greatly enhanced
3796        cacheing.
3797
3798        Most other changes, including all those in doc/* and test/* as well as
3799        the majority in the platform directories, follow on from these.
3800
3801        Also coming out of the woodwork:
3802        * generic/tclIndex.c: Better support for Cray PVP.
3803        * win/tclWinMtherr.c: Better Borland support.
3804
3805        Note that, in a number of places through the Unix part of the platform
3806        support, there are Tcl_Platform* references. These are expanded into
3807        the correct way to call that particular underlying function, i.e. with
3808        or without a '64' suffix, and should be used by people working on the
3809        core in preference to the API functions they overlay so that the code
3810        remains portable depending on the presence or absence of 64-bit
3811        support on the underlying platform.
3812
3813        ***POTENTIAL INCOMPATIBILITY***: Extracted from the TIP
3814
3815        SUMMARY OF INCOMPATIBILITIES AND FIXES
3816        ======================================
3817
3818        The behaviour of expressions containing constants that appear positive
3819        but which have a negative internal representation will change, as
3820        these will now usually be interpreted as wide integers. This is always
3821        fixable by replacing the constant with int(constant).
3822
3823        Extensions creating new channel types will need to be altered as
3824        different types are now in use in those areas. The change to the
3825        declaration of Tcl_FSStat and Tcl_FSLstat (which are the new preferred
3826        API in any case) are less serious as no non-alpha releases have been
3827        made yet with those API functions.
3828
3829        Scripts that are lax about the use of the l modifier in format and
3830        scan will probably need to be rewritten. This should be very uncommon
3831        though as previously it had absolutely no effect.
3832
3833        Extensions that create new math functions that take more than one
3834        argument will need to be recompiled (the size of Tcl_Value changes),
3835        and functions that accept arguments of any type (TCL_EITHER) will need
3836        to be rewritten to handle wide integer values. (I do not expect this
3837        to affect many extensions at all.)
3838
38392002-02-14  Andreas Kupries  <andreas_kupries@users.sourceforge.net>
3840
3841        * generic/tclIOCmd.c (Tcl_GetsObjCmd): Trivial fix for [Bug 517503], a
3842        memory leak reported by Miguel Sofer <msofer@users.sf.net>. The leak
3843        happens if an error occurs for "set var [gets $chan]" and leak one
3844        empty object.
3845
38462002-02-12  David Gravereaux <davygrvy@pobox.com>
3847
3848        * djgpp/ (new directory)
3849        * djgpp/Makefile (new):
3850        * unix/tclAppInit.c:
3851        * unix/tclMtherr.c:
3852        * unix/tclUnixFCmd.c:
3853        * unix/tclUnixFile.c:
3854        * unix/tclUnixInit.c:
3855        * unix/tclUnixPort.h:  Early stage of DJGPP support for building Tcl
3856        on DOS. Dynamic loading isn't working, yet. Requires watt32 for the
3857        TCP/IP stack. No autoconf, yet. Barely tested, but makes a working exe
3858        that runs Tcl in protected-mode, flat memory. [exec] and pipes will
3859        need the most work as multi-tasking on DOS has to be carefully.
3860
38612002-02-10  Kevin Kenny  <kennykb@acm.org>
3862
3863        * doc/CrtObjCmd.3:
3864        * doc/CrtTrace.3:
3865        * generic/tcl.decls:
3866        * generic/tcl.h:
3867        * generic/tclBasic.c:
3868        * generic/tclInt.h:
3869        * generic/tclTest.c:
3870        * tests/basic.test: Added Tcl_CreateObjTrace,
3871        Tcl_GetCommandInfoFromToken and Tcl_SetCommandInfoFromToken.
3872        (TIPs #32 and #79.)
3873
3874        * generic/tclDecls.h:
3875        * generic/tclStubInit.c: Regenerated Stubs tables.
3876
38772002-02-08  Jeff Hobbs  <jeffh@ActiveState.com>
3878
3879        * unix/configure:
3880        * unix/tcl.m4: added -pthread for FreeBSD to EXTRA_CFLAGS and
3881        LDFLAGS. Also triggered nodots only for FreeBSD-3. Added
3882        AC_DEFINE(_POSIX_PTHREAD_SEMANTICS) for Solaris.
3883
3884        * unix/tclUnixPort.h:
3885        * unix/tclUnixThrd.c: added thread-safe versions of readdir,
3886        localtime, gmtime and inet_ntoa for threaded build. (jgdavidson)
3887
3888        * generic/tclScan.c (Tcl_ScanObjCmd): prevented ckfree being called on
3889        a pointer to NULL.
3890
38912002-02-07  Don Porter <dgp@users.sourceforge.net>
3892
3893        * doc/DString.3:
3894        * doc/Encoding.3:
3895        * doc/GetCwd.3:
3896        * doc/SplitPath.3:
3897        * doc/Translate.3:
3898        * doc/Utf.3:
3899        * generic/tcl.decls:
3900        * generic/tcl.h:
3901        * generic/tclEncoding.c:
3902        * generic/tclEnv.c:
3903        * generic/tclFileName.c:
3904        * generic/tclIOUtil.c:
3905        * generic/tclUtf.c:
3906        * generic/tclUtil.c:
3907        * mac/tclMacInit.c:
3908        * unix/tclUnixFile.c:
3909        * unix/tclUnixInit.c:
3910        * unix/tclUnixPipe.c:
3911        * win/tclWin32Dll.c:
3912        * win/tclWinFCmd.c:
3913        * win/tclWinFile.c:
3914        * win/tclWinInit.c: Partial TIP 27 rollback. Following routines
3915        restored to return (char *): Tcl_DStringAppend,
3916        Tcl_DStringAppendElement, Tcl_JoinPath, Tcl_TranslateFileName,
3917        Tcl_ExternalToUtfDString, Tcl_UtfToExternalDString,
3918        Tcl_UniCharToUtfDString, Tcl_GetCwd, Tcl_WinTCharToUtf. Also restored
3919        Tcl_WinUtfToTChar to return (TCHAR *) and Tcl_UtfToUniCharDString to
3920        return (Tcl_UniChar *). Modified some callers. This change recognizes
3921        that Tcl_DStrings are de-facto white-box objects.
3922
3923        * generic/tclDecls.h:
3924        * generic/tclPlatDecls.h: make genstubs
3925
3926        * generic/tclCmdMZ.c: corrected use of C++-style comment.
3927
39282002-02-06  Jeff Hobbs  <jeffh@ActiveState.com>
3929
3930        * tests/scan.test:
3931        * generic/tclScan.c (Tcl_ScanObjCmd): corrected scan 0x... %x handling
3932        that didn't accept the 0x as a prelude to a base 16 number. [Bug
3933        495213]
3934
3935        * generic/tclCompCmds.c (TclCompileRegexpCmd): made early check for
3936        bad RE to stop checking further.
3937
3938        * generic/tclCmdMZ.c (Tcl_RegsubObjCmd): added special case to search
3939        for simple 'string map' style regsub calls. Delayed creation of
3940        resultPtr object until an initial match is made, as the input string
3941        object can then be reused for no matches.
3942        (Tcl_StringObjCmd): optimization improvements to the STR_MAP
3943        algorithm for zero-length and nocase cases.
3944
3945        * tests/regexp.test:
3946        * tests/regexpComp.test: extra code coverage tests.
3947
3948        * tests/string.test: added 10.18 and 10.19 extra tests.
3949
3950        * generic/regc_locale.c (casecmp): slight performance improvement.
3951
39522002-02-05  Don Porter <dgp@users.sourceforge.net>
3953
3954        * library/http/http.tcl:
3955        * library/http/pkgIndex.tcl:  Corrected use of http::error when
3956        ::error was intended. Bump to http 2.4.2.
3957
39582002-02-04  Andreas Kupries  <andreas_kupries@users.sourceforge.net>
3959
3960        * unix/tclUnixChan.c (FileOutputProc): Fixed [bug 465765] reported by
3961        Dale Talcott <daletalcott@users.sourceforge.net>. Avoid writing
3962        nothing into a file as STREAM based implementations will consider this
3963        a EOF (if the file is a pipe). Not done in the generic layer as this
3964        type of writing is actually useful to check the state of a socket.
3965
3966        * doc/open.n: Fixed [Bug 511540], added cross-reference to 'pid' as
3967        the command to use to retrieve the pid of a command pipeline created
3968        via 'open'.
3969
39702002-02-01  Jeff Hobbs  <jeffh@ActiveState.com>
3971
3972        * generic/tclCmdMZ.c (Tcl_RegexpObjCmd): handle quirky about case
3973        earlier to avoid shimmering problem.
3974
39752002-02-01  Andreas Kupries  <andreas_kupries@users.sourceforge.net>
3976
3977        * tests/io.test: io-39.22 split into two tests, one platform
3978        dependent, the other not. -eofchar is not empty on the windows
3979        platform.
3980
39812002-02-01  Vince Darley <vincentdarley@users.sourceforge.net>
3982
3983        * generic/tclTest.c: fix to picky windows compiler problem with the
3984        'MainLoop' function declaration.
3985
39862002-01-31  Andreas Kupries  <andreas_kupries@users.sourceforge.net>
3987
3988        * win/tclWinFCmd.c: TIP 27: Applied patch fixing CONST warnings on
3989        behalf of Don Porter <dgp@users.sourceforge.net>.
3990
39912002-01-30  Don Porter <dgp@users.sourceforge.net>
3992
3993        * generic/tcl.decls:
3994        * generic/tcl.h:
3995        * generic/tclInt.h: For each interface identified in the TIP 27
3996        changes below as a POTENTIAL INCOMPATIBILITY, the source of the
3997        incompatibility has been parameterized so that it can be removed. When
3998        compiling extension code against the Tcl header files, use the
3999        compiler flag -DUSE_NON_CONST to remove the irresolvable source
4000        incompatibilities introduced by the TIP 27 changes. Resolvable changes
4001        are left for extension authors to resolve.
4002        * generic/tclDecls.h: make genstubs
4003
40042002-01-30  Vince Darley <vincentdarley@users.sourceforge.net>
4005
4006        * doc/FileSystem.3: added documentation for 3 public functions which
4007        had been overlooked. [Bug 507701]
4008        * unix/mkLinks: make mklinks
4009
40102002-01-29  Jeff Hobbs  <jeffh@ActiveState.com>
4011
4012        * tests/regexpComp.test:
4013        * generic/tclCompCmds.c (TclCompileRegexpCmd): enhanced to support
4014        -nocase and -- options.
4015
40162002-01-28  Mo DeJong  <mdejong@users.sourceforge.net>
4017
4018        * unix/tcl.m4 (SC_LOAD_TCLCONFIG):
4019        * win/tcl.m4 (SC_LOAD_TCLCONFIG): Set TCL_LIB_SPEC, TCL_STUB_LIB_SPEC,
4020        and TCL_STUB_LIB_PATH to the values of TCL_BUILD_LIB_SPEC,
4021        TCL_BUILD_STUB_LIB_SPEC, and TCL_BUILD_STUB_LIB_PATH when tclConfig.sh
4022        is loaded from the build directory. A Tcl extension should make use of
4023        the non-build versions of these variables since they will work in both
4024        cases. This modification was described in TIP 34.
4025
40262002-01-28  Jeff Hobbs  <jeffh@ActiveState.com>
4027
4028        * win/tclWinReg.c (regConnectRegistryProc,RecursiveDeleteKey)
4029        (DeleteKey,GetKeyNames,GetType,GetValue,OpenSubKey,SetValue):
4030        redid the CONSTification as previous changes caused failing tests.
4031
4032        * tests/regexpComp.test (new):
4033        * generic/tclInt.h:
4034        * generic/tclBasic.c: added TclCompileRegexpCmd entry
4035        * generic/tclCompCmds.c (TclCompileStringCmd): corrected to return
4036        TCL_OUT_LINE_COMPILE instead of TCL_ERROR for parsing errors, so
4037        it only throws the error for runtime compile, in case the user
4038        modifies 'string'.
4039        (TclCompileRegexpCmd): first try at a byte-compiled regexp command. It
4040        handles static strings and ^$ bounded static strings.
4041        (TclCompileAppendCmd): made TclPushVarName call always use
4042        TCL_CREATE_VAR as numWords is always > 2 at that point.
4043
4044        * generic/tclExecute.c (TclExecuteByteCode:INST_LIST): correct
4045        possibly dangerous decr in macro call.
4046
4047        * win/tclWinInit.c (TclpFindVariable): CONSTification touch-up
4048
4049        * win/tclWinReg.c (OpenSubKey): corrected bug introduced in
4050        CONSTification that dropped pointer reference.
4051
4052        * ChangeLog.2000 (new file):
4053        * ChangeLog: broke changes from 2000 into ChangeLog.2000 to reduce
4054        size of the main ChangeLog.
4055
40562002-01-28  David Gravereaux <davygrvy@pobox.com>
4057
4058        * generic/tclPlatDecls.h:  Added preprocessor logic to force a
4059        typedef of TCHAR when __STDC__ is defined when using the uncommon
4060        -Za compiler switch with the microsoft compiler.
4061
40622002-01-27  Don Porter <dgp@users.sourceforge.net>
4063
4064        * doc/package.n: Documented global namespace context for script
4065        evaluation by [package require].
4066
40672002-01-27  Daniel Steffen  <das@users.sourceforge.net>
4068
4069        * generic/tclInt.decls:
4070        * generic/tclIntPlatDecls.h:
4071        * mac/tclMacChan.c:
4072        * mac/tclMacFCmd.c:
4073        * mac/tclMacFile.c:
4074        * mac/tclMacInit.c:
4075        * mac/tclMacLoad.c:
4076        * mac/tclMacResource.c:
4077        * mac/tclMacSock.c: TIP 27 CONSTification induced changes
4078
4079        * tests/event.test:
4080        * tests/main.test: added catches/constraints to test that
4081        use features that don't exist on the mac.
4082
40832002-01-25  Mo DeJong  <mdejong@users.sourceforge.net>
4084
4085        Make -eofchar and -translation options read only for server sockets.
4086        [Bug 496733]
4087
4088        * generic/tclIO.c (Tcl_GetChannelOption, Tcl_SetChannelOption):
4089        Instead of returning nothing for the -translation option on a server
4090        socket, always return "auto". Return the empty string enclosed in
4091        quotes for the -eofchar option on a server socket. Fixup -eofchar
4092        usage message so that it matches the implementation.
4093        * tests/io.test: Add -eofchar tests and -translation tests to ensure
4094        options are read only on server sockets.
4095        * tests/socket.test: Update tests to account for -eofchar and
4096        -translation option changes.
4097
40982002-01-25  Don Porter <dgp@users.sourceforge.net>
4099
4100        * compat/strstr.c (strstr):
4101        * generic/tclCmdAH.c (Tcl_FormatObjCmd):
4102        * generic/tclCmdIL.c (InfoNameOfExecutableCmd):
4103        * generic/tclEnv.c (ReplaceString):
4104        * generic/tclFileName.c (ExtractWinRoot):
4105        * generic/tclIO.c (FlushChannel,Tcl_BadChannelOption):
4106        * generic/tclStringObj.c (AppendUnicodeToUtfRep):
4107        * generic/tclThreadTest.c (TclCreateThread):
4108        * generic/tclUtf.c (Tcl_UtfPrev):
4109        * mac/tclMacFCmd.c (TclpObjListVolumes):
4110        * mac/tclMacResource.c (TclMacRegisterResourceFork,
4111        (BuildResourceForkList):
4112        * win/tclWinInit.c (AppendEnvironment):  Sought out and eliminated
4113        instances of CONST-casting that are no longer needed after the
4114        TIP 27 effort.
4115
4116        * Following is [Patch 501006]
4117        * generic/tclInt.decls (Tcl_AddInterpResolvers, Tcl_Export,
4118        (Tcl_FindNamespace, Tcl_GetInterpResolvers, Tcl_ForgetImport,
4119        (Tcl_Import, Tcl_RemoveInterpResolvers):
4120        * generic/tclNamesp.c (Tcl_Export, Tcl_Import, Tcl_ForgetImport,
4121        (Tcl_FindNamespace):
4122        * generic/tclResolve.c (Tcl_AddInterpResolvers,Tcl_GetInterpResolvers,
4123        (Tcl_RemoveInterpResolvers): Updated APIs in generic/tclResolve.c and
4124        generic/tclNamesp.c according to the guidelines of TIP 27.
4125        * generic/tclIntDecls.h: make genstubs
4126
4127        * Following is [Patch 505630]
4128        * doc/AddErrorInfo.3:
4129        * generic/tcl.decls (Tcl_LogCommandInfo):
4130        * generic/tclBasic.c (Tcl_LogCommandInfo): Updated interfaces
4131        of generic/tclBasic.cc according to TIP 27.
4132        * generic/tclDecls.h: make genstubs
4133
4134        * Following is [Patch 506818]
4135        * doc/Hash.3:
4136        * generic/tcl.decls (Tcl_HashStats):
4137        * generic/tclHash.c (Tcl_HashStats):  Updated APIs of generic/tclHash.c
4138        according to guidelines of TIP 27.
4139        * generic/tclDecls.h: make genstubs
4140        * generic/tclVar.c (Tcl_ArrayObjCmd): Updated callers.
4141
4142        * Following is [Patch 506807]
4143        * doc/ObjectType.3:
4144        * generic/tcl.decls (Tcl_GetObjType):
4145        * generic/tclObj.c (Tcl_GetObjType): Updated APIs of generic/tclObj.c
4146        according to guidelines of TIP 27.
4147        * generic/tclDecls.h: make genstubs
4148
4149        * Following is [Patch 507304]
4150        * doc/Encoding.3:
4151        * generic/tcl.decls (Tcl_WinUtfToTChar,Tcl_WinTCharToUtf):
4152        * win/tclWin32Dll.c (Tcl_WinUtfToTChar,Tcl_WinTCharToUtf):
4153        Updated interfaces in win/tclWin32Dll.c according to TIP 27.
4154        * generic/tclPlatDecls.h: make genstubs
4155        * generic/tclIOUtil.c (TclpNativeToNormalized):
4156        * win/tclWinFCmd.c (TclpObjNormalizePath):
4157        * win/tclWinFile.c (TclpFindExecutable,TclpMatchInDirectory,
4158        (NativeIsExec,NativeStat):
4159        * win/tclWinLoad.c (TclpLoadFile):
4160        * win/tclWinPipe.c (TclpOpenFile,ApplicationType):
4161        * win/tclWinReg.c (regConnectRegistryProc,RecursiveDeleteKey,DeleteKey,
4162        (GetKeyNames,GetType,GetValue,OpenSubKey,SetValue):
4163        * win/tclWinSerial.c (SerialSetOptionProc): Update callers.
4164
4165        * Following is [Patch 505072]
4166        * doc/Concat.3:
4167        * doc/Encoding.3:
4168        * doc/Filesystem.3:
4169        * doc/Macintosh.3:
4170        * doc/OpenFileChnl.3
4171        * doc/SetResult.3:
4172        * doc/SetVar.3:
4173        * doc/SplitList.3:
4174        * doc/SplitPath.3:
4175        * doc/Translate.3:
4176        * generic/tcl.h (Tcl_FSMatchInDirectoryProc):
4177        * generic/tclInt.h (TclpMatchInDirectory):
4178        * generic/tcl.decls (Tcl_Concat,Tcl_GetStringResult,Tcl_GetVar,
4179        (Tcl_GetVar2,Tcl_JoinPath,Tcl_Merge,Tcl_OpenCommandChannel,Tcl_SetVar,
4180        (Tcl_SetVar2,Tcl_SplitList,Tcl_SplitPath,Tcl_TranslateFileName,
4181        (Tcl_ExternalToUtfDString,Tcl_GetEncodingName,Tcl_UtfToExternalDString,
4182        (Tcl_GetDefaultEncodingDir,Tcl_SetDefaultEncodingDir,
4183        (Tcl_FSMatchInDirectory,Tcl_MacEvalResource,Tcl_MacFindResource):
4184        * generic/tclInt.decls (TclCreatePipeline,TclGetEnv,TclpGetCwd,
4185        (TclpCreateProcess):
4186        * mac/tclMacFile.c (TclpGetCwd):
4187        * generic/tclEncoding.c (Tcl_GetDefaultEncodingDir,
4188        (Tcl_SetDefaultEncodingDir,Tcl_GetEncodingName,
4189        (Tcl_ExternalToUtfDString,Tcl_UtfToExternalDString, OpenEncodingFile,
4190        (LoadEscapeEncoding):
4191        * generic/tclFileName.c (DoTildeSubst,Tcl_JoinPath,Tcl_SplitPath,
4192        (Tcl_TranslateFileName):
4193        * generic/tclIOUtil.c (Tcl_FSMatchInDirectory):
4194        * generic/tclPipe.c (FileForRedirect,TclCreatePipeline,
4195        (Tcl_OpenCommandChannel):
4196        * generic/tclResult.c (Tcl_GetStringResult):
4197        * generic/tclUtil.c (Tcl_Concat,Tcl_SplitList,Tcl_Merge):
4198        * generic/tclVar.c (Tcl_GetVar,Tcl_GetVar2,Tcl_SetVar,Tcl_SetVar2):
4199        * mac/tclMacResource.c (Tcl_MacEvalResource,Tcl_MacFindResource):
4200        Updated interfaces of generic/tclEncoding, generic/tclFilename.c,
4201        generic/tclIOUtil.c, generic/tclPipe.c, generic/tclResult.c,
4202        generic/tclUtil.c, generic/tclVar.c and mac/tclMacResource.c according
4203        to TIP 27. Tcl_TranslateFileName rewritten as wrapper around VFS-aware
4204        version.
4205        ***POTENTIAL INCOMPATIBILITY***
4206        Includes source incompatibilities: argv arguments of Tcl_Concat,
4207        Tcl_JoinPath, Tcl_OpenCommandChannel, Tcl_Merge; argvPtr arguments of
4208        Tcl_SplitList and Tcl_SplitPath.
4209        * generic/tclDecls.h:
4210        * generic/tclIntDecls.h: make genstubs
4211
4212        * generic/tclCkalloc.c (MemoryCmd):
4213        * generic/tclClock.c (FormatClock):
4214        * generic/tclCmdAH.c (Tcl_CaseObjCmd,Tcl_EncodingObjCmd,Tcl_FileObjCmd):
4215        * generic/tclCmdIL.c (InfoLibraryCmd,InfoPatchLevelCmd,
4216        (InfoTclVersionCmd):
4217        * generic/tclCompCmds.c (TclCompileForeachCmd):
4218        * generic/tclCompCmds.h (TclCompileForeachCmd):
4219        * generic/tclCompile.c (TclFindCompiledLocal):
4220        * generic/tclEnv.c (TclSetupEnv,TclSetEnv,Tcl_PutEnv,TclGetEnv,
4221        (EnvTraceProc):
4222        * generic/tclEvent.c (Tcl_BackgroundError):
4223        * generic/tclIO.c (Tcl_BadChannelOption,Tcl_SetChannelOption):
4224        * generic/tclIOCmd.c (Tcl_ExecObjCmd,Tcl_OpenObjCmd):
4225        * generic/tclIOSock.c (TclSockGetPort):
4226        * generic/tclIOUtil.c (SetFsPathFromAny):
4227        * generic/tclLink.c (LinkTraceProc):
4228        * generic/tclMain.c (Tcl_Main):
4229        * generic/tclNamesp.c (TclTeardownNamespace):
4230        * generic/tclProc.c (TclCreateProc):
4231        * generic/tclTest.c (TestregexpObjCmd,TesttranslatefilenameCmd,
4232        (TestchmodCmd,GetTimesCmd,TestsetCmd,TestOpenFileChannelProc1,
4233        (TestOpenFileChannelProc2,TestOpenFileChannelProc3,AsyncHandlerProc,
4234        (TestpanicCmd):
4235        * generic/tclThreadTest.c (ThreadErrorProc,ThreadEventProc):
4236        * generic/tclUtil.c (TclPrecTraceProc):
4237        * mac/tclMacFCmd.c (GetFileSpecs):
4238        * mac/tclMacFile.c (TclpMatchInDirectory):
4239        * mac/tclMacInit.c (TclpInitLibraryPath,Tcl_SourceRCFile):
4240        * mac/tclMacOSA.c (tclOSAStore,tclOSALoad):
4241        * mac/tclMacResource.c (Tcl_MacEvalResource):
4242        * unix/tclUnixFCmd.c (TclpObjNormalizePath):
4243        * unix/tclUnixFile.c (TclpMatchInDirectory,TclpGetUserHome,TclpGetCwd,
4244        (TclpReadLink):
4245        * unix/tclUnixInit.c (TclpInitLibraryPath,TclpSetVariables,
4246        (Tcl_SourceRCFile):
4247        * unix/tclUnixPipe.c (TclpOpenFile,TclpCreateTempFile,
4248        (TclpCreateProcess):
4249        * win/tclWinFile.c (TclpGetCwd,TclpMatchInDirectory):
4250        * win/tclWinInit.c (TclpInitLibraryPath,Tcl_SourceRCFile,
4251        (TclpSetVariables):
4252        * win/tclWinPipe.c (TclpCreateProcess): Updated callers.
4253
42542002-01-24  Don Porter <dgp@users.sourceforge.net>
4255
4256        * generic/tclIOUtil.c (SetFsPathFromAny):  Corrected tilde-substitution
4257        of pathnames where > 1 separator follows the ~. [Bug 504950]
4258
42592002-01-24  Jeff Hobbs  <jeffh@ActiveState.com>
4260
4261        * library/http/pkgIndex.tcl:
4262        * library/http/http.tcl: don't add port in default case to handle
4263        broken servers. http bumped to 2.4.1  [Bug 504508]
4264
42652002-01-23  Andreas Kupries  <andreas_kupries@users.sourceforge.net>
4266
4267        * unix/mkLinks: Regenerated.
4268        * doc/CrtChannel.3:
4269        * doc/ChnlStack.3: Moved documentation for 'Tcl_GetTopChannel' from
4270        'CrtChannel' to 'ChnlStack'. Added documentation of
4271        'Tcl_GetStackedChannel'. [Bug 506147] reported by Mark Patton
4272        <msp@users.sourceforge.net>.
4273
42742002-01-23  Don Porter <dgp@users.sourceforge.net>
4275
4276        * win/tclWinFile.c (NativeAccess,NativeStat,NativeIsExec,
4277        (TclpGetUserHome):
4278        * win/tclWinPort.h (TclWinSerialReopen):
4279        * win/tclWinSerial.c (TclWinSerialReopen):
4280        * win/tclWinSock.c (Tcl_OpenTcpServer):  Corrections to earlier TIP 27
4281        changes. Thanks to Andreas Kupries for the feedback.
4282        * generic/tclPlatDecls.h: make genstubs
4283
4284        * doc/GetHostName.3:
4285        * doc/GetOpnFl.3:
4286        * doc/OpenTcp.3:
4287        * tcl.decls (Tcl_GetHostName,Tcl_GetOpenFile,Tcl_OpenTcpClient,
4288        (Tcl_OpenTclServer):
4289        * mac/tclMacSock.c (CreateSocket,Tcl_OpenTcpClient,Tcl_OpenTcpServer,
4290        (Tcl_GetHostName,GetHostFromString):
4291        * unix/tclUnixChan.c (CreateSocket,CreateSocketAddress,
4292        (Tcl_OpenTcpClient,Tcl_OpenTcpServer,Tcl_GetOpenFile):
4293        * unix/tclUnixSock.c (Tcl_GetHostName):
4294        * win/tclWinSock.c (CreateSocket,CreateSocketAddress,
4295        (Tcl_OpenTcpClient,Tcl_OpenTcpServer,Tcl_GetHostName):
4296        Updated socket interfaces according to TIP 27.
4297        * generic/tclCmdIL.c (InfoHostnameCmd): Updated callers.
4298        * generic/tclDecls.h: make genstubs
4299
43002002-01-21  David Gravereaux <davygrvy@pobox.com>
4301
4302        * generic/tclLoadNone.c: TclpLoadFile() didn't match proto of typedef
4303        Tcl_FSLoadFileProc. OK'd by vincentdarley. [Patch 502488]
4304
43052002-01-21  Andreas Kupries  <andreas_kupries@users.sourceforge.net>
4306
4307        * generic/tclIO.c (WriteChars): Fix for [Bug 506297], reported by
4308        Martin Forssen <ruric@users.sourceforge.net>. The encoding chosen in
4309        the script exposing the bug writes out three intro characters when
4310        TCL_ENCODING_START is set, but does not consume any input as
4311        TCL_ENCODING_END is cleared. As some output was generated the
4312        enclosing loop calls UtfToExternal again, again with START set. Three
4313        more characters in the out and still no use of input ... To break this
4314        infinite loop we remove TCL_ENCODING_START from the set of flags after
4315        the first call (no condition is required, the later calls remove an
4316        unset flag, which is a no-op). This causes the subsequent calls to
4317        UtfToExternal to consume and convert the actual input.
4318
43192002-01-21  Don Porter <dgp@users.sourceforge.net>
4320
4321        * generic/tclTest.c: Converted declarations of TestReport file system
4322        to more portable form. [Bug 501417]
4323
4324        * generic/tcl.decls (Tcl_TraceCommand,Tcl_UntraceCommand,
4325        (Tcl_CommandTraceInfo):
4326        * generic/tclCmdMZ.c (Tcl_TraceCommand,Tcl_UntraceCommand,
4327        (Tcl_CommandTraceInfo): Updated APIs in generic/tclCmdMZ.c according
4328        to the guidelines of TIP 27.
4329        * generic/tclDecls.h: make genstubs
4330
43312002-01-18  Don Porter <dgp@users.sourceforge.net>
4332
4333        * win/tclWinChan.c:
4334        * win/tclWinFCmd.c:
4335        * win/tclWinFile.c: Overlooked callers of Tcl_FSGetNativePath
4336
4337        * win/tclWinDde.c:
4338        * win/tclWinReg.c: Overlooked callers of Tcl_GetIndexFromObj
4339
43402002-01-18  Daniel Steffen  <das@users.sourceforge.net>
4341
4342        * generic/tclThreadTest.c:
4343        * mac/tclMacChan.c:
4344        * mac/tclMacFCmd.c:
4345        * mac/tclMacFile.c:
4346        * mac/tclMacLoad.c:
4347        * mac/tclMacResource.c: TIP 27 CONSTification broke the mac build in a
4348        number of places.
4349
43502002-01-17  Andreas Kupries  <andreas_kupries@users.sourceforge.net>
4351
4352        * generic/tclIOCmd.c (Tcl_GetsObjCmd): Fixed [Bug 504642] as reported
4353        by Brian Griffin <bgriffin@users.sourceforge.net>, using his
4354        patch. Before the patch the generic I/O layer held an unannounced
4355        reference to the interp result to store the read line into. This
4356        unfortunately has disastrous results if the channel driver executes a
4357        tcl script to perform its operation, this freeing the interp
4358        result. In that case we are dereferencing essentially a dangling
4359        reference. It is not truly dangling because the object is in the free
4360        list, but this only causes us to smash the free list and have the
4361        error occur later somewhere else. The patch simply creates a new
4362        object for the line and later sets it into the interp result when we
4363        are done with reading.
4364
43652002-01-16  Mo DeJong  <mdejong@users.sourceforge.net>
4366
4367        * unix/tcl.m4 (SC_LOAD_TCLCONFIG):
4368        * win/tcl.m4 (SC_LOAD_TCLCONFIG): Subst TCL_DBGX into
4369        TCL_STUB_LIB_FILE and TCL_STUB_LIB_FLAG variables so that an extension
4370        does not need to subst TCL_DBGX into its makefile. [Tk Bug 504356]
4371
43722002-01-16  Don Porter <dgp@users.sourceforge.net>
4373
4374        * doc/FileSystem.3:
4375        * doc/GetCwd.3:
4376        * doc/GetIndex.3:
4377        * generic/tcl.decls (Tcl_GetIndexFromObj, Tcl_GetIndexFromObjStruct,
4378        (Tcl_GetCwd, Tcl_FSFileAttrStrings, Tcl_FSGetNativePath,
4379        (Tcl_FSGetTranslatedStringPath):
4380        * generic/tcl.h (Tcl_FSFileAttrStringsProc):
4381        * generic/tclFCmd.c (TclFileAttrsCmd):
4382        * generic/tclIOUtil.c (Tcl_GetCwd,NativeFileAttrStrings,
4383        (Tcl_FSFileAttrStrings,Tcl_FSGetTranslatedStringPath,
4384        (Tcl_FSGetNativePath):
4385        * generic/tclIndexObj.c (Tcl_GetIndexFromObj,
4386        (Tcl_GetIndexFromObjStruct):
4387        More TIP 27 updates in tclIOUtil.c and tclIndexObj.c that were
4388        overlooked before. [Patch 504671]
4389        ***POTENTIAL INCOMPATIBILITY***
4390        Includes a source incompatibility in the tablePtr arguments of the
4391        Tcl_GetIndexFromObj* routines.
4392        * generic/tclDecls.h: make genstubs
4393
4394        * generic/tclBinary.c (Tcl_BinaryObjCmd):
4395        * generic/tclClock.c (Tcl_ClockObjCmd):
4396        * generic/tclCmdAH.c (Tcl_EncodingObjCmd, Tcl_FileObjCmd):
4397        * generic/tclCmdIL.c (Tcl_InfoObjCmd,Tcl_LsearchObjCmd,Tcl_LsortObjCmd):
4398        * generic/tclCmdMZ.c (Tcl_TraceObjCmd,Tcl_RegexpObjCmd,Tcl_RegsubObjCmd,
4399        (Tcl_StringObjCmd,Tcl_SubstObjCmd,Tcl_SwitchObjCmd,
4400        (TclTraceCommandObjCmd,TclTraceVariableObjCmd):
4401        * generic/tclCompCmds.c (TclCompileStringCmd):
4402        * generic/tclEvent.c (Tcl_UpdateObjCmd):
4403        * generic/tclFileName.c (Tcl_GlobObjCmd):
4404        * generic/tclIO.c (Tcl_FileEventObjCmd):
4405        * generic/tclIOCmd.c (Tcl_SeekObjCmd,Tcl_ExecObjCmd,Tcl_SocketObjCmd,
4406        (Tcl_FcopyObjCmd):
4407        * generic/tclInterp.c (Tcl_InterpObjCmd,SlaveObjCmd):
4408        * generic/tclNamesp.c (Tcl_NamespaceObjCmd):
4409        * generic/tclPkg.c (Tcl_PackageObjCmd):
4410        * generic/tclTest.c (Tcltest_Init,TestencodingObjCmd,TestgetplatformCmd,
4411        (TestlocaleCmd,TestregexpObjCmd,TestsaveresultCmd,
4412        (TestGetIndexFromObjStructObjCmd,TestReportFileAttrStrings):
4413        * generic/tclTestObj.c (TestindexObjCmd,TeststringObjCmd):
4414        * generic/tclTimer.c (Tcl_AfterObjCmd):
4415        * generic/tclVar.c (Tcl_ArrayObjCmd):
4416        * mac/tclMacFCmd.c (SetFileFinderAttributes):
4417        * unix/tclUnixChan.c (TclpOpenFileChannel):
4418        * unix/tclUnixFCmd.c (tclpFileAttrStrings):
4419        * unix/tclUnixFile.c (TclpObjAccess,TclpObjChdir,TclpObjStat,
4420        (TclpObjLstat):
4421        * win/tclWinFCmd.c (tclpFileAttrStrings): Updated callers.
4422
4423        * doc/RegExp.3:
4424        * doc/Utf.3:
4425        * generic/tcl.decls:
4426        * generic/tclInt.decls:
4427        * generic/tclRegexp.c:
4428        * generic/tclUtf.c:  Updated APIs in generic/tclUtf.c and
4429        generic/tclRegexp.c according to the guidelines of TIP 27.
4430        [Patch 471509]
4431
4432        * generic/regc_locale.c (element,cclass):
4433        * generic/tclCmdMZ.c (Tcl_StringObjCmd):
4434        * generic/tclFileName.c (TclpGetNativePathType,SplitMacPath):
4435        * generic/tclIO.c (ReadChars):
4436        * mac/tclMacLoad.c (TclpLoadFile):
4437        * win/tclWinFile.c (TclpGetUserHome): Updated callers.
4438
4439        * generic/tclDecls.h:
4440        * generic/tclIntDecls.h: make genstubs
4441
4442        * doc/ParseCmd.3 (Tcl_ParseVar):
4443        * generic/tcl.decls (Tcl_ParseVar):
4444        * generic/tclParse.c (Tcl_ParseVar):
4445        * generic/tclTest.c (TestparsevarObjCmd): Updated APIs in
4446        generic/tclParse.c according to the guidelines of TIP 27. Updated
4447        callers. [Patch 501046]
4448        * generic/tclDecls.h: make genstubs
4449
4450        * generic/tcl.decls (Tcl_RecordAndEval):
4451        * generic/tclDecls.h: make genstubs
4452        * generic/tclHistory.c (Tcl_RecordAndEval): Updated APIs in
4453        generic/tclHistory.c according to the guidelines of TIP 27.
4454        [Patch 504091]
4455
4456        * doc/CrtSlave.3:
4457        * generic/tcl.decls (Tcl_CreateAlias, Tcl_CreateAliasObj,
4458        (Tcl_CreateSlave, Tcl_GetAlias, Tcl_GetAliasObj, Tcl_GetSlave):
4459        * generic/tclInterp.c (Tcl_CreateAlias, Tcl_CreateAliasObj,
4460        (Tcl_CreateSlave, Tcl_GetAlias, Tcl_GetAliasObj, Tcl_GetSlave):
4461        Updated APIs in the file generic/tclInterp.c according to the
4462        guidelines of TIP 27. [Patch 501371]
4463        ***POTENTIAL INCOMPATIBILITY***
4464        Includes a source incompatibility in the targetCmdPtr arguments of the
4465        Tcl_GetAlias* routines.
4466
4467        * generic/tclDecls.h: make genstubs
4468
44692002-01-15  Don Porter <dgp@users.sourceforge.net>
4470
4471        * doc/SetErrno.3 (Tcl_ErrnoMsg): Corrected documentation for
4472        Tcl_ErrnoMsg; it takes an integer argument. Thanks to Georgios
4473        Petasis. [Bug 468183]
4474
4475        * doc/AddErrInfo.3 (Tcl_PosixError):
4476        * doc/Eval.3 (Tcl_EvalFile):
4477        * doc/FileSystem.c (Tcl_FSOpenFileChannel,Tcl_FSOpenFileChannelProc):
4478        * doc/OpenFileChnl.3 (Tcl_OpenFileChannel):
4479        * doc/SetErrno.3 (Tcl_ErrnoId,Tcl_ErrnoMsg):
4480        * doc/Signal.3 (Tcl_SignalId,Tcl_SignalMsg):
4481        * generic/tcl.decls (Tcl_ErrnoId,TclErrnoMsg,Tcl_EvalFile,
4482        (Tcl_OpenFileChannel,Tcl_PosixError,Tcl_SignalId,Tcl_SignalMsg,
4483        (Tcl_FSOpenFileChannel):
4484        * generic/tcl.h (Tcl_FSOpenFileChannelProc):
4485        * generic/tclIO.c (FlushChannel):
4486        * generic/tclIOUtil.c (Tcl_OpenFileChannel,Tcl_EvalFile,TclGetOpenMode,
4487        (Tcl_PosixError,Tcl_FSOpenFileChannel):
4488        * generic/tclInt.decls (TclGetOpenMode):
4489        * generic/tclInt.h (TclOpenFileChannelProc_,TclGetOpenMode,
4490        (TclpOpenFileChannel):
4491        * generic/tclPipe.c (TclCleanupChildren):
4492        * generic/tclPosixStr.c (Tcl_ErrnoId,Tcl_ErrnoMsg,Tcl_SignalId,
4493        (Tcl_SignalMsg):
4494        * generic.tclTest.c (PretendTclpOpenFileChannel,
4495        (TestOpenFileChannelProc1,TestOpenFileChannelProc2,
4496        (TestOpenFileChannelProc3,TestReportOpenFileChannel):
4497        * mac/tclMacChan.c (TclpOpenFileChannel):
4498        * unix/tclUnixChan.c (TclpOpenFileChannel):
4499        * win/tclWinChan.c (TclpOpenFileChannel): Updated APIs in
4500        generic/tclIOUtil.c and generic/tclPosixStr.c according to the
4501        guidelines of TIP 27. Updated callers. [Patch 499196]
4502
4503        * generic/tclDecls.h:
4504        * generic/tclIntDecls.h: make genstubs
4505
4506        * doc/CrtChannel.3:
4507        * doc/OpenFileChnl.3:
4508        * generic/tcl.decls:
4509        * generic/tclIO.h:
4510        * generic/tclIO.c (DoWrite, Tcl_RegisterChannel, Tcl_GetChannel,
4511        (Tcl_CreateChannel, Tcl_GetChannelName, CloseChannel, Tcl_Write,
4512        (Tcl_WriteRaw, Tcl_Ungets, Tcl_BadChannelOption, Tcl_GetChannelOption,
4513        (Tcl_SetChannelOption, Tcl_GetChannelNamesEx, Tcl_ChannelName):
4514        Updated APIs in the file generic/tclIO.c according to the guidelines
4515        of TIP 27. Several minor documentation corrections as well.
4516        [Patch 503565]
4517        * generic/tclDecls.h: make genstubs
4518
4519        * generic/tcl.h (Tcl_DriverOutputProc, Tcl_DriverGetOptionProc,
4520        (Tcl_DriverSetOptionProc):
4521        * generic/tclIOGT.c (TransformOutputProc, TransformGetOptionProc,
4522        (TransformSetOptionProc):
4523        * mac/tclMacChan.c (FileOutput, StdIOOutput):
4524        * man/tclMacSock.c (TcpGetOptionProc, TcpOutput):
4525        * unix/tclUnixChan.c (FileOutputProc, TcpGetOptionProc, TcpOutputProc,
4526        (TtyGetOptionProc, TtySetOptionProc):
4527        * unix/tclUnixPipe.c (PipeOuputProc):
4528        * win/tclWinChan.c (FileOutputProc):
4529        * win/tclWinConsole.c (ConsleOutputProc):
4530        * win/tclWinPipe.c (PipeOuputProc):
4531        * win/tclWinSerial.c (SerialOutputProc, SerialGetOptionProc,
4532        (SerialSetOptionProc):
4533        * win/tclWinSock.c (TcpGetOptionProc, TcpOutput): Updated channel
4534        driver interface according to the guidelines of TIP 27. See also
4535        [Bug 500348].
4536
4537        * doc/CrtChannel.3:
4538        * generic/tcl.h:
4539        * generic/tclIO.c:
4540        * generic/tclIO.h:
4541        * generic/tclInt.h:
4542        * tools/checkLibraryDoc.tcl:
4543        Moved Tcl_EolTranslation enum declaration from generic/tcl.h to
4544        generic/tclInt.h (renamed to TclEolTranslation). It is not used
4545        anywhere in Tcl's public interface.
4546
45472002-01-14  Don Porter <dgp@users.sourceforge.net>
4548
4549        * doc/GetIndex.3:
4550        * doc/WrongNumArgs.3:
4551        * generic/tcl.decls (Tcl_GetIndexFromObj, Tcl_GetIndexFromObjStruct,
4552        (Tcl_WrongNumArgs):
4553        * generic/tclIndexObj.c (Tcl_GetIndexFromObj,Tcl_GetIndexFromObjStruct,
4554        (Tcl_WrongNumArgs): Updated APIs in the file generic/tclIndexObj.c
4555        according to the guidelines of TIP 27. [Patch 501491]
4556        * generic/tclDecls.h: make genstubs
4557
45582002-01-11  Mo DeJong  <mdejong@users.sourceforge.net>
4559
4560        * unix/configure: Regen.
4561        * unix/configure.in:
4562        * win/configure: Regen.
4563        * win/configure.in: Use ${libdir} instead of ${exec_prefix}/lib
4564        to properly support the --libdir option to configure. [Bug 489370]
4565
45662002-01-11  Andreas Kupries  <andreas_kupries@users.sourceforge.net>
4567
4568        * win/tclWinSerial.c (SerialSetOptionProc): Applied patch for [Bug
4569        500348] supplied by Rolf Schroedter <schroedter@users.sf.net>. The
4570        function modified the contents of the the 'value' string and now does
4571        not do this anymore. This is a followup to the change made on
4572        2001-12-17.
4573
45742002-01-11  David Gravereaux <davygrvy@pobox.com>
4575
4576        * win/makefile.vc: Removed -GD compiler option. It was intended for
4577        future use, but MS is again changing the future at their whim. The
4578        D4002 warning was harmless though, but someone using VC .NET logged it
4579        as a concern. [Bug 501565]
4580
45812002-01-11  Mo DeJong  <mdejong@users.sourceforge.net>
4582
4583        * unix/Makefile.in: Burn Tcl build directory into tcltest executable
4584        to avoid crashes caused by ld loading a previously installed version
4585        of the tcl shared library. [Bug 218110]
4586
45872002-01-10  Don Porter <dgp@users.sourceforge.net>,
4588        Kevin Kenny <kennykb@users.sourceforge.net>
4589
4590        * unix/tclLoadDld.c (TclpLoadFile):  syntax error: unbalanced parens.
4591        Kevin notes that it's far from clear that this file is ever included
4592        in an actual build; Linux without dlopen appears to be a nonexistent
4593        configuration.
4594
45952002-01-08  Don Porter <dgp@users.sourceforge.net>,
4596        Kevin Kenny <kennykb@users.sourceforge.net>
4597
4598        * doc/StaticPkg.3 (Tcl_StaticPackage):
4599        * generic/tcl.decls (Tcl_StaticPackage):
4600        * generic/tclDecls.h (Tcl_StaticPackage):
4601        * generic/tclInt.decls (TclGuessPackageName):
4602        * generic/tclInt.h (TclGuessPackageName):
4603        * generic/tclLoad.c (Tcl_StaticPackage):
4604        * generic/tclLoadNone.c (TclGuessPackageName):
4605        * mac/tclMacLoad.c (TclGuessPackageName):
4606        * unix/tclLoadAout.c (TclGuessPackageName):
4607        * unix/tclLoadDl.c (TclGuessPackageName):
4608        * unix/tclLoadDld.c (TclGuessPackageName):
4609        * unix/tclLoadDyld.c (TclGuessPackageName):
4610        * unix/tclLoadNext.c (TclGuessPackageName):
4611        * unix/tclLoadOSF.c (TclGuessPackageName):
4612        * unix/tclLoadShl.c (TclGuessPackageName):
4613        * win/tclWinLoad.c (TclGuessPackageName):  Updated APIs in the files
4614        */tcl*Load*.c according to the guidelines of TIP 27. [Patch 501096]
4615
46162002-01-09  Don Porter <dgp@users.sourceforge.net>
4617
4618        * generic/tclTest.c (MainLoop):
4619        * tests/main.test (Tcl_Main-1.{3,4,5,6}):  Corrected some non-portable
4620        tests from the new Tcl_Main changes. Thanks to Kevin Kenny.
4621
46222002-01-07  Don Porter <dgp@users.sourceforge.net>
4623
4624        * generic/tclEvent.c (TclInExit):
4625        * generic/tclIOUtil.c (SetFsPathFromAbsoluteNormalized,
4626        (SetFsPathFromAny,Tcl_FSNewNativePath,DupFsPathInternalRep):
4627        * generic/tclListObj.c (TclLsetList,TclLsetFlat):  Added some type
4628        casts to satisfy picky compilers.
4629
4630        * generic/tclMain.c:  Bug fix: neglected the NULL case in
4631        TclGetStartupScriptFileName(). Broke Tk/wish.
4632
46332002-01-05  Don Porter <dgp@users.sourceforge.net>
4634
4635        * doc/Tcl_Main.3:
4636        * generic/tclMain.c:  Substantial rewrite and expanded documentation
4637        of Tcl_Main to correct a number of bugs and flaws:
4638
4639          - Interactive Tcl_Main can now enter a main loop, exit that loop and
4640            continue interactive operations. The loop may even exit in the
4641            midst of interactive command typing without loss of the partial
4642            command. [Bugs 486453, 474131]
4643          - Tcl_Main now gracefully handles deletion of its master
4644            interpreter.
4645          - Interactive Tcl_Main can now operate with non-blocking stdin
4646          - Interactive Tcl_Main can now detect EOF on stdin even in
4647            mid-command. [Bug 491341]
4648          - Added VFS-aware internal routines for managing the startup script
4649            selection.
4650          - Tcl variable 'tcl_interactive' is now linked to C variable 'tty'
4651            so that one can disable/enable interactive prompts at the script
4652            level when there is no startup script. This is meant for use by
4653            the test suite.
4654          - Consistent use of the Tcl libraries standard channels as returned
4655            by Tcl_GetStdChannel(); as opposed to the channels named 'stdin',
4656            'stdout', and 'stderr' in the master interp, which can be
4657            different or unavailable.
4658          - Tcl_Main now calls Tcl_Exit() if evaluation of [exit] in the
4659            master interpreter returns, assuring Tcl_Main does not return.
4660          - Documented Tcl_Main's absence from public stub table
4661          - Documented that Tcl_Main does not return.
4662          - Documented Tcl variables set by Tcl_Main.
4663          - All prompts are done from a single procedure, Prompt.
4664          - Use of Tcl_Obj-enabled interfaces everywhere.
4665
4666        * generic/tclInt.decls (TclGetStartupScriptPath,
4667        (TclSetStartupScriptPath): New internal VFS-aware routines for
4668        managing the startup script of Tcl_Main.
4669        * generic/tclIntDecls.h:
4670        * generic/tclStubInit.c: make genstubs
4671
4672        * generic/tclTest.c (TestsetmainloopCmd,TestexitmainloopCmd,
4673        (Tcltest_Init,TestinterpdeleteCmd):
4674        * tests/main.test (new):  Added new file to test suite that thoroughly
4675        tests generic/tclMain.c; added some new test commands for testing
4676        Tcl_SetMainLoop().
4677
46782002-01-04  Don Porter <dgp@users.sourceforge.net>
4679
4680        * doc/Alloc.3:
4681        * doc/Concat.3:
4682        * doc/CrtMathFnc.3:
4683        * doc/Hash.3:
4684        * doc/Interp.3:
4685        * doc/LinkVar.3:
4686        * doc/ObjectType.3:
4687        * doc/PkgRequire.3:
4688        * doc/Preserve.3:
4689        * doc/SetResult.3:
4690        * doc/SplitList.3:
4691        * doc/SplitPath.3:
4692        * doc/TCL_MEM_DEBUG.3: Updated documentation to describe the ckalloc,
4693        ckfree, ckrealloc, attemptckalloc, and attemptckrealloc macros, and
4694        to accurately describe when and how they are used. [Bug 497459]
4695
4696        * generic/tclThreadJoin.c (TclRememberJoinableThread,TclJoinThread):
4697        Replaced Tcl_Alloc and Tcl_Free calls with ckalloc and ckfree so that
4698        memory debugging is supported.
4699
47002002-01-04  Daniel Steffen <das@users.sourceforge.net>
4701
4702        * mac/tclMacTime.c (TclpGetTZName): fix for daylight savings TZName bug
4703
47042002-01-03  Don Porter <dgp@users.sourceforge.net>
4705
4706        * doc/FileSystem.3:
4707        * generic/tclIOUtil.c: Updated some old uses of "fileName" to
4708        new VFS terminology, "pathPtr".
4709
47102002-01-03  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
4711
4712        * tests/basic.test (basic-39.4): Greatly simplified test while
4713        still leaving it so that it crashes when run without the fix to
4714        the [foreach] implementation.
4715        * generic/tclCmdAH.c (Tcl_ForeachObjCmd): Stopped [Bug 494348] from
4716        happening by not trying to be so clever with cacheing; if nothing
4717        untoward is happening anyway, the less efficient technique will
4718        only add a few instruction cycles (one function call and a few
4719        derefs/assigns per list per iteration, with no change in the
4720        number of tests) and if something odd *is* going on, the code is
4721        now far more robust.
4722
4723        * tests/basic.test (basic-39.4): Reproducable script from [Bug 494348]
4724
47252002-01-02  Donal K. Fellows  <fellowsd@cs.man.ac.uk>
4726
4727        * tests/util.test (Wrapper_Tcl_StringMatch,util-5.*): Rewrote so the
4728        test is performed with the right internal function since [string
4729        match] no longer uses Tcl_StringCaseMatch internally.
4730
4731        * tests/string.test (string-11.51):
4732        * generic/tclUtf.c (Tcl_UniCharCaseMatch):
4733        * generic/tclUtil.c (Tcl_StringCaseMatch): Fault with matching
4734        case-insensitive non-ASCII patterns containing upper case characters.
4735        [Bug 233257]
4736
4737        ******************************************************************
4738        *** CHANGELOG ENTRIES FOR 2001 IN "ChangeLog.2001"             ***
4739        *** CHANGELOG ENTRIES FOR 2000 IN "ChangeLog.2000"             ***
4740        *** CHANGELOG ENTRIES FOR 1999 AND EARLIER IN "ChangeLog.1999" ***
4741        ******************************************************************
Note: See TracBrowser for help on using the repository browser.