From 3bf2e431b1f1d665dc8ce7d2b34635376fdc58be Mon Sep 17 00:00:00 2001 From: dgp Date: Thu, 11 Oct 2007 16:01:51 +0000 Subject: merge updates from HEAD --- ChangeLog | 4 + ChangeLog.1999 | 1861 +++++++------ ChangeLog.2000 | 1868 +++++++------ ChangeLog.2001 | 3023 +++++++++++---------- ChangeLog.2002 | 3403 ++++++++++++------------ ChangeLog.2003 | 2539 +++++++++--------- ChangeLog.2004 | 195 +- ChangeLog.2005 | 7644 +++++++++++++++++++++++++++--------------------------- generic/tclObj.c | 3 +- 9 files changed, 10045 insertions(+), 10495 deletions(-) diff --git a/ChangeLog b/ChangeLog index 072b154..8509687 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2007-10-11 Miguel Sofer + + * generic/tclObj.c: remove superfluous #include of tclCompile.h + 2007-10-08 George Peter Staplin * doc/Hash.3: Correct the valid usage of the flags member for the diff --git a/ChangeLog.1999 b/ChangeLog.1999 index 8be8ac0..3bf4e9a 100644 --- a/ChangeLog.1999 +++ b/ChangeLog.1999 @@ -15,7 +15,7 @@ * unix/Makefile.in: added -srcdir=... for 'make html' - * doc/Hash.3: fixed reference to ckfree [Bug: 3912] + * doc/Hash.3: fixed reference to ckfree [Bug 3912] * doc/RegExp.3: fixed calling params for Tcl_RegExecFromObj * doc/open.n: fixed minor formatting errors * doc/string.n: fixed minor formatting errors @@ -24,12 +24,12 @@ * tests/cmdIL.test: * generic/tclCmdIL.c: added -unique option to lsort - * generic/tclThreadTest.c: changed thread ids to longs [Bug: 3902] + * generic/tclThreadTest.c: changed thread ids to longs [Bug 3902] - * mac/tclMacOSA.c: fixed applescript for I18N [Bug: 3644] + * mac/tclMacOSA.c: fixed applescript for I18N [Bug 3644] * win/mkd.bat: - * win/rmd.bat: removed necessity of tag.txt [Bug: 3874] + * win/rmd.bat: removed necessity of tag.txt [Bug 3874] * win/tclWinThrd.c: changed CreateThread to _beginthreadex and ExitThread to _endthreadex @@ -47,43 +47,43 @@ * mac/tclMacFile.c: * unix/tclUnixFile.c: * win/tclWinFile.c: enhanced the glob command with the new options - -types -path -directory and -join. Deprecated TclpMatchFiles with + -types -path -directory and -join. Deprecated TclpMatchFiles with TclpMatchFilesTypes, extended TclGlob and TclDoGlob and added - GlobTypeData structure. [Bug: 2363] + GlobTypeData structure. [Bug 2363] 1999-12-10 Jeff Hobbs * tests/var.test: - * generic/tclCompile.c: fixed problem where setting to {} array - would intermittently not work. (Fontaine) [Bug: 3339] + * generic/tclCompile.c: fixed problem where setting to {} array would + intermittently not work. [Bug 3339] (Fontaine) * generic/tclCmdMZ.c: - * generic/tclExecute.c: optimized INST_TRY_CVT_TO_NUMERIC to - recognize boolean objects. (Spjuth) [Bug: 2815] + * generic/tclExecute.c: optimized INST_TRY_CVT_TO_NUMERIC to recognize + boolean objects. [Bug 2815] (Spjuth) * tests/info.test: * tests/parseOld.test: * generic/tclCmdAH.c: * generic/tclProc.c: changed Tcl_UplevelObjCmd (uplevel) and - Tcl_EvalObjCmd (eval) to use TCL_EVAL_DIRECT in the single arg - case as well, to take advantage of potential pure list input - optimization. This means that it won't get byte compiled though, - which should be acceptable. - * generic/tclBasic.c: made Tcl_EvalObjEx pure list object aware in - the TCL_EVAL_DIRECT case for efficiency. - * generic/tclUtil.c: made Tcl_ConcatObj pure list object aware, - and return a list object in that case [Bug: 2098 2257] + Tcl_EvalObjCmd (eval) to use TCL_EVAL_DIRECT in the single arg case as + well, to take advantage of potential pure list input optimization. + This means that it won't get byte compiled though, which should be + acceptable. + * generic/tclBasic.c: made Tcl_EvalObjEx pure list object aware in the + TCL_EVAL_DIRECT case for efficiency. + * generic/tclUtil.c: made Tcl_ConcatObj pure list object aware, and + return a list object in that case [Bug 2098 2257] * generic/tclMain.c: changed Tcl_Main to not constantly reuse the commandPtr object (interactive case) as it could be shared. (Fellows) * unix/configure.in: * unix/tcl.m4: - * unix/tclUnixPipe.c: removed checking for compatible vfork - function and use of the vfork function. Modern VM systems rarely - suffer any performance degradation when fork is used, and it - solves multiple problems with vfork. Users that still want vfork - can add -Dfork=vfork to the compile flags. [Bug: 942 2228 1312] + * unix/tclUnixPipe.c: removed checking for compatible vfork function + and use of the vfork function. Modern VM systems rarely suffer any + performance degradation when fork is used, and it solves multiple + problems with vfork. Users that still want vfork can add -Dfork=vfork + to the compile flags. [Bug 942 2228 1312] 1999-12-09 Jeff Hobbs @@ -96,44 +96,44 @@ * win/tclWinFCmd.c: * win/tclWinInit.c: * win/tclWinPipe.c: - * win/tclWinSock.c: removed all code that supported Win32s. It - was no longer officially supported, and likely didn't work anyway. + * win/tclWinSock.c: removed all code that supported Win32s. It was no + longer officially supported, and likely didn't work anyway. * win/makefile.vc: removed 16 bit stuff, cleaned up. * win/tcl16.rc: * win/tclWin16.c: - * win/winDumpExts.c: these files have been removed from the - source tree (no longer necessary to build) + * win/winDumpExts.c: these files have been removed from the source + tree (no longer necessary to build) 1999-12-07 Jeff Hobbs - * tests/io.test: removed 'knownBug' tests that were for - unsupported0, which is now fcopy (that already has tests) + * tests/io.test: removed 'knownBug' tests that were for unsupported0, + which is now fcopy (that already has tests) * mac/tclMacPort.h: added utime.h include * generic/tclDate.c: - * unix/Makefile.in: fixed make gendate to swap const with CONST - so it uses the Tcl defined CONST type [Bug: 3521] + * unix/Makefile.in: fixed make gendate to swap const with CONST so it + uses the Tcl defined CONST type [Bug 3521] - * generic/tclIO.c: removed panic that could occur in FlushChannel - when a "blocking" channel would receive EAGAIN, instead treating - it the same as non-blocking. [Bug: 3773] + * generic/tclIO.c: removed panic that could occur in FlushChannel when + a "blocking" channel would receive EAGAIN, instead treating it the + same as non-blocking. [Bug 3773] - * generic/tclUtil.c: fixed Tcl_ScanCountedElement to not step - beyond the end of the counted string [Bug: 3336] + * generic/tclUtil.c: fixed Tcl_ScanCountedElement to not step beyond + the end of the counted string. [Bug 3336] 1999-12-03 Jeff Hobbs * doc/load.n: added note about NT's buggy handling of './' with LoadLibrary - * library/http2.1/http.tcl: fixed error handling in http::Event - [Bug: 3752] + * library/http2.1/http.tcl: fixed error handling in http::Event. [Bug + 3752] * tests/env.test: removed knownBug limitation from working test - * tests/all.tcl: ensured that ::tcltest::testsDirectory would be - set to an absolute path + * tests/all.tcl: ensured that ::tcltest::testsDirectory would be set + to an absolute path * tests/expr-old.test: * tests/parseExpr.test: @@ -144,25 +144,24 @@ * generic/tclParseExpr.c: * generic/tclUtil.c: * generic/tclExecute.c: added TclCheckBadOctal routine to enhance - error message checking for when users use invalid octal numbers - (like 08), as well as replumbed the Expr*Funcs with a new - VerifyExprObjType to simplify type handling. [Bug: 2467] + error message checking for when users use invalid octal numbers (like + 08), as well as replumbed the Expr*Funcs with a new VerifyExprObjType + to simplify type handling. [Bug 2467] * tests/expr.test: - * generic/tclCompile.c: fixed 'bad code length' error for - 'expr + {[incr]}' case, with new test case [Bug: 3736] - and seg fault on 'expr + {[error]}' (different cause) that - was caused by a correct optimization that didn't correctly - track how it was modifying the source string in the opt. - The optimization was removed, which means that: + * generic/tclCompile.c: fixed 'bad code length' error for 'expr + + {[incr]}' case, with new test case [Bug 3736] and seg fault on 'expr + + {[error]}' (different cause) that was caused by a correct + optimization that didn't correctly track how it was modifying the + source string in the opt. The optimization was removed, which means + that: expr 1 + {[string length abc]} - will be not be compiled inline as before, but this should be - written: + will be not be compiled inline as before, but this should be written: expr {1 + [string length abc]} - which will be compiled inline for speed. This prevents + which will be compiled inline for speed. This prevents: expr 1 + {[mindless error]} - from seg faulting, and only affects optimizations for - degenerate cases [Bug: 3737] + from seg faulting, and only affects optimizations for degenerate cases + [Bug 3737] 1999-12-01 Scott Redman @@ -170,13 +169,12 @@ * generic/tclMain.c: * unix/tclAppInit.c: * win/tclAppInit.c: Added two new internal functions, - TclSetStartupScriptFileName() and TclGetStartupScriptFileName() - and added hooks into the main() code for supporting TclPro and - other "big" shells more easily without requiring a copy of the - main() code. + TclSetStartupScriptFileName() and TclGetStartupScriptFileName() and + added hooks into the main() code for supporting TclPro and other "big" + shells more easily without requiring a copy of the main() code. * generic/tclEncoding.c: - * generic/tclEvent.c: Moved encoding-related startup code from + * generic/tclEvent.c: Moved encoding-related startup code from tclEvent.c into the more appropriate tclEncoding.c. 1999-11-30 Jeff Hobbs @@ -184,46 +182,44 @@ * generic/tclIO.c: fix from Kupries for Tcl_UnstackChannel that correctly handles resetting translation and encoding. - * generic/tclLoad.c: #def'd out the unloading of DLLs at finalize - time for Unix in TclFinalizeLoad. [Bug: 2560 3373] Should be - parametrized to allow for user to specify unload or not. + * generic/tclLoad.c: #def'd out the unloading of DLLs at finalize time + for Unix in TclFinalizeLoad. [Bug 2560 3373] Should be parametrized + to allow for user to specify unload or not. - * win/tclWinTime.c: fixed handling of %Z on NT for time zones - that don't have DST. + * win/tclWinTime.c: fixed handling of %Z on NT for time zones that + don't have DST. 1999-11-29 Jeff Hobbs * library/dde1.1/pkgIndex.tcl: - * library/reg1.0/pkgIndex.tcl: added supported for debugged - versions of the libraries + * library/reg1.0/pkgIndex.tcl: added supported for debugged versions + of the libraries * unix/tclUnixPipe.c: fixed PipeBlockModeProc to properly set - isNonBlocking flag on pipe. [Bug: 1356 710] + isNonBlocking flag on pipe. [Bug 1356 710] removed spurious fcntl call from PipeBlockModeProc * tests/scan.test: - * generic/tclScan.c: fixed scan where %[..] didn't match anything - and added test case [Bug: 3700] + * generic/tclScan.c: fixed scan where %[..] didn't match anything and + added test case. [Bug 3700] 1999-11-24 Jeff Hobbs * doc/open.n: * win/tclWinSerial.c: adopted patch from Schroedter to handle - fconfigure $sock -lasterror on Windows. [RFE: 3368] + fconfigure $sock -lasterror on Windows. [RFE 3368] - * generic/tclCmdIL.c: made SORTMODE_INTEGER work with Longs - [Bug: 3652] + * generic/tclCmdIL.c: made SORTMODE_INTEGER work with Longs [Bug 3652] 1999-11-23 Scott Stanton - * library/tcltest1.0/tcltest.tcl: Fixed bug where tcltest output - went to stdout instead of the specified output file in some - cases. + * library/tcltest1.0/tcltest.tcl: Fixed bug where tcltest output went + to stdout instead of the specified output file in some cases. 1999-11-19 Jeff Hobbs - * generic/tclProc.c: backed out change from 1999-11-18 as it - could affect return string from upvar as well. + * generic/tclProc.c: backed out change from 1999-11-18 as it could + affect return string from upvar as well. * tools/tcl.wse.in: added tcltest1.0 library to distribution list @@ -234,49 +230,49 @@ 1999-11-18 Jeff Hobbs * unix/tcl.m4: added defined for _THREAD_SAFE in --enable-threads - case; added check for pthread_mutex_init in libc; in AIX case, - with --enable-threads ${CC}_r is used; fixed flags when using gcc - on SCO + case; added check for pthread_mutex_init in libc; in AIX case, with + --enable-threads ${CC}_r is used; fixed flags when using gcc on SCO - * generic/tclProc.c: corrected error reporting for default case - at the global level for uplevel command. + * generic/tclProc.c: corrected error reporting for default case at the + global level for uplevel command. - * generic/tclIOSock.c: changed int to size_t type for len - in TclSockMinimumBuffers. + * generic/tclIOSock.c: changed int to size_t type for len in + TclSockMinimumBuffers. - * generic/tclCkalloc.c: fixed Tcl_DbCkfree to return a value - on NULL input. [Bug: 3400] + * generic/tclCkalloc.c: fixed Tcl_DbCkfree to return a value on NULL + input. [Bug 3400] - * generic/tclStringObj.c: fixed support for passing in negative - length to Tcl_SetUnicodeObj, et al handling routines. [Bug: 3380] + * generic/tclStringObj.c: fixed support for passing in negative length + to Tcl_SetUnicodeObj, et al handling routines. [Bug 3380] * doc/scan.n: * tests/scan.test: - * generic/tclScan.c: finished support for inline scan by - supporting XPG identifiers. + * generic/tclScan.c: finished support for inline scan by supporting + XPG identifiers. * doc/http.n: - * library/http2.1/http.tcl: added register and unregister - commands to http:: package (better support for tls/SSL), - as well as -type argument to http::geturl. [RFE: 2617] + * library/http2.1/http.tcl: added register and unregister commands to + http:: package (better support for tls/SSL), as well as -type argument + to http::geturl. [RFE 2617] - * generic/tclBasic.c: removed extra decr of numLevels in - Tcl_EvalObjEx that could cause seg fault. (mjansen@wendt.de) + * generic/tclBasic.c: removed extra decr of numLevels in Tcl_EvalObjEx + that could cause seg fault. (mjansen@wendt.de) * generic/tclEvent.c: fixed possible lack of MutexUnlock in - Tcl_DeleteExitHandler [Bug: 3545] + Tcl_DeleteExitHandler. [Bug 3545] - * unix/tcl.m4: Added better pthreads library check and inclusion - of _THREAD_SAFE in --enable-threads case + * unix/tcl.m4: Added better pthreads library check and inclusion of + _THREAD_SAFE in --enable-threads case Added support for gcc config on SCO * doc/glob.n: added note about ..../ glob behavior on Win9* - * doc/tcltest.n: fixed minor example errors [Bug: 3551] + * doc/tcltest.n: fixed minor example errors. [Bug 3551] 1999-11-17 Brent Welch - * library/http2.1/http.tcl: Correctly fixed the -timeout - problem mentioned in the 10-29 change. Also added error - handling for failed writes on the socket during the protocol. + + * library/http2.1/http.tcl: Correctly fixed the -timeout problem + mentioned in the 10-29 change. Also added error handling for failed + writes on the socket during the protocol. 1999-11-09 Jeff Hobbs @@ -291,54 +287,53 @@ * generic/tclParse.c: added code in Tcl_ParseBraces to test for possible unbalanced open brace in a comment - * library/init.tcl: removed the installed binary directory from - the auto_path variable + * library/init.tcl: removed the installed binary directory from the + auto_path variable - * tools/tcl.wse.in: updated to 8.3a1, fixed install of twind.tcl - and koi8-r.enc files + * tools/tcl.wse.in: updated to 8.3a1, fixed install of twind.tcl and + koi8-r.enc files * unix/tcl.m4: added recognition of pthreads library for AIX 1999-10-29 Brent Welch - * generic/tclInt.h: Modified the TclNewObj and TclDecrRefCount - in two ways. First, in the case of TCL_THREADS, we do not use - the special Tcl_Obj allocator because that is a source of - lock contention. Second, general code cleanup to eliminate - duplicated code. In particular, TclDecrRefCount now uses - TclFreeObj instead of duplicating that code, so it is now - identical to Tcl_DecrRefCount. - - * generic/tclObj.c: Changed Tcl_NewObj so it uses the - TclNewObj macro instead of duplicating the code. Adjusted - TclFreeObj so it understands the TCL_THREADS case described - above. - - * library/http2.1/http.tcl: Fixed a bug in the handling of - the state(status) variable when the -timeout flag is specified. - Previously it was possible to leave the status undefined - instead of empty, which caused errors in http::status + + * generic/tclInt.h: Modified the TclNewObj and TclDecrRefCount in two + ways. First, in the case of TCL_THREADS, we do not use the special + Tcl_Obj allocator because that is a source of lock contention. Second, + general code cleanup to eliminate duplicated code. In particular, + TclDecrRefCount now uses TclFreeObj instead of duplicating that code, + so it is now identical to Tcl_DecrRefCount. + + * generic/tclObj.c: Changed Tcl_NewObj so it uses the TclNewObj macro + instead of duplicating the code. Adjusted TclFreeObj so it understands + the TCL_THREADS case described above. + + * library/http2.1/http.tcl: Fixed a bug in the handling of the + state(status) variable when the -timeout flag is specified. Previously + it was possible to leave the status undefined instead of empty, which + caused errors in http::status 1999-10-28 Jeff Hobbs * unix/aclocal.m4: made it just include tcl.m4 - * library/tcltest1.0/tcltest.tcl: updated makeFile to return - full pathname of file created + * library/tcltest1.0/tcltest.tcl: updated makeFile to return full + pathname of file created * generic/tclStringObj.c: fixed Tcl_AppendStringsToObjVA so it only - iterates once over the va_list (avoiding a memcpy of it, - which is not portable). + iterates once over the va_list (avoiding a memcpy of it, which is not + portable). * generic/tclEnv.c: fixed possible ABR error in environ array * tests/scan.test: - * generic/tclScan.c: added support for use of inline scan, - XPG3 currently not included + * generic/tclScan.c: added support for use of inline scan, XPG3 + currently not included * tests/incr.test: * tests/set.test: - * generic/tclCompCmds.c: fixed improper bytecode handling of - 'eval {set array($unknownvar) 5}' (also for incr) [Bug: 3184] + * generic/tclCompCmds.c: fixed improper bytecode handling of 'eval + {set array($unknownvar) 5}' (also for incr). [Bug 3184] * win/tclWinTest.c: added testvolumetype command, as atime is completely ignored for Windows FAT file systems @@ -346,67 +341,67 @@ * unix/tclUnixPort.h: added utime.h to includes * doc/file.n: * tests/cmdAH.test: - * generic/tclCmdAH.c: added time arguments to atime and mtime - file command methods (support 'touch' functionality) + * generic/tclCmdAH.c: added time arguments to atime and mtime file + command methods (support 'touch' functionality) 1999-10-20 Jeff Hobbs - * unix/tclUnixNotfy.c: fixed event/io threading problems by - making triggerPipe non-blocking [Bug: 2792] + * unix/tclUnixNotfy.c: fixed event/io threading problems by making + triggerPipe non-blocking. [Bug 2792] * library/tcltest1.0/tcltest.tcl: * generic/tclThreadTest.c: fixed mem leaks in threads - * generic/tclResult.c: fixed Tcl_AppendResultVA so it only - iterates once over the va_list (avoiding a memcpy of it, - which is not portable). + * generic/tclResult.c: fixed Tcl_AppendResultVA so it only iterates + once over the va_list (avoiding a memcpy of it, which is not + portable). * generic/regc_color.c: fixed mem leak and assertion, from HS - * generic/tclCompile.c: removed savedChar trick that appeared to - be causing a segv when the literal table was released + * generic/tclCompile.c: removed savedChar trick that appeared to be + causing a segv when the literal table was released * tests/string.test: - * generic/tclCmdMZ.c: fixed [string index] to return ByteArrayObj - when indexing into one (test case string-5.16) [Bug: 2871] + * generic/tclCmdMZ.c: fixed [string index] to return ByteArrayObj when + indexing into one (test case string-5.16). [Bug 2871] - * library/http2.1/http.tcl: protected gets with catch [Bug: 2665] + * library/http2.1/http.tcl: protected gets with catch. [Bug 2665] 1999-10-19 Jennifer Hom * tests/tcltest.test: * doc/tcltest.n: - * library/tcltest1.0/tcltest.tcl: Removed the extra return at the - end of the tcltest.tcl file, added version information about tcl. + * library/tcltest1.0/tcltest.tcl: Removed the extra return at the end + of the tcltest.tcl file, added version information about tcl. Applied patches sent in by Andreas Kupries to add helper procs for debug output, add 3 new flags (-testsdir, -load, -loadfile), and - internally refactors common code for dealing with paths into - separate procedures. [Bug: 2838, 2842] + internally refactors common code for dealing with paths into separate + procedures. [Bug 2838, 2842] Merged code from core-8-2-1 branch that changes the checks for the - value of tcl_interactive to also incorporate a check for the - existence of the variable. + value of tcl_interactive to also incorporate a check for the existence + of the variable. * tests/autoMkindex.test: - * tests/pkgMkIndex.test: Explicitly cd to - ::tcltest::testsDirectory at the beginning of the test run + * tests/pkgMkIndex.test: Explicitly cd to ::tcltest::testsDirectory at + the beginning of the test run - * tests/basic.test: Use version information defined in tcltest - instead of hardcoded version number + * tests/basic.test: Use version information defined in tcltest instead + of hardcoded version number - * tests/socket.test: package require tcltest before attempting to - use variable defined in tcltest namespace + * tests/socket.test: package require tcltest before attempting to use + variable defined in tcltest namespace * tests/unixInit.test: - * tests/unixNotfy.test: Added explicit exits needed to avoid - problems when the tests area run in wish. + * tests/unixNotfy.test: Added explicit exits needed to avoid problems + when the tests area run in wish. 1999-10-12 Jim Ingham * mac/tclMacLoad.c: Stupid bug - we converted the filename to external, but used the unconverted version. - * mac/tclMacFCmd.c: Fix a merge error in the bug fix for [Bug: 2869] + * mac/tclMacFCmd.c: Fix a merge error in the bug fix for [Bug 2869] 1999-10-12 Jeff Hobbs @@ -423,21 +418,20 @@ * generic/tclRegexp.c: * generic/tclTest.c: * tests/reg.test: updated to Henry Spencer's new regexp engine - (mid-Sept 99). Should greatly reduce stack space reqs. + (mid-Sept 99). Should greatly reduce stack space reqs. * library/tcltest1.0/pkgIndex.tcl: fixed procs in pkgIndex.tcl file * generic/tclEnv.c: fixed mem leak with putenv and DStrings * doc/Encoding.3: corrected docs * tests/basic.test: updated test cases for 8.3 - * tests/encoding.test: fixed test case that change system - encoding to a double-byte one (this causes a bogus mem read - error for purify) + * tests/encoding.test: fixed test case that change system encoding to + a double-byte one (this causes a bogus mem read error for purify) * unix/Makefile.in: purify has to use -best-effort to instrument * unix/tclAppInit.c: identified potential mem leak when compiling tcltest (not critical) - * unix/tclUnixPipe.c: fixed mem leak in TclpCreateProcess when - doing alloc between vfork and execvp. + * unix/tclUnixPipe.c: fixed mem leak in TclpCreateProcess when doing + alloc between vfork and execvp. * unix/tclUnixTest.c: fixed mem leak in findexecutable test command 1999-10-05 Jeff Hobbs @@ -452,127 +446,126 @@ * library/http2.1/http.tcl: fixed possible use of global c var. * win/tclWinReg.c: fixed registry command to properly 'get' - HKEY_PERFORMANCE_DATA root key data. Needs more work. + HKEY_PERFORMANCE_DATA root key data. Needs more work. * generic/tclNamesp.c: * generic/tclVar.c: * generic/tclCmdIL.c: fixed comment typos - * mac/tclMacFCmd.c: fixed filename stuff to support UTF-8 [Bug: 2869] + * mac/tclMacFCmd.c: fixed filename stuff to support UTF-8. [Bug 2869] - * win/tclWinSerial.c: changed SerialSetOptionProc to return - TCL_OK by default. (patch from Rolf Schroedter) + * win/tclWinSerial.c: changed SerialSetOptionProc to return TCL_OK by + default. (patch from Rolf Schroedter) 1999-09-21 Jennifer Hom - * library/tcltest1.0/tcltest.tcl: Applied patches sent in by - Andreas Kupries to fix typos in comments and ::tcltest::grep, - fix hook redefinition problems, and change "string compare" to - "string equal." [Bug: 2836, 2837, 2839, 2840] + * library/tcltest1.0/tcltest.tcl: Applied patches sent in by Andreas + Kupries to fix typos in comments and ::tcltest::grep, fix hook + redefinition problems, and change "string compare" to "string equal". + [Bug 2836, 2837, 2839, 2840] 1999-09-20 Jeff Hobbs * tests/env.test: - * unix/Makefile.in: added support for AIX LIBPATH env var [Bug: 2793] + * unix/Makefile.in: added support for AIX LIBPATH env var. [Bug 2793] removed second definition of INCLUDE_INSTALL_DIR (the one that - referenced @includedir@) [Bug: 2805] - * unix/dltest/Makefile.in: added -lc to LIBS [Bug: 2794] + referenced @includedir@) [Bug 2805] + * unix/dltest/Makefile.in: added -lc to LIBS. [Bug 2794] 1999-09-16 Jeff Hobbs - * tests/timer.test: changed after delay in timer test 6.29 from - 1 to 10. [Bug: 2796] + * tests/timer.test: changed after delay in timer test 6.29 from 1 to + 10. [Bug 2796] * tests/pkg.test: * generic/tclPkg.c: fixed package version check to disallow 1.2..3 - [Bug: 2539] - - * unix/Makefile.in: fixed gendate target - this never worked - since RCS was intro'd. - * generic/tclGetDate.y: updated to reflect previous changes - to tclDate.c (leap year calc) and added CEST and UCT time zone - recognition. Fixed 4 missing UCHAR() casts. [Bug: 2717, 954, - 1245, 1249] - - * generic/tclCkalloc.c: changed Tcl_DumpActiveMemory to really - dump to stderr and close it [Bug: 725] and changed Tcl_Ckrealloc - and Tcl_Ckfree to not bomb when NULL was passed in [Bug: 1719] - and changed Tcl_Alloc, et al to not panic when a alloc request - for zero came through and NULL was returned (valid on AIX, Tru64) - [Bug: 2795, etc] + [Bug 2539] + + * unix/Makefile.in: fixed gendate target - this never worked since RCS + was intro'd. + * generic/tclGetDate.y: updated to reflect previous changes to + tclDate.c (leap year calc) and added CEST and UCT time zone + recognition. Fixed 4 missing UCHAR() casts. [Bug 2717, 954, 1245, + 1249] + + * generic/tclCkalloc.c: changed Tcl_DumpActiveMemory to really dump to + stderr and close it [Bug 725] and changed Tcl_Ckrealloc and + Tcl_Ckfree to not bomb when NULL was passed in [Bug 1719] and changed + Tcl_Alloc, et al to not panic when a alloc request for zero came + through and NULL was returned (valid on AIX, Tru64) [Bug 2795, etc] * tests/clock.test: * doc/clock.n: - * generic/tclClock.c: added -milliseconds switch to clock clicks - to guarantee that the return value of clicks is in the millisecs - granularity [Bug: 2682, 1332] + * generic/tclClock.c: added -milliseconds switch to clock clicks to + guarantee that the return value of clicks is in the millisecs + granularity. [Bug 2682, 1332] 1999-09-15 Jeff Hobbs - * generic/tclIOCmd.c: fixed potential core dump in conjunction - with stacked channels with result obj manipulation in - Tcl_ReadChars [Bug: 2623] + * generic/tclIOCmd.c: fixed potential core dump in conjunction with + stacked channels with result obj manipulation in Tcl_ReadChars. [Bug + 2623] * tests/format.test: - * generic/tclCmdAH.c: fixed translation of %0#s in format [Bug: 2605] + * generic/tclCmdAH.c: fixed translation of %0#s in format. [Bug 2605] - * doc/msgcat.n: fixed \\ bug in example [Bug: 2548] + * doc/msgcat.n: fixed \\ bug in example. [Bug 2548] * unix/tcl.m4: - * unix/aclocal.m4: added fix for FreeBSD-[1-2] recognition - [Bug: 2070] and fix for IRIX SHLIB_LB_LIBS. [Bug: 2610] + * unix/aclocal.m4: added fix for FreeBSD-[1-2] recognition [Bug 2070] + and fix for IRIX SHLIB_LB_LIBS. [Bug 2610] * doc/array.n: * tests/var.test: * tests/set.test: - * generic/tclVar.c: added an array unset operation, with docs - and tests. Variation of [Bug: 1775]. Added fix in TclArraySet - to check when trying to set in a non-existent namespace. [Bug: 2613] + * generic/tclVar.c: added an array unset operation, with docs and + tests. Variation of [Bug 1775]. Added fix in TclArraySet to check + when trying to set in a non-existent namespace. [Bug 2613] 1999-09-14 Jeff Hobbs * tests/linsert.test: * doc/linsert.n: - * generic/tclCmdIL.c: fixed end-int interpretation of linsert - to correctly calculate value for end, added test and docs [Bug: 2693] + * generic/tclCmdIL.c: fixed end-int interpretation of linsert to + correctly calculate value for end, added test and docs. [Bug 2693] * doc/regexp.n: * doc/regsub.n: * tests/regexp.test: - * generic/tclCmdMZ.c: add -start switch to regexp and regsub - with docs and tests + * generic/tclCmdMZ.c: add -start switch to regexp and regsub with docs + and tests * doc/switch.n: added proper use of comments to example. - * generic/tclCmdMZ.c: changed switch to complain when an error - occurs that seems to be due to a misplaced comment. + * generic/tclCmdMZ.c: changed switch to complain when an error occurs + that seems to be due to a misplaced comment. - * generic/tclCmdMZ.c: fixed illegal ref for \[0-9] substitutions - in regsub [Bug: 2723] + * generic/tclCmdMZ.c: fixed illegal ref for \[0-9] substitutions in + regsub. [Bug 2723] - * generic/tclCmdMZ.c: changed [string equal] to return an Int - type object (was a Boolean) + * generic/tclCmdMZ.c: changed [string equal] to return an Int type + object (was a Boolean) 1999-09-01 Jennifer Hom - * library/tcltest1.0/tcltest.tcl: Process command-line arguments - only ::tcltest doesn't have a child namespace (requires that - command-line args are processed in that namespace) + * library/tcltest1.0/tcltest.tcl: Process command-line arguments only + ::tcltest doesn't have a child namespace (requires that command-line + args are processed in that namespace) 1999-09-01 Jeff Hobbs - * generic/tclParseExpr.c: changed '"' to '\"' to make FreeBSD - happy [Bug: 2625] - * generic/tclProc.c: moved static buf to better location and - changed static msg that would overflow in ProcessProcResultCode - [Bug: 2483] and added Tcl_DStringFree to Tcl_ProcObjCmd. - Also reworked size of static buffers. + * generic/tclParseExpr.c: changed '"' to '\"' to make FreeBSD happy. + [Bug 2625] + * generic/tclProc.c: moved static buf to better location and changed + static msg that would overflow in ProcessProcResultCode [Bug 2483] + and added Tcl_DStringFree to Tcl_ProcObjCmd. Also reworked size of + static buffers. * tests/stringObj.test: added test 9.11 - * generic/tclStringObj.c: changed Tcl_AppendObjToObj to - properly handle the 1-byte dest and mixed src case where - both had had Unicode string len checks made on them. [Bug: 2678] + * generic/tclStringObj.c: changed Tcl_AppendObjToObj to properly + handle the 1-byte dest and mixed src case where both had had Unicode + string len checks made on them. [Bug 2678] * unix/aclocal.m4: - * unix/tcl.m4: adjusted fix from 8-21 to add -bnoentry to the - AIX-* case and readjusted the range + * unix/tcl.m4: adjusted fix from 8-21 to add -bnoentry to the AIX-* + case and readjusted the range 1999-08-31 Jennifer Hom @@ -592,74 +585,71 @@ themselves write, and removed accidental checkin of knownBugThreaded constraints for Solaris and Linux. - * library/tcltest1.0/tcltest.tcl: Modified tcltest so that - variables are only initialized to their default values if they did - not previously exist. + * library/tcltest1.0/tcltest.tcl: Modified tcltest so that variables + are only initialized to their default values if they did not + previously exist. 1999-08-26 Jennifer Hom * tests/tcltest.test: - * library/tcltest1.0/tcltest.tcl: Added a -args flag that sets a - variable named ::tcltest::parameters based on whatever's being - sent in as the argument to the -args flag. + * library/tcltest1.0/tcltest.tcl: Added a -args flag that sets a + variable named ::tcltest::parameters based on whatever's being sent in + as the argument to the -args flag. 1999-08-23 Jennifer Hom - * tests/tcltest.test: Added additional tests for -tmpdir, marked - all tests that use exec as unixOrPc. + * tests/tcltest.test: Added additional tests for -tmpdir, marked all + tests that use exec as unixOrPc. * tests/encoding.test: * tests/interp.test: * tests/macFCmd.test: * tests/parseOld.test: - * tests/regexp.test: Applied patches from Jim Ingham to add - encoding to a Mac only interp test, change an error message in - macFCmd.tet, put a comment in parseOld.test, fix tests using the - testencoding path command, and put unixOrPc constraints on tests - that use exec. + * tests/regexp.test: Applied patches from Jim Ingham to add encoding + to a Mac only interp test, change an error message in macFCmd.tet, put + a comment in parseOld.test, fix tests using the testencoding path + command, and put unixOrPc constraints on tests that use exec. 1999-08-21 Jeff Hobbs - * unix/aclocal.m4: Changed AIX-4.[2-9] check to AIX-4.[1-9] - [Bug: 1909] + * unix/aclocal.m4: Changed AIX-4.[2-9] check to AIX-4.[1-9] [Bug 1909] 1999-08-20 Jeff Hobbs - * generic/tclPosixStr.c: fixed typo [Bug: 2592] + * generic/tclPosixStr.c: fixed typo. [Bug 2592] - * doc/*: fixed various nroff bugs in man pages [Bug: 2503 2588] + * doc/*: fixed various nroff bugs in man pages. [Bug 2503 2588] 1999-08-19 Jeff Hobbs - * win/README.binary: fixed version info and some typos [Bug: 2561] + * win/README.binary: fixed version info and some typos. [Bug 2561] * doc/interp.n: updated list of commands available in a safe - interpreter [Bug: 2526] + interpreter. [Bug 2526] * generic/tclIO.c: changed Tcl_GetChannelNames* to use style guide headers (pleases HP cc) 1999-08-18 Jeff Hobbs - * doc/Eval.3: fixed doc on input args [Bug: 2114] + * doc/Eval.3: fixed doc on input args. [Bug 2114] * doc/OpenFileChnl.3: * doc/file.n: * tests/cmdAH.test: * tclIO.c: * tclCmdAH.c: added "file channels ?pattern?" tcl command, with - associated Tcl_GetChannelNames and Tcl_GetChannelNamesEx public - C APIs (added to tcl.decls as well), with docs and tests. + associated Tcl_GetChannelNames and Tcl_GetChannelNamesEx public C APIs + (added to tcl.decls as well), with docs and tests. * tests/expr.test: - * generic/tclCompile.c: add TCL_TOKEN_VARIABLE to the part types - that cause differed compilation for exprs, to correct the expr - double-evaluation problem for vars. Added test cases. - Related to [Bug: 732] + * generic/tclCompile.c: add TCL_TOKEN_VARIABLE to the part types that + cause differed compilation for exprs, to correct the expr + double-evaluation problem for vars. Added test cases. Related to [Bug + 732] - * unix/Makefile.in: changed the dependency structure so that - install-* is dependent on * (ie - install-binaries is dependent - on binaries). + * unix/Makefile.in: changed the dependency structure so that install-* + is dependent on * (ie - install-binaries is dependent on binaries). * library/auto.tcl: * library/init.tcl: @@ -668,14 +658,13 @@ * library/safe.tcl: * library/word.tcl: * library/http2.1/http.tcl: - * library/msgcat1.0/msgcat.tcl: updated libraries to better - Tcl style guide (no more string comparisons with == or !=, spacing - changes). + * library/msgcat1.0/msgcat.tcl: updated libraries to better Tcl style + guide (no more string comparisons with == or !=, spacing changes). 1999-08-05 Jim Ingham * mac/tclMacProjects.sea.hqx: Rearrange the projects so that the build - directory is separate from the sources. Much more convenient! + directory is separate from the sources. Much more convenient! 1999-08-13 Scott Redman @@ -683,18 +672,18 @@ 1999-08-12 Scott Stanton - * win/Makefile.in: Added COMPILE_DEBUG_FLAGS macro to make it - easier to turn on compiler tracing. + * win/Makefile.in: Added COMPILE_DEBUG_FLAGS macro to make it easier + to turn on compiler tracing. * tests/parse.test: - * generic/tclParse.c: Fixed bug in Tcl_EvalEx where the termOffset - was not being updated in cases where the evaluation returned a non - TCL_OK error code. [Bug: 2535] + * generic/tclParse.c: Fixed bug in Tcl_EvalEx where the termOffset was + not being updated in cases where the evaluation returned a non TCL_OK + error code. [Bug 2535] 1999-08-12 Scott Redman - * win/tclWinSerial.c: Applied patch from Petteri Kettunen to - remove compiler warning. + * win/tclWinSerial.c: Applied patch from Petteri Kettunen to remove + compiler warning. 1999-08-10 Scott Redman @@ -720,12 +709,11 @@ * generic/tclVar.c: * mac/tclMacThrd.c: * unix/tclUnixThrd.c: - * win/tclWinThrd.c: Added use of Tcl_GetAllocMutex to tclAlloc.c - and tclCkalloc.c so they can be linked against alternate thread - packages. Added Tcl_GetChannelNames to tclIO.c. Added - TclVarTraceExists hook so "info exists" triggers read traces - exactly like it did in Tcl 7.6. Stubs table changes to reflect new - internal and external APIs. + * win/tclWinThrd.c: Added use of Tcl_GetAllocMutex to tclAlloc.c and + tclCkalloc.c so they can be linked against alternate thread packages. + Added Tcl_GetChannelNames to tclIO.c. Added TclVarTraceExists hook so + "info exists" triggers read traces exactly like it did in Tcl 7.6. + Stubs table changes to reflect new internal and external APIs. 1999-08-09 Jeff Hobbs @@ -733,23 +721,23 @@ machines and int overflow testing. * tests/tcltest.test: fixed minor error in 8.2 result (from dgp) - * doc/Object.3: clarified Tcl_DecrRefCount docs [Bug: 1952] - * doc/array.n: clarified array pattern docs [Bug: 1330] - * doc/clock.n: fixed clock docs [Bug: 693] + * doc/Object.3: clarified Tcl_DecrRefCount docs. [Bug 1952] + * doc/array.n: clarified array pattern docs. [Bug 1330] + * doc/clock.n: fixed clock docs. [Bug 693] * doc/lindex.n: clarified to account for new end-int behavior. - * doc/string.n: fixed formatting errors [Bug: 2188 2189] - * doc/tclvars.n: fixed doc error [Bug: 2042] - * library/init.tcl: fixed path handling in auto_execok (it could - miss including the normal path on some Windows machines) [Bug: 1276] + * doc/string.n: fixed formatting errors. [Bug 2188 2189] + * doc/tclvars.n: fixed doc error. [Bug 2042] + * library/init.tcl: fixed path handling in auto_execok (it could miss + including the normal path on some Windows machines). [Bug 1276] 1999-08-05 Jeff Hobbs - * doc/tclvars.n: Made it clear that tcl_pkgPath was not set - for Windows (already mentioned in init.tcl) [Bug: 2455] - * generic/tclLiteral.c: fixed reference to bytes that might - not be null terminated (using objPtr->bytes, which is) [Bug: 2496] - * library/http2.1/http.tcl: Made use of "i" in init section use - local var and start at 0 (was 1). [Bug: 2502] + * doc/tclvars.n: Made it clear that tcl_pkgPath was not set for + Windows (already mentioned in init.tcl). [Bug 2455] + * generic/tclLiteral.c: fixed reference to bytes that might not be + null terminated (using objPtr->bytes, which is). [Bug 2496] + * library/http2.1/http.tcl: Made use of "i" in init section use local + var and start at 0 (was 1). [Bug 2502] 1999-08-04 Scott Stanton @@ -762,7 +750,7 @@ * generic/regexec.c: * generic/regguts.h: Applied patches supplied by Henry Spencer to greatly enhance the performance of certain classes of regular - expressions. [Bug: 2440, 2447] + expressions. [Bug 2440, 2447] 1999-08-03 Scott Redman @@ -782,104 +770,101 @@ * generic/tclIntDecls.h: * generic/tclRegexp.h: * generic/tclStubInit.c: Move some exported public and internal - functions to the stub tables. Removed functions that are in the - stub tables (from this and previous changes) from the original - header files. + functions to the stub tables. Removed functions that are in the stub + tables (from this and previous changes) from the original header + files. 1999-08-01 Scott Redman - * win/tclWinSock.c: Added comment block to SocketThread() - function. Added code to avoid calling TerminateThread(), but - instead to send a message to the socket event window to tell it to - terminate its thread. + * win/tclWinSock.c: Added comment block to SocketThread() function. + Added code to avoid calling TerminateThread(), but instead to send a + message to the socket event window to tell it to terminate its thread. 1999-07-30 Jennifer Hom * tests/tcltest.test: - * library/tcltest1.0/tcltest.tcl: Exit with non-zero status if - there were problems with the way the test suite was started - (e.g. wrong # arguments). + * library/tcltest1.0/tcltest.tcl: Exit with non-zero status if there + were problems with the way the test suite was started (e.g. wrong # + arguments). 1999-07-30 Jeff Hobbs - * generic/tclInt.decls: added declaractions necessary for the - Tcl test code to work wth stubs [Bug: 2445] + * generic/tclInt.decls: added declaractions necessary for the Tcl test + code to work wth stubs. [Bug 2445] 1999-07-30 Scott Redman * win/tclWinPipe.c: - * win/Makefile.in: Fixing launching of 16-bit apps on Win9x from - wish. The command line was primed with tclpip82.dll, but it was - ignored. Fixed that, then fixed the gmake makefile to build - tclpip82.dll as an executable. + * win/Makefile.in: Fixing launching of 16-bit apps on Win9x from wish. + The command line was primed with tclpip82.dll, but it was ignored. + Fixed that, then fixed the gmake makefile to build tclpip82.dll as an + executable. - * win/tclWinSock.c: Applied small patch to get thread-specific - data after initializing the socket driver. + * win/tclWinSock.c: Applied small patch to get thread-specific data + after initializing the socket driver. - * unix/tclUnixThrd.c: Applied patch to fix threads on Irix 6.5. - Patch from James Dennett. [Bug: 2450] + * unix/tclUnixThrd.c: Applied patch to fix threads on Irix 6.5. Patch + from James Dennett. [Bug 2450] - * tests/info.test: Enable test for tclParse.c change (info - complete). + * tests/info.test: Enable test for tclParse.c change (info complete). 1999-07-30 Jeff Hobbs - * tclIO.c: added fix for Kupries' trf patch [Bug: 2386] + * tclIO.c: added fix for Kupries' trf patch. [Bug 2386] * tclParse.c: fixed bug in info complete regarding nested square - brackets [Bug: 2382, 2466] + brackets. [Bug 2382, 2466] 1999-07-29 Scott Redman * win/tclWinChan.c: Allow tcl to open CON and NUL, even for std - channels. Checking for bad/unusable std channels was moved to Tk - since its only purpose was to check whether to use the Tk Console - Window for the std channels. [Bug: 2393 2392 2209 2458] + channels. Checking for bad/unusable std channels was moved to Tk since + its only purpose was to check whether to use the Tk Console Window for + the std channels. [Bug 2393 2392 2209 2458] * unix/mkLinks.tcl: Applied patch to avoid linking pack.n to - pack-old.n. Patch from Don Porter. [Bug: 2469] + pack-old.n. Patch from Don Porter. [Bug 2469] - * doc/Encoding.n: Applied patch to fix typo in .SH NAME line. - Patch from Don Porter. [Bug: 2451] + * doc/Encoding.n: Applied patch to fix typo in .SH NAME line. Patch + from Don Porter. [Bug 2451] - * win/tclWinSock.c: Free Win32 Event handles when destroying - the socket helper thread. + * win/tclWinSock.c: Free Win32 Event handles when destroying the + socket helper thread. 1999-07-28 Jennifer Hom * tests/tcltest.test: * library/tcltest1.0/tcltest.tcl: Fixed the condition under which - ::tcltest::PrintError had an infinite loop problem and added a - test case for it. Added an optional argument to - ::tcltest::getMatchingFiles telling it where to search for test - files. + ::tcltest::PrintError had an infinite loop problem and added a test + case for it. Added an optional argument to ::tcltest::getMatchingFiles + telling it where to search for test files. 1999-07-27 Scott Redman - * tools/tclSplash.bmp: Updated Windows installer bitmap - to ready Tcl/Tk Version 8.2. + * tools/tclSplash.bmp: Updated Windows installer bitmap to ready + Tcl/Tk Version 8.2. 1999-07-26 Scott Redman - * tests/tcltest.test: Need to close the new core file, there - seems to be a hang in threaded WinNT if the file isn't closed. - Open issue, need to fix that hang. + * tests/tcltest.test: Need to close the new core file, there seems to + be a hang in threaded WinNT if the file isn't closed. Open issue, need + to fix that hang. - * tests/httpold.test: Add time delay in response from Http server - so that test cases can properly detect timeout conditions with - threads enabled on multi-CPU WinNT. + * tests/httpold.test: Add time delay in response from Http server so + that test cases can properly detect timeout conditions with threads + enabled on multi-CPU WinNT. - * tests/winFCmd.test: Test case winFcmd-1.33 was looking for - c:\windows, which may not exist. Instead, create a new directory - on c:\ and use it for the test. + * tests/winFCmd.test: Test case winFcmd-1.33 was looking for + c:\windows, which may not exist. Instead, create a new directory on + c:\ and use it for the test. * win/tclWinConsole.c: * win/tclWinPipe.c: - * win/tclWinSock.c: Fix terminating helper threads by holding any - mutexes from the primary thread while waiting for the helper - thread to terminate. Without these changes, the test suite hangs - on WinNT with 2 CPUs and threads enabled. Open issue, seems to be - a sporadic hang on dual CPU systems still (very rare). + * win/tclWinSock.c: Fix terminating helper threads by holding any + mutexes from the primary thread while waiting for the helper thread to + terminate. Without these changes, the test suite hangs on WinNT with 2 + CPUs and threads enabled. Open issue, seems to be a sporadic hang on + dual CPU systems still (very rare). 1999-07-26 Jennifer Hom @@ -891,51 +876,51 @@ 1999-07-23 Scott Redman * tests/info.test: - * generic/tclParse.c: Removed patch for info command, breaks test - cases on Unix. Patch was bad and needs to be redone - properly. [Bug: 2382] + * generic/tclParse.c: Removed patch for info command, breaks test + cases on Unix. Patch was bad and needs to be redone properly. [Bug + 2382] 1999-07-22 Scott Redman * Changed version to 8.2b2. - * win/tclWinSock.c: Fixed hang with threads enabled, fixed - semaphores with threads disabled. + * win/tclWinSock.c: Fixed hang with threads enabled, fixed semaphores + with threads disabled. * win/safe.test: Fixed safe-6.3 with threads enabled. - * win/Makefile.in: Fixed calling of tcltest to fix safe.test - failures due to path TCL_LIBRARY path. + * win/Makefile.in: Fixed calling of tcltest to fix safe.test failures + due to path TCL_LIBRARY path. - * win/tclWinPort.h: Block out include of sys/*.h in order to - build extensions with MetroWerks compiler for Win32. [Bug: 2385] + * win/tclWinPort.h: Block out include of sys/*.h in order to build + extensions with MetroWerks compiler for Win32. [Bug 2385] * generic/tclCmdMZ.c: * generic/tclIO.c: Fix ANSI-style prototypes based on patch from - Ulrich Ring. [Bug: 2391] + Ulrich Ring. [Bug 2391] - * unix/Makefile.in: Need to make install-sh executable before - calling (with chmod +x). [Bug: 2413] + * unix/Makefile.in: Need to make install-sh executable before calling + (with chmod +x). [Bug 2413] * tests/var.test: - * generic/tclVar.c: Fixed bug that caused a seg. fault when using - "array set a(b) {}", which is a bad array name anyway. Now the - "array set" command will return an error in this case. Added test - case and fixed existing test. [Bug: 2427] + * generic/tclVar.c: Fixed bug that caused a seg. fault when using + "array set a(b) {}", which is a bad array name anyway. Now the "array + set" command will return an error in this case. Added test case and + fixed existing test. [Bug 2427] 1999-07-21 Scott Redman * tests/info.test: - * generic/tclParse.c: Applied patch to fix "info complete" - for the string {[a [b]}. Patch from Peter Spjuth. [Bug: 2382] + * generic/tclParse.c: Applied patch to fix "info complete" for the + string {[a [b]}. Patch from Peter Spjuth. [Bug 2382] * doc/Utf.3: * generic/tcl.decls: * generic/tclDecls.h: * generic/tclUtf.c: Changed function declarations in non-platform-specific public APIs to use "unsigned long" instead of - "size_t", which may not be defined on certain compilers (rather - than include sys/types.h, which may not exist). + "size_t", which may not be defined on certain compilers (rather than + include sys/types.h, which may not exist). * unix/Makefile.in: Added the Windows configure script to the distribution file list, already shipping configure.in and the .m4 @@ -950,17 +935,16 @@ * tests/ioCmd.test: * doc/open.n: * win/tclWinSerial.c: Applied patch from Rolf Schroedter to add - -pollinterval option to fconfigure to modify the maxblocktime used - in the fileevent polling. Added documentation and fixed the test - case as well. - - * win/tclWinSock.c: Modified 8.1.0 version of the Win32 socket - driver to move the handling of the socket event window in a - separate thread. It also turned out that Win95 & Win98 were, in - some cases, getting multiple FD_ACCEPTs but only handling one. - Added a count for the FD_ACCEPT to take care of this. Tested on - NT4 SP3, NT4 SP4, Win95, and Win98. - [Bug: 2178 2256 2259 2329 2323 2355] + -pollinterval option to fconfigure to modify the maxblocktime used in + the fileevent polling. Added documentation and fixed the test case as + well. + + * win/tclWinSock.c: Modified 8.1.0 version of the Win32 socket driver + to move the handling of the socket event window in a separate thread. + It also turned out that Win95 & Win98 were, in some cases, getting + multiple FD_ACCEPTs but only handling one. Added a count for the + FD_ACCEPT to take care of this. Tested on NT4 SP3, NT4 SP4, Win95, and + Win98. [Bug 2178 2256 2259 2329 2323 2355] 1999-07-21 Jerry Peek @@ -969,11 +953,11 @@ 1999-07-20 Melissa Hirschl * generic/tclInitScript.h: - * unix/tclUnixInit.c: merged code with 8.0.5. We now use an + * unix/tclUnixInit.c: merged code with 8.0.5. We now use an intermediate global tcl var "tclDefaultLibrary" to keep the - "tcl_library" var from being set by the default value in the - Makefile. Also fixed a bug in which caused the value of - TCL_LIBRARY env var to be ignored. + "tcl_library" var from being set by the default value in the Makefile. + Also fixed a bug in which caused the value of TCL_LIBRARY env var to + be ignored. * unix/tclWinInit.c: just updated some comments. 1999-07-19 Melissa Hirschl @@ -985,16 +969,14 @@ * generic/tcl.decls: * generic/tclDecls.h: - * generic/tclStubInit.c: Add Tcl_SetNotifier to stub table. - [Bug: 2364] + * generic/tclStubInit.c: Add Tcl_SetNotifier to stub table. [Bug 2364] * unix/aclocal.m4: - * unix/tcl.m4: Add check for Alpha/Linux to correct the IEEE - floating flag to the compiler, should be -mieee. Patch from Don - Porter. + * unix/tcl.m4: Add check for Alpha/Linux to correct the IEEE floating + flag to the compiler, should be -mieee. Patch from Don Porter. - * tools/tcl.hpj.in: Change version number of .cnt file referenced - in .HPJ file. + * tools/tcl.hpj.in: Change version number of .cnt file referenced in + .HPJ file. 1999-07-15 Scott Redman @@ -1006,73 +988,72 @@ 1999-07-12 Jerry Peek - * doc/re_syntax.n: Removed two notes to myself (oops), cleaned - up wording, fixed changebars, made two examples easier to read. + * doc/re_syntax.n: Removed two notes to myself (oops), cleaned up + wording, fixed changebars, made two examples easier to read. 1999-07-11 Scott Redman - * win/makefile.vc: Since the makefile.vc should continue to work - while we're working out bugs/issues in the new TEA-style + * win/makefile.vc: Since the makefile.vc should continue to work while + we're working out bugs/issues in the new TEA-style autoconf/configure/gmake build mechanism for Windows, the version - numbers of the Tcl libraries need to remain in sync. Modified the + numbers of the Tcl libraries need to remain in sync. Modified the version numbers in the makefile to reflect the change to 8.2b1. 1999-07-09 Scott Redman - * win/configure.in: Eval DLLSUFFIX, LIBSUFFIX, and EXESUFFIX in - the configure script so that substitutions get expanded before - being placed in the Makefile. The "d" portion for debug libraries - and DLLs was not being set properly. + * win/configure.in: Eval DLLSUFFIX, LIBSUFFIX, and EXESUFFIX in the + configure script so that substitutions get expanded before being + placed in the Makefile. The "d" portion for debug libraries and DLLs + was not being set properly. 1999-07-08 Scott Stanton * tests/string.test: - * generic/tclCmdMZ.c: Fixed bug in string range bounds checking - code. + * generic/tclCmdMZ.c: Fixed bug in string range bounds checking code. 1999-07-08 Jennifer Hom * doc/tcltest.n: * library/tcltest1.0/tcltest.tcl: Removed -asidefromdir and - -relateddir flags, removed unused ::tcltest::dotests proc, cleaned - up implementation of core file checking, and fixed the code that - checks for 1-letter flag abbreviations. + -relateddir flags, removed unused ::tcltest::dotests proc, cleaned up + implementation of core file checking, and fixed the code that checks + for 1-letter flag abbreviations. 1999-07-08 Scott Stanton - * win/Makefile.in: Added tcltest target so runtest works - properly. Added missing names to the clean/distclean targets. + * win/Makefile.in: Added tcltest target so runtest works properly. + Added missing names to the clean/distclean targets. * tests/reg.test: - * generic/rege_dfa.c: Applied fix supplied by Henry Spencer for - bug in DFA state caching under lookahead conditions. [Bug: 2318] + * generic/rege_dfa.c: Applied fix supplied by Henry Spencer for bug in + DFA state caching under lookahead conditions. [Bug 2318] 1999-07-07 Scott Stanton * doc/fconfigure.n: Clarified default buffering behavior for the - standard channels. [Bug: 2335] + standard channels. [Bug 2335] 1999-07-06 Scott Redman - * win/tclWinSerial.c: New implementation of serial port driver - from Rolf Shroedter (Rolf.Schroedter@dlr.de) that allows more than - one byte to be read from the port. Implemented using polling - instead of threads, there is a max. 10ms latency between checking the - port for file events. [Bug: 1980 2217] + * win/tclWinSerial.c: New implementation of serial port driver from + Rolf Shroedter (Rolf.Schroedter@dlr.de) that allows more than one byte + to be read from the port. Implemented using polling instead of + threads, there is a max. 10ms latency between checking the port for + file events. [Bug 1980 2217] 1999-07-06 Brent Welch - * library/http2.0/http.tcl: Fixed the -timeout option so it - handles timeouts that occur during connection attempts to - hosts that are down (the only case that really matters!) + * library/http2.0/http.tcl: Fixed the -timeout option so it handles + timeouts that occur during connection attempts to hosts that are down + (the only case that really matters!) 1999-07-03 Brent Welch * doc/ChnlStack.3: * generic/tcl.decls: - * generic/tclIO.c: Added a new variant of the "Trf patch" - from Andreas Kupres that adds new C APIs Tcl_StackChannel, - Tcl_UnstackChannel, and Tcl_GetStackedChannel. + * generic/tclIO.c: Added a new variant of the "Trf patch" from Andreas + Kupres that adds new C APIs Tcl_StackChannel, Tcl_UnstackChannel, and + Tcl_GetStackedChannel. 1999-07-03 Brent Welch @@ -1081,17 +1062,16 @@ * unix/tclXtTest.c: * unix/tclXtNotify.c: * win/tclWinNotify.c: - * mac/tclMacNotify.c: Added Tcl_SetNotifier and the associated - hook points in the notifiers to be able to replace the notifier - calls at runtime The Xt notifier and test program use this hook. + * mac/tclMacNotify.c: Added Tcl_SetNotifier and the associated hook + points in the notifiers to be able to replace the notifier calls at + runtime. The Xt notifier and test program use this hook. 1999-07-03 Brent Welch - * generic/tclParse.c: Changed parsing of variable names to - allow empty array names. Now "$(foo)" is a variable reference! - Previous you had to use something like $::(foo), which is slower. - This change is requested by Jean-Luc Fontaine for his STOOOP - package. + * generic/tclParse.c: Changed parsing of variable names to allow empty + array names. Now "$(foo)" is a variable reference! Previous you had to + use something like $::(foo), which is slower. This change is requested + by Jean-Luc Fontaine for his STOOOP package. 1999-07-01 Scott Redman @@ -1104,30 +1084,27 @@ * library/tcltest1.0/pkgIndex.tcl: * library/tcltest1.0/tcltest.tcl: * doc/tcltest.n: - * tests/all.tcl: Added -preservecore, -limitconstraints, -help, - -file, -notfile, -relateddir and -asidefromdir flags to the - tcltest package along with exported proc - ::tcltest::getMatchingFiles. The documentation was modified to - match and all.tcl was modified to use the new functionality - instead of implementing -file itself. + * tests/all.tcl: Added -preservecore, -limitconstraints, -help, -file, + -notfile, -relateddir and -asidefromdir flags to the tcltest package + along with exported proc ::tcltest::getMatchingFiles. The + documentation was modified to match and all.tcl was modified to use + the new functionality instead of implementing -file itself. 1999-06-28 Scott Redman * generic/tclIndexObj.c: * doc/GetIndex.3: * tests/binary.test: - * tests/winDde.test: Applied patch from Peter Hardie (with - changes) to fix problem with Tcl_GetIndexFromObj() when the key - being passed is the empty string. It used to match "" and return - TCL_OK, but it should have returned TCL_ERROR instead. Added test - case to "binary" and "dde" commands to check the behavior. Added - documentation note as well. + * tests/winDde.test: Applied patch from Peter Hardie (with changes) to + fix problem with Tcl_GetIndexFromObj() when the key being passed is + the empty string. It used to match "" and return TCL_OK, but it should + have returned TCL_ERROR instead. Added test case to "binary" and "dde" + commands to check the behavior. Added documentation note as well. 1999-06-26 Scott Redman - * win/tclWinDde.c: Applied patch from Peter Hardie to add poke - command to dde. Also rev'd version of dde package to 1.1. - [Bug: 1738] + * win/tclWinDde.c: Applied patch from Peter Hardie to add poke command + to dde. Also rev'd version of dde package to 1.1. [Bug 1738] 1999-06-25 Jennifer Hom @@ -1136,18 +1113,17 @@ * library/tcltest1.0/pkgIndex.tcl: * library/tcltest1.0/tcltest.tcl: * library/tcltest1.0: Added initial implementation of the Tcl test - harness package. This package was based on the defs.tcl file that - was part of the tests directory. Reversed the way that tests were + harness package. This package was based on the defs.tcl file that was + part of the tests directory. Reversed the way that tests were evaluated to fix a problem with false passes. * doc/tcltest.n: Added documentation for the tcltest package. * tests/README: * tests/defs.tcl: - * tests/all.tcl: Modified all test files (tests/*.test) and - all.tcl to use the new tcltest package and removed references to - the defs.tcl file. Modified the README file to point to the man - page for tcltest. + * tests/all.tcl: Modified all test files (tests/*.test) and all.tcl to + use the new tcltest package and removed references to the defs.tcl + file. Modified the README file to point to the man page for tcltest. 1999-06-25 Scott Stanton @@ -1162,8 +1138,8 @@ * doc/RegExp.3: * doc/regexp.n: * doc/regsub.n: Moved information about syntax of 8.1 regular - expressions from regexp(n) manpage into new re_syntax(n) page. - Added pointers from other manpages to new re_syntax(n) page. + expressions from regexp(n) manpage into new re_syntax(n) page. Added + pointers from other manpages to new re_syntax(n) page. 1999-06-23 Scott Stanton @@ -1177,34 +1153,34 @@ * generic/tclUniData.c: * generic/tclUtf.c: * doc/string.n: Updated Unicode character tables to reflect latest - Unicode 2.1 data. Also rationalized "regexp" and "string is" + Unicode 2.1 data. Also rationalized "regexp" and "string is" definitions of character classes. 1999-06-21 Scott Stanton * unix/tclUnixThrd.c (TclpThreadCreate): Fixed memory leak where - thread attributes were not being released. [Bug: 2254] + thread attributes were not being released. [Bug 2254] 1999-06-17 Scott Stanton * tests/regexp.test: * generic/tclCmdMZ.c: - * generic/tclCmdIL.c: Changed to use new regexp interfaces. Added + * generic/tclCmdIL.c: Changed to use new regexp interfaces. Added -expanded, -line, -linestop, and -lineanchor switches to regsub. - * doc/RegExp.3: Documented the new regexp interfaces and - the compile/execute flags. + * doc/RegExp.3: Documented the new regexp interfaces and the + compile/execute flags. * generic/tclTest.c: * generic/tclRegexp.h: * generic/tclRegexp.c: * generic/tcl.h: - * generic/tcl.decls: Renamed Tcl_RegExpMatchObj to - Tcl_RegExpExecObj and added a new Tcl_RegExpMatchObj that is - equivalent to Tcl_RegExpMatch. Added public macros for the regexp - compile/execute flags. Changed to store either an object pointer - or a string pointer in the TclRegexp structure. Changed to avoid - adding a reference to the object or copying the string. + * generic/tcl.decls: Renamed Tcl_RegExpMatchObj to Tcl_RegExpExecObj + and added a new Tcl_RegExpMatchObj that is equivalent to + Tcl_RegExpMatch. Added public macros for the regexp compile/execute + flags. Changed to store either an object pointer or a string pointer + in the TclRegexp structure. Changed to avoid adding a reference to the + object or copying the string. * generic/regcomp.c: lint @@ -1214,7 +1190,7 @@ iterate through a string an only find matches that start at the current position within the string. -1999-06-16 +1999-06-16 Michael Thomas * unix/configure.in: * unix/Makefile.in: @@ -1224,15 +1200,15 @@ 1999-06-16 Melissa Hirschl - * generic/tclVar.c (Tcl_VariableObjCmd): fixed premature increment - in loop that was causing out-of-bounds reads on array "varName". + * generic/tclVar.c (Tcl_VariableObjCmd): fixed premature increment in + loop that was causing out-of-bounds reads on array "varName". 1999-06-16 Scott Stanton * tests/execute.test: - * generic/tclExecute.c (TclExecuteByteCode): Fixed crash caused by - a bug in INST_LOAD_SCALAR1 where the scalar index was read as - a signed 1 byte value instead of unsigned. [Bug: 2243] + * generic/tclExecute.c (TclExecuteByteCode): Fixed crash caused by a + bug in INST_LOAD_SCALAR1 where the scalar index was read as a signed 1 + byte value instead of unsigned. [Bug 2243] 1999-06-14 Melissa Hirschl @@ -1242,34 +1218,33 @@ * win/Makefile.in * win/makefile.vc * generic/tclStringObj.c: - Merged String and Unicode object types. Added new functions to - the puplic API: Tcl_NewUnicodeObj, Tcl_SetUnicodeObj, - Tcl_GetUnicode, Tcl_GetUniChar, Tcl_GetCharLength, Tcl_GetRange, + Merged String and Unicode object types. Added new functions to the + puplic API: Tcl_NewUnicodeObj, Tcl_SetUnicodeObj, Tcl_GetUnicode, + Tcl_GetUniChar, Tcl_GetCharLength, Tcl_GetRange, Tcl_AppendUnicodeToObj. 1999-06-09 Scott Stanton - * generic/tclUnicodeObj.c: Lots of cleanup and simplification. - Fixed several memory bugs. Added TclAppendUnicodeToObj. + * generic/tclUnicodeObj.c: Lots of cleanup and simplification. Fixed + several memory bugs. Added TclAppendUnicodeToObj. * generic/tclInt.h: Added declarations for various Unicode string functions. * generic/tclRegexp.c: - * generic/tclCmdMZ.c: Changed to use new Unicode string interfaces - for better performance. + * generic/tclCmdMZ.c: Changed to use new Unicode string interfaces for + better performance. * generic/tclRegexp.h: * generic/tclRegexp.c: * generic/tcl.h: - * generic/tcl.decls: Added Tcl_RegExpMatchObj and - Tcl_RegExpGetInfo calls to access lower level regexp API. These - features are needed by Expect. This is a preliminary - implementation pending final review and cleanup. + * generic/tcl.decls: Added Tcl_RegExpMatchObj and Tcl_RegExpGetInfo + calls to access lower level regexp API. These features are needed by + Expect. This is a preliminary implementation pending final review and + cleanup. * generic/tclCmdMZ.c: - * tests/string.test: Fixed bug where string map failed on null - strings. + * tests/string.test: Fixed bug where string map failed on null strings * generic/regexec.c: * unix/tclUnixNotfy.c: lint @@ -1278,21 +1253,20 @@ 1999-06-08 Scott Stanton - * win/tclWinSock.c: Rolled back to the 8.1.0 implementation - because of serious problems with the new driver. Basically no - incoming socket connections would be reported to a server port. - The 8.1.1 code needs to be redesigned and fixed correctly. + * win/tclWinSock.c: Rolled back to the 8.1.0 implementation because of + serious problems with the new driver. Basically no incoming socket + connections would be reported to a server port. The 8.1.1 code needs + to be redesigned and fixed correctly. 1999-06-07 Melissa Hirschl * tests/string.test: * generic/tclVar.c (Tcl_SetVar2Ex): * generic/tclStringObj.c (Tcl_AppendObjToObj): - * generic/tclCmdMZ.c (Tcl_StringObjCmd): optimized the string - index, string length, string range, and append command in cases - where the object's internal rep is a bytearray. Objects with - other internal reps are converted to have the new unicode internal - rep. + * generic/tclCmdMZ.c (Tcl_StringObjCmd): optimized the string index, + string length, string range, and append command in cases where the + object's internal rep is a bytearray. Objects with other internal reps + are converted to have the new unicode internal rep. * unix/Makefile.in: * win/Makefile.in: @@ -1304,31 +1278,31 @@ unicode representation of a string. * generic/tclTestObj.c: added the objtype option to the testobj - command. This option returns the name of the type of internal rep - an object has. + command. This option returns the name of the type of internal rep an + object has. 1999-06-04 Scott Stanton * win/configure.in: * win/Makefile.in: Windows build now handles static/dynamic - debug/nodebug builds and supports the standard targets using - Cygwin user tools plus GNU make and autoconf. + debug/nodebug builds and supports the standard targets using Cygwin + user tools plus GNU make and autoconf. 1999-06-03 Scott Stanton * generic/tclCmdMZ.c (Tcl_StringObjCmd): * tests/string.test: Fixed bug where string equal/compare -nocase - reported wrong result on null strings. [Bug: 2138] + reported wrong result on null strings. [Bug 2138] 1999-06-02 Scott Stanton - * generic/tclUtf.c (Tcl_UtfNcasecmp): Fixed incorrect computation - of relative ordering. [Bug: 2135] + * generic/tclUtf.c (Tcl_UtfNcasecmp): Fixed incorrect computation of + relative ordering. [Bug 2135] 1999-06-01 Scott Stanton * unix/configure.in: Fixed various small configure.in patches - submitted by Jan Nijtmans. [Bug: 2121] + submitted by Jan Nijtmans. [Bug 2121] * tests/reg.test: * generic/regc_color.c: @@ -1350,8 +1324,8 @@ * generic/tclRegexp.c: * generic/tclRegexp.h: * generic/tclTest.c: Applied Henry Spencer's latest regexp patches - that fix an infinite loop bug and add support for testing whether - a string could match with additional input. [Bug: 2117] + that fix an infinite loop bug and add support for testing whether a + string could match with additional input. [Bug 2117] 1999-05-28 Scott Stanton @@ -1362,22 +1336,21 @@ * win/configure.in: Added preliminary TEA implementation. * win/tclWinDde.c: Fixed bug where dde calls were being passed an - invalid dde handle because Initialize had not been called. - [Bug: 2124] + invalid dde handle because Initialize had not been called. [Bug 2124] 1999-05-26 Scott Redman - * generic/tclThreadTest.c: Fixed race condition in testthread - code that showed up in the WinNT test suite intermittently. + * generic/tclThreadTest.c: Fixed race condition in testthread code + that showed up in the WinNT test suite intermittently. - * win/tclWinSock.c: Fixed a hang in the WinNT socket driver, wake - up the socket thread every 100ms to check for events on the - sockets that did not wake up the thread (race condition). + * win/tclWinSock.c: Fixed a hang in the WinNT socket driver, wake up + the socket thread every 100ms to check for events on the sockets that + did not wake up the thread (race condition). 1999-05-24 Scott Stanton - * tools/genStubs.tcl: Changed to allow a list of platforms instead - of just one at a time. + * tools/genStubs.tcl: Changed to allow a list of platforms instead of + just one at a time. * generic/tcl.decls: * generic/tclCmdMZ.c: @@ -1391,22 +1364,22 @@ 1999-05-21 Scott Redman - * win/tclWinPipe.c: Fix bug when launching command.com on - Win95/98. Need to wait for the procInfo.hProcess of the process that - was created, not the hProcess of the current process. [Bug: 2105] + * win/tclWinPipe.c: Fix bug when launching command.com on Win95/98. + Need to wait for the procInfo.hProcess of the process that was + created, not the hProcess of the current process. [Bug 2105] 1999-05-20 Scott Redman - * library/init.tcl: Add the directory where the executable is, and - the ../lib directory relative to that, to the auto_path variable. + * library/init.tcl: Add the directory where the executable is, and the + ../lib directory relative to that, to the auto_path variable. 1999-05-19 Scott Stanton Merged in various changes submitted by Jeff Hobbs: * generic/tcl.decls: - * generic/tclUtf.c: Added Tcl_UniCharIs* functions for control, - graph, print, and punct classes. + * generic/tclUtf.c: Added Tcl_UniCharIs* functions for control, graph, + print, and punct classes. * generic/tclUtil.c: * doc/StrMatch.3: Added Tcl_StringCaseMatch() implementation to @@ -1415,59 +1388,57 @@ * doc/string.n: * unix/mkLinks: * tests/string.test: - * generic/tclCmdMZ.c: Added additional character class tests, - added -nocase switch to "string match", changed string first/last - to use offsets. + * generic/tclCmdMZ.c: Added additional character class tests, added + -nocase switch to "string match", changed string first/last to use + offsets. 1999-05-19 Scott Redman * generic/tcl.h: Add extern "C" block around entire header file for - C++ compilers to fix linkage issues. Submitted by Don Porter and - Paul Duffin. + C++ compilers to fix linkage issues. Submitted by Don Porter and Paul + Duffin. - * generic/tclRegexp.c: Fix bug when the regexp cache is empty - and an empty pattern is used in regexp ( such as {} or "" ). + * generic/tclRegexp.c: Fix bug when the regexp cache is empty and an + empty pattern is used in regexp ( such as {} or "" ). 1999-05-18 Scott Stanton - * win/tclWinChan.c: Modified initialization code to avoid - inherenting closed or invalid channels. If the standard input is - anything other than a console, file, serial port, or pipe, then we - fall back to the standard Tk window console. + * win/tclWinChan.c: Modified initialization code to avoid inherenting + closed or invalid channels. If the standard input is anything other + than a console, file, serial port, or pipe, then we fall back to the + standard Tk window console. 1999-05-14 Scott Stanton - * generic/tclCmdAH.c (Tcl_ForObjCmd): Fixed crash caused by - failure to reset the result before evaluating the test - expression. + * generic/tclCmdAH.c (Tcl_ForObjCmd): Fixed crash caused by failure to + reset the result before evaluating the test expression. 1999-05-14 Bryan Surles - * generic/tclBasic.c (Tcl_CreateInterp): Added introspection - variable for threaded interps. If the interp was compiled with - threads enabled, the tcl_platform(threaded) variable will exist. + * generic/tclBasic.c (Tcl_CreateInterp): Added introspection variable + for threaded interps. If the interp was compiled with threads enabled, + the tcl_platform(threaded) variable will exist. 1999-05-14 Scott Redman * generic/tclDate.c: Applied patch to fix 100-year and 400-year - boundaries in leap year code, from Isaac Hollander. [Bug: 2066] + boundaries in leap year code, from Isaac Hollander. [Bug 2066] 1999-05-13 Scott Stanton * unix/Makefile.in: * unix/tclAppInit.c: Minor cleanup related to Xt notifier. - * unix/tclUnixInit.c (TclpSetInitialEncodings): Tcl now looks for - an encoding subfield in the LANG/LC_ALL variables in cases where - the locale is not found in the locale table. Ensure that - setlocale() is called at least once so X11 will initialize - properly. Also, forces the LC_NUMERIC locale to be "C" so numeric - processing in scripts is not affected by the current locale - setting. [Bug: 1989] + * unix/tclUnixInit.c (TclpSetInitialEncodings): Tcl now looks for an + encoding subfield in the LANG/LC_ALL variables in cases where the + locale is not found in the locale table. Ensure that setlocale() is + called at least once so X11 will initialize properly. Also, forces the + LC_NUMERIC locale to be "C" so numeric processing in scripts is not + affected by the current locale setting. [Bug 1989] - * generic/tclRegexp.c: Increased per-thread regexp cache to 30 - slots. This seems to be about the right number for larger - applications like exmh. [Bug: 1063] + * generic/tclRegexp.c: Increased per-thread regexp cache to 30 slots. + This seems to be about the right number for larger applications like + exmh. [Bug 1063] 1999-05-12 Scott Stanton @@ -1478,47 +1449,47 @@ * generic/tclInt.h: * generic/tclBasic.c: * generic/tclRegexp.h: - * generic/tclRegexp.c: Replaced the per-interpreter regexp cache - with a per-thread cache. Changed the Regexp object to take - advantage of this extra cache. Added a reference count to the - TclRegexp type so regexps can be shared by multiple objects. - Removed the per-interp regexp cache from the interpreter. Now - regexps can be used with no need for an interpreter. [Bug: 1063] + * generic/tclRegexp.c: Replaced the per-interpreter regexp cache with + a per-thread cache. Changed the Regexp object to take advantage of + this extra cache. Added a reference count to the TclRegexp type so + regexps can be shared by multiple objects. Removed the per-interp + regexp cache from the interpreter. Now regexps can be used with no + need for an interpreter. [Bug 1063] - * win/tclWinInit.c (TclpSetVariables): Avoid calling GetUserName - if the value can be determined from the USERNAME environment - variable. GetUserName is very slow. + * win/tclWinInit.c (TclpSetVariables): Avoid calling GetUserName if + the value can be determined from the USERNAME environment variable. + GetUserName is very slow. 1999-05-07 Scott Stanton * win/winDumpExts.c: - * win/makefile.vc: Removed incorrect patch. [Bug: 1998] + * win/makefile.vc: Removed incorrect patch. [Bug 1998] * generic/tcl.decls: Replaced const with CONST. * generic/tclResult.c (Tcl_AppendResultVA): * generic/tclStringObj.c (Tcl_AppendStringsToObjVA): Fixed to copy arglist using memcpy instead of assignment so it works properly on - OS/390. [Bug: 1997] + OS/390. [Bug 1997] * generic/tclLoadNone.c: Updated to use current interfaces, added - TclpUnloadFile. [Bug: 2003] + TclpUnloadFile. [Bug 2003] * win/winDumpExts.c: - * win/makefile.vc: Changed to emit library name in defs - file. [Bug: 1998] + * win/makefile.vc: Changed to emit library name in defs file. [Bug + 1998] - * unix/configure.in: Added fix for OS/390. [Bug: 1976] + * unix/configure.in: Added fix for OS/390. [Bug 1976] 1999-05-06 Scott Stanton * tests/string.test: * generic/tclCmdMZ.c: * doc/string.n: Fixed bug in string equal/compare code when using - -length option. Cleaned up docs a bit more. + -length option. Cleaned up docs a bit more. - * tests/http.test: Unset "data" array before running tests to - avoid failures due to previous tests. + * tests/http.test: Unset "data" array before running tests to avoid + failures due to previous tests. * doc/string.n: * tests/cmdIL.test: @@ -1532,12 +1503,11 @@ * tests/string.test: * tests/cmdIL.test: * generic/tclUtil.c: - * generic/tclCmdMZ.c: Replaced "string icompare/iequal" with - -nocase and -length switches to "string compare/equal". Added a - -nocase option to "string map". Changed index syntax to allow - integer or end?-integer? instead of a full expression. This is - much simpler with safeTcl scripts since it avoids double - substitution issues. + * generic/tclCmdMZ.c: Replaced "string icompare/iequal" with -nocase + and -length switches to "string compare/equal". Added a -nocase option + to "string map". Changed index syntax to allow integer or + end?-integer? instead of a full expression. This is much simpler with + safeTcl scripts since it avoids double substitution issues. * doc/Utf.3: * generic/tclStubInit.c: @@ -1555,8 +1525,8 @@ * doc/string.n: * tests/cmdMZ.test: * tests/string.test: - * generic/tclCmdMZ.c (Tcl_StringObjCmd): Changed "string length" - to avoid regenerating the string rep of a ByteArray object. + * generic/tclCmdMZ.c (Tcl_StringObjCmd): Changed "string length" to + avoid regenerating the string rep of a ByteArray object. * tests/cmdIL.test: * tests/cmdMZ.test: @@ -1567,53 +1537,40 @@ * tests/lreplace.test: * tests/string.test: * generic/tclCmdMZ.c (Tcl_StringObjCmd): - * generic/tclUtil.c (TclGetIntForIndex): Applied Jeff Hobbs's - string patch which includes the following changes [Bug: 1845]: - - - string compare now takes optional length arg (for strncmp - behavior) - - - added string equal (just a few lines of code blended - in with string compare) - - - added string icompare/iequal for case-insensitive comparisons - - - string index's index can now be ?end[+-]?expression - I made this change in the private TclGetIntForIndex, - which means that the list commands also benefit, as - well as string range, et al. - - - added [string repeat string count] - Repeats given string number of times - - - added string replace, string equiv to lreplace - (quasi opposite of string range): - string replace first last ?string? - Example of use, replacing end of string with ... - should the string be more than 16 chars long: - string replace $string 16 end "..." - This just returns the string len < 16, so it - will only affect the long strings. - - - added optional first and last args to string to* - This allows you to just affect certain regions of - a string with the command (like just capping the - first letter). I found the original totitle to - be too draconian to be useful. - - - added [string map charMap string] - where charMap is a {from to from to} list that equates to - what one might get from [array get]. Each and - can be multiple chars (or none at all). For Tcl/CGI users, - this is a MAJOR speed booster. - - * generic/tclParse.c (Tcl_ParseCommand): Changed to avoid - modifying eval'ed strings that are already null terminated. - [Bug: 1793] + * generic/tclUtil.c (TclGetIntForIndex): Applied Jeff Hobbs's string + patch which includes the following changes [Bug 1845]: + - string compare now takes optional length arg (for strncmp behavior) + - added string equal (just a few lines of code blended in with string + compare) + - added string icompare/iequal for case-insensitive comparisons + - string index's index can now be ?end[+-]?expression + I made this change in the private TclGetIntForIndex, which means + that the list commands also benefit, as well as string range, et al. + - added [string repeat string count] + Repeats given string number of times + - added string replace, string equiv to lreplace + (quasi opposite of string range): + string replace first last ?string? + Example of use, replacing end of string with ... should the string + be more than 16 chars long: + string replace $string 16 end "..." + This just returns the string len < 16, so it will only affect the + long strings. + - added optional first and last args to string to* + This allows you to just affect certain regions of a string with the + command (like just capping the first letter). I found the original + totitle to be too draconian to be useful. + - added [string map charMap string] + where charMap is a {from to from to} list that equates to what one + might get from [array get]. Each and can be multiple chars (or none + at all). For Tcl/CGI users, this is a MAJOR speed booster. + + * generic/tclParse.c (Tcl_ParseCommand): Changed to avoid modifying + eval'ed strings that are already null terminated. [Bug 1793] * tests/binary.test: - * generic/tclBinary.c (DupByteArrayInternalRep): Fixed bug where - type was not being set in duplicated object. [Bug: 1975, 2047] + * generic/tclBinary.c (DupByteArrayInternalRep): Fixed bug where type + was not being set in duplicated object. [Bug 1975, 2047] 1999-04-30 Scott Stanton @@ -1630,8 +1587,8 @@ * generic/tclIntDecls.h: * generic/tclDecls.h: * tools/genStubs.tcl: Added 'extern "C" {}' block around the stub - table pointer declaration so the stub library can be used from - C++. [Bug: 1934] + table pointer declaration so the stub library can be used from C++. + [Bug 1934] * Lots of documentation and other release engineering fixes. @@ -1641,15 +1598,14 @@ * generic/tclListObj.c: * generic/tclObj.c: * generic/tclStringObj.c: Changed to avoid freeing the string - representation before freeing the internal rep. This helps with - debugging since the string rep will still be valid when the free - proc is invoked. + representation before freeing the internal rep. This helps with + debugging since the string rep will still be valid when the free proc + is invoked. 1999-04-27 Scott Stanton - * generic/tclLiteral.c (TclHideLiteral): Fixed so hidden literals - get duplicated to avoid accidental sharing in the global object - table. + * generic/tclLiteral.c (TclHideLiteral): Fixed so hidden literals get + duplicated to avoid accidental sharing in the global object table. 1999-04-23 Scott Stanton @@ -1661,37 +1617,37 @@ * library/encoding/koi8-r.enc: * tools/encoding/koi8-r.txt: Added support for the koi8-r Cyrillic - encoding. [Bug: 1771] + encoding. [Bug 1771] 1999-04-22 Scott Stanton * win/tclWinFCmd.c: - * win/tclWin32Dll.c: Changed uses of "try" to "__try", since that - is the actual keyword. This eliminates the need for some -D flags - from the makefile. + * win/tclWin32Dll.c: Changed uses of "try" to "__try", since that is + the actual keyword. This eliminates the need for some -D flags from + the makefile. - * generic/tclPort.h: Added include of tcl.h since it defines - various Windows macros that are needed before deciding which - platform porting file to use. + * generic/tclPort.h: Added include of tcl.h since it defines various + Windows macros that are needed before deciding which platform porting + file to use. * generic/tclEvent.c: lint - * win/tclWinInit.c (TclpInitPlatform): Added call to TclWinInit - when building a static library since DllMain will not be invoked. - This could break old code that explicitly called TclWinInit, but - should be simpler in the long run. + * win/tclWinInit.c (TclpInitPlatform): Added call to TclWinInit when + building a static library since DllMain will not be invoked. This + could break old code that explicitly called TclWinInit, but should be + simpler in the long run. 1999-04-22 Scott Stanton * generic/tclInt.h: * generic/tclInt.decls: - * generic/tclCompile.c: Added TclSetByteCodeFromAny that takes a - hook procedure to invoke after compilation but before the byte - codes are emitted. This makes it possible to do postprocessing on - the compiled byte codes before the ByteCode is generated. + * generic/tclCompile.c: Added TclSetByteCodeFromAny that takes a hook + procedure to invoke after compilation but before the byte codes are + emitted. This makes it possible to do postprocessing on the compiled + byte codes before the ByteCode is generated. - * generic/tclLiteral.c: Added TclHideLiteral and TclAddLiteralObj - to make it possible to create local unshared literal objects. + * generic/tclLiteral.c: Added TclHideLiteral and TclAddLiteralObj to + make it possible to create local unshared literal objects. * win/tclWinInit.c: * unix/tclUnixInit.c: Changed initial search path to match that @@ -1700,10 +1656,10 @@ 1999-04-22 Scott Redman * win/tclWinPort.h: - * win/tclWinSock.c: Added code to use WinSock 2.0 API on NT to - avoid creating a window to handle sockets. API not available on - Win95 and needs to be fixed on Win98, until then continue to use - the older (window-based) scheme on those two OSes. + * win/tclWinSock.c: Added code to use WinSock 2.0 API on NT to avoid + creating a window to handle sockets. API not available on Win95 and + needs to be fixed on Win98, until then continue to use the older + (window-based) scheme on those two OSes. 1999-04-15 Scott Stanton @@ -1716,31 +1672,31 @@ * tools/encoding/gb2312.txt: * tools/encoding/cp950.txt: * tools/encoding/Makefile: Restored the double byte definition of - GB2312 and added the EUC-CN encoding. EUC-CN is a variant of - GB2312 that shifts the characters into bytes with the high bit set - and includes ASCII as a subset. [Bug: 632] + GB2312 and added the EUC-CN encoding. EUC-CN is a variant of GB2312 + that shifts the characters into bytes with the high bit set and + includes ASCII as a subset. [Bug 632] 1999-04-13 Scott Redman - * win/tclWinSock.c: Apply patch to allow write access to a socket - if FD_WRITE is sent but FD_CONNECT is not. Some strange problem - with either Win32 or a socket driver. [Bug: 1664 1776] + * win/tclWinSock.c: Apply patch to allow write access to a socket if + FD_WRITE is sent but FD_CONNECT is not. Some strange problem with + either Win32 or a socket driver. [Bug 1664 1776] 1999-04-09 Scott Redman - * unix/tclUnixNotfy.c: Fixed notifier deadlock situation when the - pipe used to talk back notifier thread is filled with data. When - calling the write() function to feed data down that pipe, unlock - the notifierMutex to allow the notifier to wake up again. Found - as a result of the focus.test for Tk hanging. [Bug: 1700] + * unix/tclUnixNotfy.c: Fixed notifier deadlock situation when the pipe + used to talk back notifier thread is filled with data. When calling + the write() function to feed data down that pipe, unlock the + notifierMutex to allow the notifier to wake up again. Found as a + result of the focus.test for Tk hanging. [Bug 1700] 1999-04-06 Scott Stanton * tests/unixNotfy.test: Fixed hang in tests when built with thread support. - * tests/httpold.test: Fixed broken test that didn't wait long - enough for events to arrive. + * tests/httpold.test: Fixed broken test that didn't wait long enough + for events to arrive. * tests/unixInit.test: Fixed race condition in test. @@ -1753,36 +1709,36 @@ 1999-04-06 Bryan Surles * generic/tclVar.c: - * generic/tclEnv.c: Moved the "array set" C level code into a - common routine (TclArraySet). The TclSetupEnv routine now uses - this API to create an env array w/ no elements. + * generic/tclEnv.c: Moved the "array set" C level code into a common + routine (TclArraySet). The TclSetupEnv routine now uses this API to + create an env array w/ no elements. * generic/tclEnv.c: * generic/tclWinInit.h: * generic/tclUnixInit.h: - * generic/tclInt.h: Made the Env module I18N compliant. Changed the + * generic/tclInt.h: Made the Env module I18N compliant. Changed the FindVariable routine to TclpFindVariable, that now does a case - insensitive string comparison on Windows, and not on UNIX. [Bug: - 1299, 1500] + insensitive string comparison on Windows, and not on UNIX. [Bug 1299, + 1500] 1999-04-05 Scott Stanton * tests/io.test: Minor test cleanup. - * generic/tclEncoding.c (Tcl_CreateEncoding): Minor lint to make - it easier to compile on Digital-unix. [Bug: 1659] + * generic/tclEncoding.c (Tcl_CreateEncoding): Minor lint to make it + easier to compile on Digital-unix. [Bug 1659] * unix/configure.in: * unix/tclUnixPort.h: Applied patch for OS/390 to handle lack of - sys/param.h. [Bug: 1725] + sys/param.h. [Bug 1725] - * unix/configure.in: Fixed BSD/OS 4.* configuration to support - shared libraries properly. [Bug: 1730] + * unix/configure.in: Fixed BSD/OS 4.* configuration to support shared + libraries properly. [Bug 1730] 1999-04-05 Scott Redman - * win/tclWinDde.c: decrease timeout value for DDE calls to 30k - [Bug: 1639] + * win/tclWinDde.c: decrease timeout value for DDE calls to 30k. [Bug + 1639] * generic/tcl.decls: * generic/tcl.h: @@ -1792,23 +1748,23 @@ * generic/tclIntDecls.h: * generic/tclStubInit.c: * generic/tclUtil.c: Added more functions to the Tcl stubs table, - including all Tcl_ functions not already in it (except Cmd - functions) and Tcl_GetCwd() and Tcl_Chdir() (new functions). + including all Tcl_ functions not already in it (except Cmd functions) + and Tcl_GetCwd() and Tcl_Chdir() (new functions). * tests/safe.test: * doc/safe.n: * generic/tclBasic.c: - * library/safe.tcl: The encoding command is not safe as-is, so - create a safe alias to mask out the "encoding system " but - allow all other uses including "encoding system". Added test cases - and updated the man page for Safe Tcl. + * library/safe.tcl: The encoding command is not safe as-is, so create + a safe alias to mask out the "encoding system " but allow all + other uses including "encoding system". Added test cases and updated + the man page for Safe Tcl. 1999-04-05 Scott Stanton * tests/winTime.test: - * win/tclWinTime.c: Fixed crash in clock command that occurred - when manipulating negative time values in timezones east of - GMT. [Bug: 1142, 1458] + * win/tclWinTime.c: Fixed crash in clock command that occurred when + manipulating negative time values in timezones east of GMT. [Bug + 1142, 1458] * tests/platform.test: * tests/fileName.test: Fixed broken tests. @@ -1816,22 +1772,21 @@ * generic/tclFileName.c: Moved global regexps into thread local storage. - * tests/socket.test: Changed so tests don't reuse sockets, - since Windows is slow to release sockets. + * tests/socket.test: Changed so tests don't reuse sockets, since + Windows is slow to release sockets. * win/tclWinConsole.c: * win/tclWinPipe.c: - * win/tclWinSerial.c: Fixed race condition where background - threads were terminated while they still held a lock in the - notifier. + * win/tclWinSerial.c: Fixed race condition where background threads + were terminated while they still held a lock in the notifier. 1999-04-02 Scott Stanton * tests/http.test: Fixed bad test initialization code. * generic/tclThreadTest.c (ThreadExitProc): Fixed bug where static - memory was being returned instead of a dynamically allocated - result in error cases. + memory was being returned instead of a dynamically allocated result in + error cases. 1999-04-02 Scott Redman @@ -1839,10 +1794,9 @@ * tools/tcl.wse.in: * win/makefile.vc: * win/pkgIndex.tcl: - * win/tclWinDde.c: Add new DDE package, code removed from Tk now - separated into its own package. Changed DDE-based send code into - "dde eval" command. Can be loaded into tclsh (not just wish). - Windows only. + * win/tclWinDde.c: Add new DDE package, code removed from Tk now + separated into its own package. Changed DDE-based send code into "dde + eval" command. Can be loaded into tclsh (not just wish). Windows only. 1999-04-02 Scott Stanton @@ -1855,7 +1809,7 @@ * tests/if.test: * tests/init.test: * tests/interp.test: - * tests/while.test: Added some tests for known bugs (marked with + * tests/while.test: Added some tests for known bugs (marked with knownBug constraint), and cleaned up a few bad tests. * generic/regc_locale.c: @@ -1869,9 +1823,8 @@ * generic/tclTest.c: * generic/tclUtf.c: * win/tclWinFCmd.c: - * win/tclWinFile.c: Made various Unicode utility functions - public. The following functions were made public and added to the - stubs table: + * win/tclWinFile.c: Made various Unicode utility functions public. The + following functions were made public and added to the stubs table: Tcl_UtfToUniCharDString, Tcl_UniCharToUtfDString, Tcl_UniCharLen, Tcl_UniCharNcmp, Tcl_UniCharIsAlnum, Tcl_UniCharIsAlpha, Tcl_UniCharIsDigit, Tcl_UniCharIsLower, @@ -1880,19 +1833,19 @@ 1999-04-01 Scott Stanton * tests/registry.test: - * win/tclWinReg.c: Internationalized the registry code. It now - uses Unicode interfaces on NT. [Bug: 1197] + * win/tclWinReg.c: Internationalized the registry code. It now uses + Unicode interfaces on NT. [Bug 1197] * tests/parse.test: * generic/tclParse.c: Fixed crash due to multiple frees in parser - during error cleanup when parsing commands with more tokens than - will fit in the static area of the parse structure. [Bug: 1681] + during error cleanup when parsing commands with more tokens than will + fit in the static area of the parse structure. [Bug 1681] * generic/tclInt.h: Removed duplicate declarations. * generic/tclInt.decls: - * generic/tcl.decls: Added Tcl_WinUtfToTChar and Tcl_WinTCharToUtf - to the tclPlat table. + * generic/tcl.decls: Added Tcl_WinUtfToTChar and Tcl_WinTCharToUtf to + the tclPlat table. 1999-04-01 Scott Redman @@ -1904,35 +1857,35 @@ * tools/genStubs.tcl: * unix/Makefile.in: * win/makefile.vc: Applied patch from Jan Nijtmans to fix Ultrix - multiple symbol definition problem. Now, even Tcl includes a copy - of the Tcl stub library. Also fixed TCL_MEM_DEBUG mode (for Tk). + multiple symbol definition problem. Now, even Tcl includes a copy of + the Tcl stub library. Also fixed TCL_MEM_DEBUG mode (for Tk). 1999-03-31 Scott Redman - * win/tclWinConsole.c: WinNT has a bug when reading a single - character from the console. Rewrote the code for the console to - read an entire line at a time using the reader thread. + * win/tclWinConsole.c: WinNT has a bug when reading a single character + from the console. Rewrote the code for the console to read an entire + line at a time using the reader thread. 1999-03-30 Scott Stanton - * unix/Makefile.in: Removed trailing backslash that broke the - "depend" target. + * unix/Makefile.in: Removed trailing backslash that broke the "depend" + target. * unix/tclUnixInit.c (TclpSetInitialEncodings): Changed to avoid - calling setlocale(). We now look directly at env(LANG) and - env(LC_CTYPE) instead. [Bug: 1636] + calling setlocale(). We now look directly at env(LANG) and + env(LC_CTYPE) instead. [Bug 1636] * generic/tclFileName.c: * generic/tclDecls.h: * generic/tcl.decls: Removed CONST from Tcl_JoinPath and - Tcl_TranslateFileName because it changes the signature of - Tcl_JoinPath in an incompatible manner. + Tcl_TranslateFileName because it changes the signature of Tcl_JoinPath + in an incompatible manner. * generic/tclInt.h: * generic/tclLoad.c (TclFinalizeLoad): * generic/tclEvent.c (Tcl_Finalize): Defer unloading of loadable - modules until all exit handlers have been invoked. - [Bug: 998, 1273, 1573, 1593] + modules until all exit handlers have been invoked. [Bug 998, 1273, + 1573, 1593] 1999-03-29 Scott Stanton @@ -1952,63 +1905,62 @@ * generic/tclDecls.h: * generic/tclIntDecls.h: * generic/tclPlatDecls.h: - * generic/tclIntPlatDecls.h: Removed the stub functions and - changed the stub macros to just use the name without params. Pass - &tclStubs into the interp (don't use tclStubsPtr because of - collisions with the stubs on Solaris). + * generic/tclIntPlatDecls.h: Removed the stub functions and changed + the stub macros to just use the name without params. Pass &tclStubs + into the interp (don't use tclStubsPtr because of collisions with the + stubs on Solaris). 1999-03-27 Scott Redman - * win/makefile.bc: Removed makefile for Borland compiler, no - longer supported. + * win/makefile.bc: Removed makefile for Borland compiler, no longer + supported. 1999-03-26 Scott Redman * win/tclWinSerial.c: * win/tclWinConsole.c: - * win/tclWinPipe.c: Don't close the Win32 handle for a channel if - it's a stdio handle (GetStdHandle()) during shutdown of a thread - to prevent it from destroying the stdio of other threads. + * win/tclWinPipe.c: Don't close the Win32 handle for a channel if it's + a stdio handle (GetStdHandle()) during shutdown of a thread to prevent + it from destroying the stdio of other threads. 1999-03-26 Suresh Ankolekar - * unix/configure.in - --nameble-shared is now the default and build Tcl as a shared - library; specify --disable-shared to build a static Tcl library - and shell. + * unix/configure.in: --nameble-shared is now the default and build Tcl + as a shared library; specify --disable-shared to build a static Tcl + library and shell. 1999-03-25 Scott Stanton * tests/interp.test: - * generic/tclInterp.c (AliasObjCmd): Changed so aliases are - invoked at current scope in the target interpreter instead of at - the global scope. This was an incompatibility introduced in 8.1 - that is being removed. [Bug: 1153, 1556] + * generic/tclInterp.c (AliasObjCmd): Changed so aliases are invoked at + current scope in the target interpreter instead of at the global + scope. This was an incompatibility introduced in 8.1 that is being + removed. [Bug 1153, 1556] * library/encoding/big5.enc: * library/encoding/gb2312.enc: * tools/encoding/big5.enc: - * tools/encoding/gb2312.enc: Added ASCII to big5 and gb2312 - encodings. [Bug: 632] + * tools/encoding/gb2312.enc: Added ASCII to big5 and gb2312 encodings. + [Bug 632] * generic/tclPkg.c (Tcl_PkgRequireEx): Fixed broken clientData initialization in package code. - * unix/Makefile.in (dist): Added tcl.decls and tclInt.decls to - source distribution. [Bug: 1571] + * unix/Makefile.in (dist): Added tcl.decls and tclInt.decls to source + distribution. [Bug 1571] * doc/Thread.3: Updated documentation of Tcl_MutexLock to indicate - that the recursive locking behavior is undefined. On Windows, it - does not block, on Unix it deadlocks. [Bug: 1275] + that the recursive locking behavior is undefined. On Windows, it does + not block, on Unix it deadlocks. [Bug 1275] 1999-03-24 Scott Stanton * tests/execute.test: * generic/tclExecute.c (TclExecuteByteCode): Fixed expression code - that incorrectly returned floating point values for integers if - the internal rep happened to be a double. Now we check to see if - the object has a string rep that looks like an integer before - using the double internal rep. [Bug: 1516] + that incorrectly returned floating point values for integers if the + internal rep happened to be a double. Now we check to see if the + object has a string rep that looks like an integer before using the + double internal rep. [Bug 1516] 1999-03-24 Scott Redman @@ -2016,20 +1968,19 @@ * generic/tclEncoding.c: * generic/tclProc.c: * unix/tclUnixTime.c: - * win/tclWinSerial.c: Fixed compilation warnings/errors for VC++ - 5.0 and 6.0 and HP-UX native compiler without -Aa or -Ae. - [Bug: 1323 1518 1324 1583 1585 1586] + * win/tclWinSerial.c: Fixed compilation warnings/errors for VC++ 5.0 + and 6.0 and HP-UX native compiler without -Aa or -Ae. [Bug 1323 1518 + 1324 1583 1585 1586] - * win/tclWinSock.c: Make sockets thread-safe on Windows. The - current implementation uses windows to handle events on the - socket, one for each thread (thread local storage). Previously, - there was only one window shared between threads, which didn't - work. [Bug: 1326] + * win/tclWinSock.c: Make sockets thread-safe on Windows. The current + implementation uses windows to handle events on the socket, one for + each thread (thread local storage). Previously, there was only one + window shared between threads, which didn't work. [Bug 1326] 1999-03-23 Scott Stanton - * tools/tcl.wse: Fixed file association to look in the right place - for the wish icon. [Bug: 1544] + * tools/tcl.wse: Fixed file association to look in the right place for + the wish icon. [Bug 1544] * tests/winNotify.test: * tests/ioCmd.test: @@ -2038,39 +1989,38 @@ * tests/encoding.test: Fixed nonportable test. * unix/dltest/configure.in: - * unix/dltest/Makefile.in: Added missing DBGX macros. [Bug: 1564] + * unix/dltest/Makefile.in: Added missing DBGX macros. [Bug 1564] * tests/winNotify.test: * mac/tclMacNotify.c: * win/tclWinNotify.c: * unix/tclUnixNotfy.c: - * generic/tclNotify.c: Added a new Tcl_ServiceModeHook interface - that is invoked whenever the service mode changes. This is needed - to allow the Windows notifier to create a communication window the - first time Tcl is about to enter an external modal event loop - instead of at startup time. This will avoid the various problems - that people have been seeing where the system hangs when tclsh - is running outside of the event loop. [Bug: 783] + * generic/tclNotify.c: Added a new Tcl_ServiceModeHook interface that + is invoked whenever the service mode changes. This is needed to allow + the Windows notifier to create a communication window the first time + Tcl is about to enter an external modal event loop instead of at + startup time. This will avoid the various problems that people have + been seeing where the system hangs when tclsh is running outside of + the event loop. [Bug 783] * generic/tclInt.h: * generic/tcl.decls: Renamed TclpAlertNotifier back to - Tcl_AlertNotifier since it is part of the public notifier driver - API. + Tcl_AlertNotifier since it is part of the public notifier driver API. 1999-03-23 Scott Redman - * win/tclWinSerial.c: Fixed problem with fileevent on the serial - port and nonblocking mode. Gets no longer hangs, fileevents fire - whenever there is any character data on the port. + * win/tclWinSerial.c: Fixed problem with fileevent on the serial port + and nonblocking mode. Gets no longer hangs, fileevents fire whenever + there is any character data on the port. * tests/winConsole.test: - * win/tclWinConsole.c: Fixed problem with fileevents and gets from - a console stdin. Previously, fileevents were firing before an - entire line was available for reading, which meant that when you - did a gets or read, it blocked (even in nonblocking mode). Now, it - should work the same as Unix: fileevents fire when an entire line - is ready, and gets and read do not block in non-blocking mode. - Added an interactive test case to check for this. + * win/tclWinConsole.c: Fixed problem with fileevents and gets from a + console stdin. Previously, fileevents were firing before an entire + line was available for reading, which meant that when you did a gets + or read, it blocked (even in nonblocking mode). Now, it should work + the same as Unix: fileevents fire when an entire line is ready, and + gets and read do not block in non-blocking mode. Added an interactive + test case to check for this. 1999-03-22 Scott Stanton @@ -2079,34 +2029,33 @@ 1999-03-19 Scott Redman - * generic/tclCmdIL.c: Fixed the initialization of an array so that - the Sun 5.0 C compiler wouldn't complain. + * generic/tclCmdIL.c: Fixed the initialization of an array so that the + Sun 5.0 C compiler wouldn't complain. - * unix/configure.in: Added support for --enable-64bit. For now, - this is only supported on Solaris 7 64bit (SunOS 5.7) using the Sun + * unix/configure.in: Added support for --enable-64bit. For now, this + is only supported on Solaris 7 64bit (SunOS 5.7) using the Sun compiler (not gcc). 1999-03-18 Scott Stanton - * win/tclWinChan.c (TclpOpenFileChannel, Tcl_MakeFileChannel): - Changed to only test for console or comm handles when the type is - FILE_TYPE_CHAR to avoid useless tests on simple files. Also - reordered tests so consoles are tested first as this is more - common. + * win/tclWinChan.c (TclpOpenFileChannel, Tcl_MakeFileChannel): Changed + to only test for console or comm handles when the type is + FILE_TYPE_CHAR to avoid useless tests on simple files. Also reordered + tests so consoles are tested first as this is more common. * win/makefile.vc: Regularized usage of mkd and rmd and rm. * library/encoding/shiftjis.enc: * tools/encoding/shiftjis.txt: Missing/incorrect characters in - shift-jis table. [Bug: 1008, 1526] + shift-jis table. [Bug 1008, 1526] * generic/tclInt.decls: * generic/tcl.decls: Eliminated use of "string" and "list" from - argument lists to avoid conflicts with C++ STL. [Bug: 1181] + argument lists to avoid conflicts with C++ STL. [Bug 1181] * win/tclWinFile.c (TclpMatchFiles): Changed to ignore the - FS_CASE_IS_PRESERVED bit and always return exactly what we get - from the system. + FS_CASE_IS_PRESERVED bit and always return exactly what we get from + the system. 1999-03-17 Scott Stanton @@ -2122,8 +2071,8 @@ * win/tclWinPipe.c: * win/tclWinSerial.c: Changed so channel drivers wait for the reader/writer threads to exit before returning during a close - operation. This ensures that the main thread is the last thread - to exit, so the process return value is set properly. + operation. This ensures that the main thread is the last thread to + exit, so the process return value is set properly. * generic/tclIntDecls.h: * generic/tclIntPlatDecls.h: @@ -2134,21 +2083,21 @@ * generic/tclStubInit.c: * generic/tclStubs.c: Fixed bad eol characters. - * generic/tclInt.decls: Changed "const" to "CONST" in - declarations for better portability. + * generic/tclInt.decls: Changed "const" to "CONST" in declarations for + better portability. * generic/tcl.decls: Renamed panic and panicVA to Tcl_Panic and Tcl_PanicVA in the stub files. - * generic/tclInterp.c (Tcl_MakeSafe): Remove tcl_platform(user) - from safe interps. + * generic/tclInterp.c (Tcl_MakeSafe): Remove tcl_platform(user) from + safe interps. 1999-03-11 Scott Stanton * unix/Makefile.in: * unix/configure.in: Include compat files in the stub library in - addition to the main library. Compat files are now built for - dynamic use in all cases. + addition to the main library. Compat files are now built for dynamic + use in all cases. * generic/tcl.h: Changed magic number so it doesn't match the plus patch, at Jan's request. @@ -2161,15 +2110,14 @@ * unix/dltest/pkgc.c: * unix/dltest/pkgd.c: * unix/dltest/pkge.c: - * unix/dltest/pkgf.c: Changed package tests to build against the - stubs library. + * unix/dltest/pkgf.c: Changed package tests to build against the stubs + library. 1999-03-10 Scott Stanton * generic/tcl.h: - * generic/tcl.decls: Changed Tcl_ReleaseType from an enum to - macros so it can be used in .rc files. - Added Tcl_GetString. + * generic/tcl.decls: Changed Tcl_ReleaseType from an enum to macros so + it can be used in .rc files. Added Tcl_GetString. * mac/tclMacNotify.c: * generic/tclNotify.c: @@ -2177,16 +2125,15 @@ * win/tclWinNotify.c: * generic/tcl.h: Renamed Tcl_AlertNotifier to TclpAlertNotifier. - * generic/tclInt.decls: Added TclWinAddProcess to make it possible - for expect to use Tcl_WaitForPid(). This patch is from Gordon - Chaffee. + * generic/tclInt.decls: Added TclWinAddProcess to make it possible for + expect to use Tcl_WaitForPid(). This patch is from Gordon Chaffee. * mac/tclMacPort.h: * win/tclWinInit.c: * unix/tclUnixPort.h: - * generic/tclAsync.c: Added TclpAsyncMark to fix bug in async - handling on Windows where async events don't wake up the event - loop. This patch comes from Gordon Chaffee. + * generic/tclAsync.c: Added TclpAsyncMark to fix bug in async handling + on Windows where async events don't wake up the event loop. This patch + comes from Gordon Chaffee. * generic/tcl.decls: Fixed declarations of reserved slots. @@ -2196,10 +2143,10 @@ compatible with the version in 8.0.6. * generic/tcl.h: - * generic/tclBasic.c: Add Tcl_GetVersion() function to the public - C API to allow programs to check the version number of the Tcl - library at runtime. Also added an enum to clarify the release - level (alpha, beta, final). + * generic/tclBasic.c: Add Tcl_GetVersion() function to the public C + API to allow programs to check the version number of the Tcl library + at runtime. Also added an enum to clarify the release level (alpha, + beta, final). 1999-03-09 Scott Stanton @@ -2210,13 +2157,12 @@ 1999-03-08 Lee Bernhard - * win/tclWin32Dll.c: Removed Dll instance from thread-local - storage. + * win/tclWin32Dll.c: Removed Dll instance from thread-local storage. 1999-03-08 Scott Stanton - * generic/tcl.h: Moved Tcl_Mutex, etc. macros above the inclusion - of tclDecls.h to avoid macro conflicts. + * generic/tcl.h: Moved Tcl_Mutex, etc. macros above the inclusion of + tclDecls.h to avoid macro conflicts. * generic/tclInt.h: * generic/regc_color.c: @@ -2256,12 +2202,12 @@ * unix/Makefile.in: * unix/tclConfig.sh.in: * win/makefile.vc: - * win/tclWinPort.h: Added Tcl stubs implementation. There are - now two new macros USE_TCL_STUBS and USE_TCL_STUB_PROCS that - enable use of stubs and disable stub macros respectively. All of - the public and private function declarations from tcl.h and - tclInt.h have moved into the *.decls files and the *Stubs.c and - *Decls.h files are generated using the genStubs.tcl script. + * win/tclWinPort.h: Added Tcl stubs implementation. There are now two + new macros USE_TCL_STUBS and USE_TCL_STUB_PROCS that enable use of + stubs and disable stub macros respectively. All of the public and + private function declarations from tcl.h and tclInt.h have moved into + the *.decls files and the *Stubs.c and *Decls.h files are generated + using the genStubs.tcl script. * unix/Makefile.in: * unix/configure.in: @@ -2270,8 +2216,8 @@ * win/tclWinSock.c: Removed a bunch of extraneous PASCAL FAR attributes from internal functions. - * win/tclWinReg.c: Changed registry package to use stubs mechanism - so it no longer depends on the specific version of Tcl. + * win/tclWinReg.c: Changed registry package to use stubs mechanism so + it no longer depends on the specific version of Tcl. * doc/AddErrInfo.3: * doc/Eval.3: @@ -2283,22 +2229,21 @@ * generic/tclPanic.c: * generic/tclStringObj.c: * generic/tclUtil.c: - * unix/mkLinks: Added va_list versions of all VARARGS - functions so they can be invoked from the stub functions. + * unix/mkLinks: Added va_list versions of all VARARGS functions so + they can be invoked from the stub functions. * doc/package.n: * doc/PkgRequire.3: * generic/tclPkg.c: Added Tcl_PkgProvideEx, Tcl_RequireEx, - Tcl_PresentEx, and Tcl_PkgPresent. Added "package present" - command. + Tcl_PresentEx, and Tcl_PkgPresent. Added "package present" command. * generic/tclFileName.c: * mac/tclMacFile.c: * mac/tclMacShLib.exp: * unix/tclUnixFile.c: - * win/tclWinFile.c: Changed so TclGetUserHome is defined on - all platforms, even though it is currently a noop on mac and - windows, and renamed it to TclpGetUserHome. + * win/tclWinFile.c: Changed so TclGetUserHome is defined on all + platforms, even though it is currently a noop on mac and windows, and + renamed it to TclpGetUserHome. * generic/tclPanic.c: * generic/panic.c: Renamed panic to Tcl_Panic. @@ -2307,19 +2252,19 @@ * win/makefile.vc: Added tclWinConsole.c and tclWinSerial.c - * win/tclWinConsole.c: New code to properly deal with fileevents - and nonblocking mode on consoles. + * win/tclWinConsole.c: New code to properly deal with fileevents and + nonblocking mode on consoles. - * win/tclWinSerial.c: New code to properly deal with fileevents - and nonblocking mode on serial ports. + * win/tclWinSerial.c: New code to properly deal with fileevents and + nonblocking mode on serial ports. * win/tclWinPipe.c: * win/tclWinPort.h: Exported functions to allow creation of pipe channels from tclWinChan.c * win/tclWinChan.c: Check the type of a channel, including for the - standard (stdin/stdout/stderr), and use the correct channel type - to create the channel (file, serial, console, or pipe). + standard (stdin/stdout/stderr), and use the correct channel type to + create the channel (file, serial, console, or pipe). 1999-02-11 Scott Stanton @@ -2332,16 +2277,15 @@ 1999-02-10 Scott Stanton - * library/auto.tcl: Fixed auto_mkindex so it handles .tbc files. - Did some general cleanup to handle bad eval statements that didn't - use "list". + * library/auto.tcl: Fixed auto_mkindex so it handles .tbc files. Did + some general cleanup to handle bad eval statements that didn't use + "list". * unix/mkLinks: * doc/SetVar.3: * generic/tcl.h: - * generic/tclVar.c: Restored Tcl_ObjGetVar2 and Tcl_ObjSetVar2 - from 8.0. Renamed Tcl_Get/SetObjVar2 to Tcl_GetVar2Ex and - Tcl_SetVar2Ex. + * generic/tclVar.c: Restored Tcl_ObjGetVar2 and Tcl_ObjSetVar2 from + 8.0. Renamed Tcl_Get/SetObjVar2 to Tcl_GetVar2Ex and Tcl_SetVar2Ex. 1999-02-10 Scott Stanton @@ -2353,99 +2297,96 @@ * tests/cmdAH.test: * generic/tclFileName.c (TclGetExtension): Changed behavior so the split happens at the last period in the name instead of the first - period of the last run of periods. So, "foo..o" is split into - "foo." and ".o" now. [Bug: 1126] + period of the last run of periods. So, "foo..o" is split into "foo." + and ".o" now. [Bug 1126] - * win/makefile.vc: Added better support for paths with spaces in - the name. Added .lib and support .dlls to the install-binaries - target. Added generate of a pkgIndex.tcl script to the - install-libraries target. + * win/makefile.vc: Added better support for paths with spaces in the + name. Added .lib and support .dlls to the install-binaries target. + Added generate of a pkgIndex.tcl script to the install-libraries + target. * win/tclAppInit.c: * unix/tclAppInit.c: * mac/tclMacAppInit.c: - * generic/tclTest.c: Changed some EXTERN declarations to extern - since they are not defining exported interfaces. This avoids - generating useless declspec() attributes and makes the windows - makefile simpler. + * generic/tclTest.c: Changed some EXTERN declarations to extern since + they are not defining exported interfaces. This avoids generating + useless declspec() attributes and makes the windows makefile simpler. - * generic/tcl.h: Moved Tcl_AppInit declaration to end and cleared - out TCL_STORAGE_CLASS so it is not declared with a declspec(). + * generic/tcl.h: Moved Tcl_AppInit declaration to end and cleared out + TCL_STORAGE_CLASS so it is not declared with a declspec(). * tests/interp.test: * generic/tclInterp.c (DeleteAlias): Changed to use - Tcl_DeleteCommandFromToken so we handle renames properly. This - avoids senseless panic. [Bug: 736] + Tcl_DeleteCommandFromToken so we handle renames properly. This avoids + senseless panic. [Bug 736] * unix/tclUnixChan.c: * win/tclWinSock.c: * doc/socket.n: Applied Gordon Chaffee's patch to handle failures - during asynchronous socket connection operations. This adds a new - "-error" fconfgure option to socket channels. [Bug: 893] + during asynchronous socket connection operations. This adds a new + "-error" fconfgure option to socket channels. [Bug 893] * generic/tclProc.c: * generic/tclNamesp.c: * generic/tclInt.h: * generic/tclCmdIL.c: * generic/tclBasic.c: - * generic/tclVar.c: Applied patch from Viktor Dukhovni to - rationalize TCL_LEAVE_ERR_MSG behavior when creating variables. + * generic/tclVar.c: Applied patch from Viktor Dukhovni to rationalize + TCL_LEAVE_ERR_MSG behavior when creating variables. - * generic/tclVar.c: Fixed bug in namespace tail computation. - Fixed bug where upvar could resurrect a namespace variable whose - namespace had been deleted. + * generic/tclVar.c: Fixed bug in namespace tail computation. Fixed bug + where upvar could resurrect a namespace variable whose namespace had + been deleted. * generic/tclCompile.c (TclCompileExprCmd): Eliminated yet another bogus optimization in expression compilation. - * unix/configure.in: Added branch for BSD/OS-4* to shared library - case statement. [Bug: 975] - Fixed to correctly handle IRIX 6.5 n32 library support. [Bug: 1117] + * unix/configure.in: Added branch for BSD/OS-4* to shared library case + statement. [Bug 975] + Fixed to correctly handle IRIX 6.5 n32 library support. [Bug 1117] - * win/winDumpExts.c: Patched to be pickier about stripping - @'s. [Bug: 920] + * win/winDumpExts.c: Patched to be pickier about stripping @'s. [Bug + 920] - * library/http2.0/http.tcl: Added catch around eof test in - CopyDone since the user may have already called http::reset. - [Bug: 1108] + * library/http2.0/http.tcl: Added catch around eof test in CopyDone + since the user may have already called http::reset. [Bug 1108] - * unix/configure.in: Changed Linux and IRIX to set SHLIB_LIBS to - LIBS so shared libraries are linked with the system - libraries. [Bug: 1018] + * unix/configure.in: Changed Linux and IRIX to set SHLIB_LIBS to LIBS + so shared libraries are linked with the system libraries. [Bug 1018] * generic/tclCompile.c (CompileExprWord): Fixed exception stack - overflow bug caused by missing statement. [Bug: 928] + overflow bug caused by missing statement. [Bug 928] * generic/tclIOCmd.c: - * generic/tclBasic.c: Objectified the "open" command. [Bug: 1113] + * generic/tclBasic.c: Objectified the "open" command. [Bug 1113] - * generic/tclPosixStr.c (Tcl_ErrnoId, Tcl_ErrnoMsg): When using - egcs, ENOTSUP and EOPNOTSUPP are the same, so now we handle that - case. [Bug: 1137] + * generic/tclPosixStr.c (Tcl_ErrnoId, Tcl_ErrnoMsg): When using egcs, + ENOTSUP and EOPNOTSUPP are the same, so now we handle that case. [Bug + 1137] * library/init.tcl: Various small changes requested by Jan Nijtmans. - - If the variable $tcl_library contains the empty string, this - empty string will be put in $auto_path. This is not useful at all, - it only slows down later package processing. - - If the variable tcl_pkgPath is not set, the "unset __dir" - fails. Thich makes init.tcl totally unusable. Better put a "catch" - around it. - - In the function tcl_findLibraries, the "string match" function - only works correctly if $tcl_patchLevel is in one of the forms - "?.?a?", "?.?b?" or "?.?.?". Could a "regexp" be used instead, - then it allows anything to be appended to the patchLevel - string. And it is more efficient. - - The tclPkgSetup function assumes that if $type != "load" then - the type must be "source". This needn't be true. Some users want - to add their own setup types. - [RFE: 1138] [Bug: 978] + - If the variable $tcl_library contains the empty string, this empty + string will be put in $auto_path. This is not useful at all, it only + slows down later package processing. + - If the variable tcl_pkgPath is not set, the "unset __dir" fails. + Thich makes init.tcl totally unusable. Better put a "catch" around + it. + - In the function tcl_findLibraries, the "string match" function only + works correctly if $tcl_patchLevel is in one of the forms "?.?a?", + "?.?b?" or "?.?.?". Could a "regexp" be used instead, then it allows + anything to be appended to the patchLevel string. And it is more + efficient. + - The tclPkgSetup function assumes that if $type != "load" then the + type must be "source". This needn't be true. Some users want to add + their own setup types. + [RFE 1138] [Bug 978] * win/tclWinReg.c: * doc/registry.n: Added support for HKEY_PERFORMANCE_DATA and - HKEY_DYN_DATA keys. [Bug: 1109] + HKEY_DYN_DATA keys. [Bug 1109] - * win/tclWinInit.c (TclPlatformInit): Added code to ensure - tcl_pkgPath is set to "" when no registry entry is found. [Bug: 978] + * win/tclWinInit.c (TclPlatformInit): Added code to ensure tcl_pkgPath + is set to "" when no registry entry is found. [Bug 978] 1999-02-01 Scott Stanton @@ -2464,18 +2405,18 @@ * generic/tclProc.c: * generic/tclTest.c: * generic/tclTimer.c: - * generic/tcl.h: Made eval interfaces compatible with 8.0 by - renaming Tcl_EvalObj to Tcl_EvalObjEx, renaming Tcl_Eval2 to - Tcl_EvalEx and restoring Tcl_EvalObj and Tcl_GlobalEvalObj - interfaces so they match Tcl 8.0. + * generic/tcl.h: Made eval interfaces compatible with 8.0 by renaming + Tcl_EvalObj to Tcl_EvalObjEx, renaming Tcl_Eval2 to Tcl_EvalEx and + restoring Tcl_EvalObj and Tcl_GlobalEvalObj interfaces so they match + Tcl 8.0. 1999-01-28 Scott Stanton * Merged Tcl 8.0.5b1 changes. * generic/tclUtil.c (Tcl_DStringSetLength): Changed so the buffer - overallocates in a manner similar to Tcl_DStringAppend. This - should improve performance for TclUniCharToUtfDString. + overallocates in a manner similar to Tcl_DStringAppend. This should + improve performance for TclUniCharToUtfDString. 1998-12-11 === Tcl 8.1b1 Release === @@ -2485,28 +2426,27 @@ * generic/tclEncoding.c (Tcl_FreeEncoding): Moved most of the code into a static FreeEncoding routine that does not grab the - encodingMutex to avoid deadlocks/races when called from other - routines that already have the mutex. + encodingMutex to avoid deadlocks/races when called from other routines + that already have the mutex. 1998-12-09 Scott Stanton - * library/msgcat1.0/msgcat.tcl: Fixed bad export list, fixed so - all locale strings are converted to lower case, including file - names. + * library/msgcat1.0/msgcat.tcl: Fixed bad export list, fixed so all + locale strings are converted to lower case, including file names. - * generic/regcomp.c (makescan): Fixed bug in longest match case - that caused anchored patterns to fail. [Bug: 897] + * generic/regcomp.c (makescan): Fixed bug in longest match case that + caused anchored patterns to fail. [Bug 897] 1998-12-08 Scott Stanton - * library/msgcat1.0/msgcat.tcl: changed mc to invoke mcunknown in - the calling context, changed locale lookups to be case insensitive + * library/msgcat1.0/msgcat.tcl: changed mc to invoke mcunknown in the + calling context, changed locale lookups to be case insensitive 1998-12-07 Scott Stanton * generic/tclAlloc.c (TclpRealloc): Fixed a memory allocation bug - where big blocks that were reallocated into a different heap - location were not being placed into the bigBlocks list. [Bug: 933] + where big blocks that were reallocated into a different heap location + were not being placed into the bigBlocks list. [Bug 933] * tests/msgcat.test: Added message catalog test suite. @@ -2515,34 +2455,34 @@ 1998-12-04 Scott Stanton - * library/msgcat1.0/msgcat.tcl: Changed code to conform to Tcl - coding standards. Changed to use file join for portability. + * library/msgcat1.0/msgcat.tcl: Changed code to conform to Tcl coding + standards. Changed to use file join for portability. * library/msgcat1.0: Added initial implementaion of Tcl message catalog package contributed by Mark Harrison. 1998-12-03 Scott Stanton - * win/tclWinPipe.c (BuildCommandLine): Fixed bug that kept - arguments containing spaces from being properly quoted. + * win/tclWinPipe.c (BuildCommandLine): Fixed bug that kept arguments + containing spaces from being properly quoted. * tests/defs: Changed so auto_path is set to only contain the Tcl - library directory. This keeps the tests from accidentally picking - up stuff in installed packages. + library directory. This keeps the tests from accidentally picking up + stuff in installed packages. - * generic/tclUtil.c (Tcl_StringMatch): Changed to match 8.0 - behavior in corner case where there is no closing bracket. + * generic/tclUtil.c (Tcl_StringMatch): Changed to match 8.0 behavior + in corner case where there is no closing bracket. 1998-12-02 Scott Stanton - * win/tclWinPipe.c (TclpCreateCommandChannel): Changed - reader/writer threads to have THREAD_PRIORITY_HIGHEST so they will - have a chance to run whenever there is something to do. + * win/tclWinPipe.c (TclpCreateCommandChannel): Changed reader/writer + threads to have THREAD_PRIORITY_HIGHEST so they will have a chance to + run whenever there is something to do. * generic/tclIO.c (WriteBytes, WriteChars): Fixed so extraneous flushes do not happen in line mode. - (TranslateOutputEOL): Made translation more efficient in line mode - and fixed a buffer overflow bug in CRLF translation. [Bug: 887] + (TranslateOutputEOL): Made translation more efficient in line mode and + fixed a buffer overflow bug in CRLF translation. [Bug 887] 1998-12-02 Brent Welch @@ -2550,15 +2490,14 @@ 1998-12-02 Scott Stanton - * generic/regc_color.c (subcolor): Added check for error case to - avoid an out of bounds array reference. + * generic/regc_color.c (subcolor): Added check for error case to avoid + an out of bounds array reference. * generic/tclCmdAH.c (Tcl_EncodingObjCmd): Changed to avoid using Tcl_DStringResult because it is not binary clean. - * generic/tclParse.c (Tcl_ParseCommand): Fixed bug in comment - parsing where a trailing comment looked like an incomplete - command. + * generic/tclParse.c (Tcl_ParseCommand): Fixed bug in comment parsing + where a trailing comment looked like an incomplete command. 1998-12-02 Brent Welch @@ -2566,27 +2505,26 @@ 1998-12-01 Scott Stanton - * generic/tclIO.c (Tcl_ReadChars): Added a call to UpdateInterest - so we don't block when there is data sitting in the buffers. + * generic/tclIO.c (Tcl_ReadChars): Added a call to UpdateInterest so + we don't block when there is data sitting in the buffers. - * generic/tclTest.c (TestevalobjvObjCmd): Updated for EvalObjv - change. + * generic/tclTest.c (TestevalobjvObjCmd): Updated for EvalObjv change. * tests/parse.test: Updated tests for EvalObjv change. - * generic/tclParse.c (EvalObjv, Tcl_EvalObjv): Changed - Tcl_EvalObjv interface to remove string and length arguments, - preserved original interface as EvalObjv for internal use. + * generic/tclParse.c (EvalObjv, Tcl_EvalObjv): Changed Tcl_EvalObjv + interface to remove string and length arguments, preserved original + interface as EvalObjv for internal use. - * generic/tcl.h: Changed Tcl_EvalObjv interface to remove string - and length arguments. + * generic/tcl.h: Changed Tcl_EvalObjv interface to remove string and + length arguments. - * doc/Eval.3: Updated documentation for Tcl_EvalObjv to remove - string and length arguments. + * doc/Eval.3: Updated documentation for Tcl_EvalObjv to remove string + and length arguments. * generic/tclCompCmds.c (TclCompileForeachCmd): Fixed code that corrupted the exceptDepth value in the compile environment when - foreach failed to compile inline. [Bug: 884] + foreach failed to compile inline. [Bug 884] * library/encoding/euc-kr.enc: * library/encoding/ksc5601.enc: @@ -2598,30 +2536,30 @@ 1998-11-30 Scott Stanton - * unix/tclUnixNotfy.c (Tcl_WaitForEvent): Fixed hang that occurs - when trying to close a pipe that is currently being waited on by - the notifier thread. [Bug: 607] + * unix/tclUnixNotfy.c (Tcl_WaitForEvent): Fixed hang that occurs when + trying to close a pipe that is currently being waited on by the + notifier thread. [Bug 607] * unix/tclUnixFCmd.c (GetPermissionsAttribute): Increase size of - returnString buffer to avoid overflow. [Bug: 584] + returnString buffer to avoid overflow. [Bug 584] - * generic/tclThreadTest.c (TclThreadSend): Fixed memory leak due - to use of TCL_VOLATILE instead of TCL_DYNAMIC. + * generic/tclThreadTest.c (TclThreadSend): Fixed memory leak due to + use of TCL_VOLATILE instead of TCL_DYNAMIC. * generic/tclThread.c (TclRememberSyncObject): Fixed memory leak caused by failure to reuse condition variables. - * unix/tclUnixNotfy.c: (Tcl_AlertNotifier, Tcl_WaitForEvent, - NotifierThreadProc, Tcl_InitNotifier): Fixed race condition caused - by incorrect use of condition variables when sending messages - between threads.. [Bug: 607] + * unix/tclUnixNotfy.c (Tcl_AlertNotifier, Tcl_WaitForEvent, + (NotifierThreadProc, Tcl_InitNotifier): Fixed race condition caused by + incorrect use of condition variables when sending messages between + threads. [Bug 607] * generic/tclTestObj.c (TeststringobjCmd): MAX_STRINGS was off by one so the strings array was too small. * generic/tclCkalloc.c (Tcl_DbCkfree): Moved mutex lock so - ValidateMemory is done inside the mutex to avoid a race condition - when validate_memory is enabled. [Bug: 880] + ValidateMemory is done inside the mutex to avoid a race condition when + validate_memory is enabled. [Bug 880] 1998-11-23 Scott Stanton @@ -2629,23 +2567,22 @@ 1998-11-17 Scott Stanton - * tclScan.c: moved "scan" implementation out of tclCmdMZ.c and - added Unicode support. This required a complete reimplementation - of the command to avoid using scanf(), which isn't Unicode aware. - Two new features were added in the process: %n to return the - current number of characters consumed, and XPG3-style %n$ argument - order specifiers similar to those provided by the "format" - command. [Bug: 833] + * tclScan.c: moved "scan" implementation out of tclCmdMZ.c and added + Unicode support. This required a complete reimplementation of the + command to avoid using scanf(), which isn't Unicode aware. Two new + features were added in the process: %n to return the current number of + characters consumed, and XPG3-style %n$ argument order specifiers + similar to those provided by the "format" command. [Bug 833] - * tclAlloc.c: changed so allocated memory is always 8-byte aligned - to improve memory performance and to ensure that it will work on - systems that don't like accessing 4-byte aligned values - (e.g. Solaris and HP-UX). [Bug: 834] + * tclAlloc.c: changed so allocated memory is always 8-byte aligned to + improve memory performance and to ensure that it will work on systems + that don't like accessing 4-byte aligned values (e.g. Solaris and + HP-UX). [Bug 834] 1998-11-06 Scott Stanton - * tclVar.c (TclGetIndexedScalar): Fixed bug 796, var name was - getting lost before being passed to CallTraces. + * tclVar.c (TclGetIndexedScalar): Fixed bug 796, var name was getting + lost before being passed to CallTraces. 1998-10-21 Scott Stanton @@ -2661,9 +2598,9 @@ * tclInt.h: added TclUniCharIsWordChar - * tclCmdMZ.c (Tcl_StringObjCmd): added "totitle" subcommand, - changed "wordend" and "wordstart" to properly handle Unicode word - characters and connector punctuation + * tclCmdMZ.c (Tcl_StringObjCmd): added "totitle" subcommand, changed + "wordend" and "wordstart" to properly handle Unicode word characters + and connector punctuation 1998-10-05 Scott Stanton @@ -2682,8 +2619,8 @@ * tclExecute.c: fixed off-by-one copying error, fixed merge bugs - * tclEvent.c: changed so USE_TCLALLOC is tested for value instead - of definition + * tclEvent.c: changed so USE_TCLALLOC is tested for value instead of + definition * tclCompCmds.c: replaced SCCS strings, added warnings around code that modifies strings in place diff --git a/ChangeLog.2000 b/ChangeLog.2000 index 70d491f..2ebdd23 100644 --- a/ChangeLog.2000 +++ b/ChangeLog.2000 @@ -1,12 +1,11 @@ 2000-12-14 Don Porter * generic/tclExecute.c: - * tests/expr-old.test: Re-wrote Tcl's [expr rand()] and - [expr srand($seed)] implementations, fixing a range error - on some 64-bit platforms. Added tests that detect the bug. - The rewrite changes the seed -> sequence map on 64-bit - platforms, only for seed >= 2^31, a slight incompatibility. - [Bug 121072, Patch 102781] + * tests/expr-old.test: Re-wrote Tcl's [expr rand()] and [expr + srand($seed)] implementations, fixing a range error on some 64-bit + platforms. Added tests that detect the bug. The rewrite changes the + seed -> sequence map on 64-bit platforms, only for seed >= 2^31, a + slight incompatibility. [Bug 121072, Patch 102781] 2000-12-10 Don Porter @@ -14,217 +13,209 @@ * library/msgcat/msgcat.tcl: * library/msgcat/pkgIndex.tcl: * library/opt/optparse.tcl: - * library/opt/pkgIndex.tcl: Where [uplevel] is used in a proc - to evaluate a Tcl built-in command in the caller's context, - the built-in commands are now fully namespace-qualified. This - prevents problems when the caller context is in a namespace where - the built-in command name has been used by a command in the - namespace. (For example, [::ns::set] might be called instead - of the intended [::set]). [Bug #119422, Patch #102545] + * library/opt/pkgIndex.tcl: Where [uplevel] is used in a proc to + evaluate a Tcl built-in command in the caller's context, the built-in + commands are now fully namespace-qualified. This prevents problems + when the caller context is in a namespace where the built-in command + name has been used by a command in the namespace. (For example, + [::ns::set] might be called instead of the intended [::set]). [Bug + 119422, Patch 102545] -2000-12-09 jeff hobbs +2000-12-09 Jeff Hobbs * win/tclWinTime.c (CalibrationThread): added lint return value to - prevent compiler warning. [Bug #125005] + prevent compiler warning. [Bug 125005] * docs/scan.n: * tests/scan.test: - * generic/tclScan.c (Tcl_ScanObjCmd): changed %o and %x to use - strtoul instead of strtol to correctly preserve scan<>format - conversion of large integers. [Patch #102663, Bug #124600] + * generic/tclScan.c (Tcl_ScanObjCmd): changed %o and %x to use strtoul + instead of strtol to correctly preserve scan<>format conversion of + large integers. [Patch 102663, Bug 124600] * generic/tclExecute.c (TclExecuteByteCode): Commited patch fixing - handling of {!} in expressions. [Patch #102702] + handling of {!} in expressions. [Patch 102702] -2000-12-08 jeff hobbs +2000-12-08 Jeff Hobbs - * library/init.tcl: Added support for PATHEXT variable in - auto_execok, recognizing the proper set of executable extensions - on Windows. [Patch #102719] + * library/init.tcl: Added support for PATHEXT variable in auto_execok, + recognizing the proper set of executable extensions on Windows. [Patch + 102719] 2000-12-08 Andreas Kupries - * generic/tclEncoding.c (LoadTableEncoding): Changed dangerous - code to something less critical. This fixes bug 119417, part A - without affecting the speed when loading encodings. + * generic/tclEncoding.c (LoadTableEncoding): Changed dangerous code to + something less critical. This fixes [Bug 119417], part A without + affecting the speed when loading encodings. 2000-12-08 Donal K. Fellows - * doc/open.n: Added xref to fconfigure and advice on the opening - of binary files. Should help prevent a recurrence of bugs like - #124558 + * doc/open.n: Added xref to fconfigure and advice on the opening of + binary files. Should help prevent a recurrence of bugs like [Bug + 124558] -2000-12-07 jeff hobbs +2000-12-07 Jeff Hobbs * generic/tcl.h: added note about need to updated library/dde/pkgIndex.tcl with minor version increment. - * library/dde/pkgIndex.tcl: updated to use 84 version to reflect - the makefile. Should probably be updated to use its real version - at some point. [Patch #102560, Bug #119421] + * library/dde/pkgIndex.tcl: updated to use 84 version to reflect the + makefile. Should probably be updated to use its real version at some + point. [Patch 102560, Bug 119421] -2000-12-06 eric melski +2000-12-06 Eric Melski * generic/tcl.h (attemptckalloc): Fixed typo for #define of - attemptckalloc (was defined to Tcl_AttempDbCkalloc, should have - been Tcl_AttemptDbCkalloc). [Bug: 124384] + attemptckalloc (was defined to Tcl_AttempDbCkalloc, should have been + Tcl_AttemptDbCkalloc). [Bug 124384] - * generic/tclCkalloc.c: Added - TCL_MEM_DEBUG versions of Tcl_AttemptDbCkrealloc and - Tcl_AttemptDbCkalloc. [Bug: 124384]. + * generic/tclCkalloc.c: Added TCL_MEM_DEBUG versions of + Tcl_AttemptDbCkrealloc and Tcl_AttemptDbCkalloc. [Bug 124384]. 2000-11-24 Donal K. Fellows - * generic/tclExecute.c (TclExecuteByteCode): Logical negation "!" - can now handle string booleans, provided those values are placed - in variables. + * generic/tclExecute.c (TclExecuteByteCode): Logical negation "!" can + now handle string booleans, provided those values are placed in + variables. - * tests/expr.test (expr-13.17): Check that [expr {!$var}] can - negate the string-versions of booleans "yes", "false", etc. + * tests/expr.test (expr-13.17): Check that [expr {!$var}] can negate + the string-versions of booleans "yes", "false", etc. * library/tcltest/tcltest.tcl (getMatchingFiles, - getMatchingDirectories): - * tools/man2html.tcl (doDir): - * tools/man2help.tcl (doDir): - * library/package.tcl (tclPkgUnknown,tclMacPkgSearch): + (getMatchingDirectories): + * tools/man2html.tcl (doDir): + * tools/man2help.tcl (doDir): + * library/package.tcl (tclPkgUnknown,tclMacPkgSearch): * library/safe.tcl (AddSubDirs): [glob] uses -directory instead of - unsafe [file join] to fix Bug #123313 + unsafe [file join]. [Bug 123313] * generic/tclIndexObj.c: * generic/tclTestObj.c (TestindexobjCmd): Changed internal - representation of index objects to fix Bug #119082; fix - shouldn't be visible to outside world... + representation of index objects to fix [Bug 119082]; fix shouldn't be + visible to outside world... - * generic/tclTest.c (TestGetIndexFromObjStructObjCmd): - * tests/indexObj.test: (indexObj-6.*) Added to test for presence - of Bug #119082. + * generic/tclTest.c (TestGetIndexFromObjStructObjCmd): + * tests/indexObj.test: (indexObj-6.*) Added to test for presence of + [Bug 119082]. 2000-11-23 Donal K. Fellows - * generic/tclCmdIL.c (Tcl_LsortObjCmd): Fixed memory leak from Bug - #119398 + * generic/tclCmdIL.c (Tcl_LsortObjCmd): Fixed memory leak from [Bug + 119398] * library/init.tcl (unknown): Added specific level parameters to - all uplevel invokations to boost performance; didn't dare touch - the "namespace inscope" stuff though, since it looks sensitive - to me! Should fix Bug #123217, though testing is tricky... + all uplevel invokations to boost performance; didn't dare touch + the "namespace inscope" stuff though, since it looks sensitive + to me! Should fix [Bug 123217], though testing is tricky... 2000-11-21 Andreas Kupries - * All of the changes below are described in TIP #7 ~ Specification - and result from the application of the patch contained - therein. Creator of the patch is Kevin Kenny - . The patch used here is actually a bit - different. Two MS specific constant values (format FOOui64) were - replaced with a more portable formatting of the values and an - additional cast to LONGLONG. My cross-compiling gcc was unable to - process the original form. The SF Id of the patch is 102459. - - * tclWinTime.c: Add to the static data a set of variables that - manage the phase-locked techniques, including a - ''CRITICAL_SECTION'' to guard them so that multi-threaded code - is stable. - - * tclWinTime.c: Modify ''TclpGetSeconds'' to call ''TclpGetTime'' - and return the 'seconds' portion of the result. This change is - necessary to make sure that the two times are consistent near - the rollover from one second to another. + All of the changes below are described in TIP #7 ~ Specification and + result from the application of the patch contained therein. Creator of + the patch is Kevin Kenny . The patch used here is + actually a bit different. Two MS specific constant values (format + FOOui64) were replaced with a more portable formatting of the values + and an additional cast to LONGLONG. My cross-compiling gcc was unable + to process the original form. [Patch 102459] + + * tclWinTime.c: Add to the static data a set of variables that manage + the phase-locked techniques, including a ''CRITICAL_SECTION'' to guard + them so that multi-threaded code is stable. + + * tclWinTime.c: Modify ''TclpGetSeconds'' to call ''TclpGetTime'' and + return the 'seconds' portion of the result. This change is necessary + to make sure that the two times are consistent near the rollover from + one second to another. * tclWinTime.c: Modify ''TclpGetClicks'' to use TclpGetTime to - determine the click count as a number of microseconds. - - * tclWinTime.c: Modify ''TclpGetTime'' to return the time as - M*Q+B, where Q is the result of ''QueryPerformanceCounter'', and - M and B are variables maintained by the phase-locked loop to - keep the result as close as possible to the system clock. The - ''TclpGetTime'' call will also launch the phase-lock management - in a separate thread the first time that it is invoked. If the - performance counter is unavailable, or if its frequency is not - one of the two common 8254-compatible rates, then - ''TclpGetTime'' will return the result of ''ftime'' as it does - in Tcl 8.3.2. - - * tclWinTime.c: Add the clock calibration procedure. The - calibration is somewhat complex; to save space, the reader is - referred to the reference implementation for the details of how - the time base and frequency are maintained. - - * tclWinNotify.c: Modify ''Tcl_Sleep'' to test that the process - has, in fact, slept for the requisite time by calling - ''TclpGetTime'' and comparing with the desired time. Otherwise, - roundoff errors may cause the process to awaken early. - - * tclWinTest.c: Add a ''testwinclock'' command. This command - returns a four element list comprising the seconds and - microseconds portions of the system clock and the seconds and - microseconds portions of the Tcl clock. - - * winTime.test: Add to the test suite a test that makes sure that - the Tcl clock stays within 1.1 ms of the system clock over the - duration of the test. + determine the click count as a number of microseconds. + + * tclWinTime.c: Modify ''TclpGetTime'' to return the time as M*Q+B, + where Q is the result of ''QueryPerformanceCounter'', and M and B are + variables maintained by the phase-locked loop to keep the result as + close as possible to the system clock. The ''TclpGetTime'' call will + also launch the phase-lock management in a separate thread the first + time that it is invoked. If the performance counter is unavailable, or + if its frequency is not one of the two common 8254-compatible rates, + then ''TclpGetTime'' will return the result of ''ftime'' as it does in + Tcl 8.3.2. + + * tclWinTime.c: Add the clock calibration procedure. The calibration + is somewhat complex; to save space, the reader is referred to the + reference implementation for the details of how the time base and + frequency are maintained. + + * tclWinNotify.c: Modify ''Tcl_Sleep'' to test that the process has, + in fact, slept for the requisite time by calling ''TclpGetTime'' and + comparing with the desired time. Otherwise, roundoff errors may cause + the process to awaken early. + + * tclWinTest.c: Add a ''testwinclock'' command. This command returns a + four element list comprising the seconds and microseconds portions of + the system clock and the seconds and microseconds portions of the Tcl + clock. + + * winTime.test: Add to the test suite a test that makes sure that the + Tcl clock stays within 1.1 ms of the system clock over the duration of + the test. 2000-11-21 Donal K. Fellows - * doc/global.n: - * doc/upvar.n: - * doc/variable.n: Improved documentation to mention that variables - so created are listed in [info locals] and added a few more - cross-links between these commands. Fixes bug #119387 + * doc/global.n: + * doc/upvar.n: + * doc/variable.n: Improved documentation to mention that variables so + created are listed in [info locals] and added a few more cross-links + between these commands. [Bug 119387] 2000-11-17 Donal K. Fellows * tests/safe.test: (safe-4.3): - * generic/tclVar.c (TclLookupVar): Changed again. Now passes all - the tests, though one needed modifying since it required the - wrong answer. (Why on earth do we have inline modification of - argument strings? This sort of thing is horrendous to debug and - doesn't work well in a multithreaded environment!) Fixes bug - 119192. + * generic/tclVar.c (TclLookupVar): Changed again. Now passes all the + tests, though one needed modifying since it required the wrong answer. + (Why on earth do we have inline modification of argument strings? This + sort of thing is horrendous to debug and doesn't work well in a + multithreaded environment!) [Bug 119192] - * tests/var.test: (var-1.19) If my attempts to fix the problem - aren't right yet, my attempts to describe it look pretty good to - me... + * tests/var.test: (var-1.19) If my attempts to fix the problem aren't + right yet, my attempts to describe it look pretty good to me... 2000-11-16 Andreas Kupries * win/tclWinPort.h (line 69): Changed reference to winsock2.h into - winsock.h. This was a leftover from a foray into using winsock - version 2 (History lesson from Scott Redman and Jeff - Hobbs). This code was no problem when compiling Tcl itself, but - could trip extensions. Fixes bug 122568. + winsock.h. This was a leftover from a foray into using winsock version + 2 (History lesson from Scott Redman and Jeff Hobbs). This code was no + problem when compiling Tcl itself, but could trip extensions. [Bug + 122568] -2000-11-15 jeff hobbs +2000-11-15 Jeff Hobbs - * unix/Makefile.in: removed bp.c references (hasn't existed in a - long time). Corrected 'make dist' to make dist with unversioned - library directories (same as out of cvs), so make install works - correctly with either source tree. + * unix/Makefile.in: removed bp.c references (hasn't existed in a long + time). Corrected 'make dist' to make dist with unversioned library + directories (same as out of cvs), so make install works correctly with + either source tree. -2000-11-15 jeff hobbs +2000-11-15 Jeff Hobbs - * generic/tclVar.c (TclLookupVar): reverted fix below as it broke - all other array unset error reporting. Bug-119192 is still - open. + * generic/tclVar.c (TclLookupVar): reverted fix below as it broke all + other array unset error reporting. Bug 119192 is still open. 2000-11-15 Donal K. Fellows - * generic/tclVar.c (TclLookupVar): Changed references to part2 to - use elName instead in various error message generating spots, so - as to fix Bug-119192. + * generic/tclVar.c (TclLookupVar): Changed references to part2 to use + elName instead in various error message generating spots. [Bug 119192] 2000-11-03 David Gravereaux - * win/.cvsignore: Removed 'configure' from the glob list now - that it's included. + * win/.cvsignore: Removed 'configure' from the glob list now that it's + included. 2000-11-03 Jeff Hobbs 8.4a2 RELEASE - * unix/Makefile.in (install-libraries, dist): + * unix/Makefile.in (install-libraries, dist): * win/makefile.vc (install-libraries): - * win/Makefile.in (install-libraries): updated to install - unversioned library directories into versioned directories. + * win/Makefile.in (install-libraries): updated to install unversioned + library directories into versioned directories. * tools/tcl.wse.in: updated for unversioning of library dirs @@ -234,31 +225,31 @@ * generic/tclStubInit.c: * generic/tclDecls.h: - * generic/tcl.decls: added Tcl_SetMainLoop proc that allows people - to set a main loop that will run for tclsh. + * generic/tcl.decls: added Tcl_SetMainLoop proc that allows people to + set a main loop that will run for tclsh. * generic/tcl.h: added Tcl_MainLoopProc typedef * generic/tclMain.c (Tcl_SetMainLoop, StdinProc, Prompt): new - StdinProc and Prompt static procs and Tcl_SetMainLoop stubs proc. - The first two handle a fileevent based prompt (taken from - tkMain.c). Tcl_SetMainLoop enables the interactive setting of a - main loop procedure. This enables Tk to be a loadable package. + StdinProc and Prompt static procs and Tcl_SetMainLoop stubs proc. The + first two handle a fileevent based prompt (taken from tkMain.c). + Tcl_SetMainLoop enables the interactive setting of a main loop + procedure. This enables Tk to be a loadable package. 2000-11-02 David Gravereaux - * generic/tclEvent.c: tclLibraryPath Tcl_Obj didn't have a way - to share its data among threads. This caused Tcl_Init() to - always fail in threads. Added a way to pass the data around - with a global char*. [BUG: 5301] + * generic/tclEvent.c: tclLibraryPath Tcl_Obj didn't have a way to + share its data among threads. This caused Tcl_Init() to always fail in + threads. Added a way to pass the data around with a global char*. + [BUG: 5301] 2000-11-02 Jeff Hobbs * unix/configure: * unix/dltest/configure: * win/configure: - * tools/configure: checked in configure scripts so people doing - CVS checkouts aren't required to have autoconf. Changes to - configure.in in the future will require the corresponding - configure script to also be re-autoconf'ed and checked in. + * tools/configure: checked in configure scripts so people doing CVS + checkouts aren't required to have autoconf. Changes to configure.in in + the future will require the corresponding configure script to also be + re-autoconf'ed and checked in. * win/makefile.vc: * win/tcl.m4: makefile fixes for Win64 support @@ -270,14 +261,14 @@ * unix/tcl.m4: removed use of -lbsd and -ldl for AIX-5. - * tests/subst.test: added tests for non-zero return code handling - by subst. + * tests/subst.test: added tests for non-zero return code handling by + subst. * generic/tclParse.c (Tcl_EvalEx): corrected handling of non-zero, - non-error return code cases for subst. [BUG: 119829] + non-error return code cases for subst. [Bug 119829] - * generic/tclVar.c (TclVarTraceExists): Corrected excessive mem - use when info exists was called on a non-existent array element. - [BUG: 119213, 119336] + * generic/tclVar.c (TclVarTraceExists): Corrected excessive mem use + when info exists was called on a non-existent array element. [Bug + 119213, 119336] 2000-10-30 David Gravereaux @@ -290,8 +281,8 @@ 2000-10-30 Jeff Hobbs - * unix/tclUnixInit.c: added default encoding map from - "ja_JP.eucJP" to "euc-jp". (takahashi) + * unix/tclUnixInit.c: added default encoding map from "ja_JP.eucJP" to + "euc-jp". (takahashi) * tests/clock.test: corrected clock-2.* test numbering @@ -306,68 +297,67 @@ * unix/configure.in: * unix/tcl.m4: added support for AIX-5. - * generic/tclIO.c (Tcl_NotifyChannel): removed #ifdef around code - for old channel structures, placed preserve/release around statePtr - * generic/tclIO.c (CloseChannel): the statePtr for a channel was - not being freed when the last channel in a stack was freed, - causing a mem leak. + * generic/tclIO.c (Tcl_NotifyChannel): removed #ifdef around code for + old channel structures, placed preserve/release around statePtr + * generic/tclIO.c (CloseChannel): the statePtr for a channel was not + being freed when the last channel in a stack was freed, causing a mem + leak. * unix/tclUnixChan.c: updated channel types to strict - TCL_CHANNEL_VERSION_2 style to avoid compiler warnings. They work + TCL_CHANNEL_VERSION_2 style to avoid compiler warnings. They work either way, but this avoids compiler warnings (that worries people). 2000-10-27 Jennifer Hom - * library/tcltest1.0/tcltest.tcl: Removed a cd into the test - directory in runAllTests that screwed up the temporary directory - setting, effectively preventing users from running tests on - multiple platforms at the same time. + * library/tcltest1.0/tcltest.tcl: Removed a cd into the test directory + in runAllTests that screwed up the temporary directory setting, + effectively preventing users from running tests on multiple platforms + at the same time. 2000-10-26 David Gravereaux - * win/tclWinFile.c (TclpMatchFilesTypes): NULL was being set to - "attr" which was a DWORD. Changed NULL to zero because a 'void *' - can't be set to a DWORD to avoid the compiler warning. + * win/tclWinFile.c (TclpMatchFilesTypes): NULL was being set to "attr" + which was a DWORD. Changed NULL to zero because a 'void *' can't be + set to a DWORD to avoid the compiler warning. 2000-10-24 Jennifer Hom * tests/all.tcl: Removed support for tcltest 1.0. - + * tests/tcltest.test: * library/tcltest1.0/tcltest.tcl: * library/tcltest1.0/pkgIndex.tcl: * docs/tcltest.n: Moved tcltest2 code so that it's the standard - version of tcltest. Removed all tcltest2 files - (tests/tcltest2.test, library/tcltest1.0/tcltest2.tcl, - docs/tcltest2.n). + version of tcltest. Removed all tcltest2 files (tests/tcltest2.test, + library/tcltest1.0/tcltest2.tcl, docs/tcltest2.n). 2000-10-20 Jeff Hobbs * win/tclWinFile.c (TclpMatchFilesTypes): made the stat call only - occur when necessary (for 'glob' command). Significantly speeds - up glob command from 8.3. [BUG: 6216] + occur when necessary (for 'glob' command). Significantly speeds up + glob command from 8.3. [BUG: 6216] 2000-10-19 Jennifer Hom * library/tcltest1.0/tcltest2.tcl: * tests/tcltest2 - * doc/tcltest2.n: Code and documentation cleanup. Modified - -verbose to take list of keywords as well as string of letters. - Removed Tcl version information from tcltest. Removed - tcltest::grep from tcltest package. Added optional 3rd directory - argument to makeFile/makeDirectory and removeFile/removeDirectory. + * doc/tcltest2.n: Code and documentation cleanup. Modified -verbose to + take list of keywords as well as string of letters. Removed Tcl + version information from tcltest. Removed tcltest::grep from tcltest + package. Added optional 3rd directory argument to + makeFile/makeDirectory and removeFile/removeDirectory. * tests/basic.test: Changed references to tcltest::tclVersion to hardcoded numbers. - * generic/tcl.h: Changed reference to tcltest2.tcl and tcltest.tcl - in comments to tests/basic.test. + * generic/tcl.h: Changed reference to tcltest2.tcl and tcltest.tcl in + comments to tests/basic.test. 2000-10-06 David Gravereaux - * win/tclWinChan.c: moved Win2K bug case test with GetStdHandle() - from TclpGetDefaultStdChannel into Tcl_MakeFileChannel to enable - a more general method in detecting invalid OS handles rather than - just a specific known case. [BUG: 5971] + * win/tclWinChan.c: moved Win2K bug case test with GetStdHandle() from + TclpGetDefaultStdChannel into Tcl_MakeFileChannel to enable a more + general method in detecting invalid OS handles rather than just a + specific known case. [BUG: 5971] 2000-10-06 Jeff Hobbs @@ -383,10 +373,10 @@ * library/tcltest1.0/tcltest2.tcl: * tests/tcltest2.test: - * doc/tcltest2.n: Modified the new form of the test command to - accept both attribute-value pairs and command line options. - Updated the tests and the documentation for this new format. - Also changed the option names for the test command. + * doc/tcltest2.n: Modified the new form of the test command to accept + both attribute-value pairs and command line options. Updated the tests + and the documentation for this new format. Also changed the option + names for the test command. 2000-09-29 Jeff Hobbs @@ -394,24 +384,24 @@ space parity on Windows (Eason) [Bug 6057]. * win/Makefile.in: commented use of TESTFLAGS - * unix/Makefile.in: added TESTFLAGS to test target to - conform with Windows makefile and TEA style. + * unix/Makefile.in: added TESTFLAGS to test target to conform with + Windows makefile and TEA style. * tests/stack.test: prevented possible crash on systems with low - default stacksize (Tru64, AIX) in infinite recursion test. A - solution to check remaining stack space in the core is best, but - hard to do in a cross-platform manner. + default stacksize (Tru64, AIX) in infinite recursion test. A solution + to check remaining stack space in the core is best, but hard to do in + a cross-platform manner. - * generic/tclIOGT.c (FLUSH_DELAY): renamed DELAY define to - FLUSH_DELAY to avoid defn conflict using Tru64's cc. + * generic/tclIOGT.c (FLUSH_DELAY): renamed DELAY define to FLUSH_DELAY + to avoid defn conflict using Tru64's cc. 2000-09-28 Jeff Hobbs * tools/tcl.wse.in: added tclPlatDecls.h and tkPlatDecls.h to the Windows .exe install. - * tests/fCmd.test (fCmd-6.20): corrected test to remove - c:/tcl8975@ after creating it. + * tests/fCmd.test (fCmd-6.20): corrected test to remove c:/tcl8975@ + after creating it. * tests/fileName.test: cleaned up the testing of glob patterns for c:/globTest (Windows) to directly create/remove directory. @@ -421,13 +411,13 @@ * generic/tcl.decls: * generic/tclIO.c: updated Tcl_IsChannelShared, Tcl_IsChannelRegistered, Tcl_CutChannel, Tcl_SpliceChannel, - Tcl_IsChannelExisting, and Tcl_ClearChannelHandlers to conform to - the new stacked channel implementation. Their stub slots were - also moved to give preference to the new 8.3.2 stub functions. - This will cause an incompatability with 8.4a1 only. + Tcl_IsChannelExisting, and Tcl_ClearChannelHandlers to conform to the + new stacked channel implementation. Their stub slots were also moved + to give preference to the new 8.3.2 stub functions. This will cause an + incompatability with 8.4a1 only. (StopCopy): fixed a bug introduced by a partial fix in 8.3.2 that didn't set nonBlocking correctly when resetting the flags for the - write side. [Bug: 6261] + write side. [Bug: 6261] * doc/ChnlStack.3: * doc/CrtChannel.3: @@ -451,7 +441,7 @@ * win/tclWinPipe.c: * win/tclWinSerial.c: * win/tclWinSock.c: Up-port of changes made in 8.3.2 to 8.4a2 code - base. Most of these changes relate to the rewrite of the stacked + base. Most of these changes relate to the rewrite of the stacked channel implementation, with a few config related fixes. Following is an asynchronous include of the applicable ChangeLog @@ -467,67 +457,66 @@ * doc/CrtChannel.3: updated the docs to be aware of the TCL_CHANNEL_VERSION_2 style of Tcl channels. - * generic/tclIO.c (Tcl_CreateChannel): added assertion to verify - that the new channel versioning will be binary compatible with - older channel drivers. + * generic/tclIO.c (Tcl_CreateChannel): added assertion to verify that + the new channel versioning will be binary compatible with older + channel drivers. 2000-08-05 Jeff Hobbs - * generic/tclIOGT.c (TclChannelTransform): fixed segfault that - would occur when transforming a channel with a proc that did not - yet exist. (Kupries) + * generic/tclIOGT.c (TclChannelTransform): fixed segfault that would + occur when transforming a channel with a proc that did not yet exist. + (Kupries) * generic/tclTest.c (TestChannelCmd): added some lint init'ing of statePtr and chan vars. 2000-07-26 Jeff Hobbs - * merged core-8-3-1-io-rewrite back into core-8-3-1-branch. - The core-8-3-1-io-rewrite branch should now be considered defunct. + Merged core-8-3-1-io-rewrite back into core-8-3-1-branch. The + core-8-3-1-io-rewrite branch should now be considered defunct. * generic/tclStubInit.c: * generic/tclDecls.h: * generic/tcl.decls: * generic/tcl.h: - * generic/tclIO.c: moved the Tcl_Channel* macros from tcl.h to - tclIO.c and made them proper stubbed functions. These are: - Tcl_ChannelName, Tcl_ChannelVersion, Tcl_ChannelBlockModeProc, - Tcl_ChannelCloseProc, Tcl_ChannelClose2Proc, Tcl_ChannelInputProc, - Tcl_ChannelOutputProc, Tcl_ChannelSeekProc, Tcl_ChannelSetOptionProc, + * generic/tclIO.c: moved the Tcl_Channel* macros from tcl.h to tclIO.c + and made them proper stubbed functions. These are: Tcl_ChannelName, + Tcl_ChannelVersion, Tcl_ChannelBlockModeProc, Tcl_ChannelCloseProc, + Tcl_ChannelClose2Proc, Tcl_ChannelInputProc, Tcl_ChannelOutputProc, + Tcl_ChannelSeekProc, Tcl_ChannelSetOptionProc, Tcl_ChannelGetOptionProc, Tcl_ChannelWatchProc, - Tcl_ChannelGetHandleProc, Tcl_ChannelFlushProc, - and Tcl_ChannelHandlerProc. These should be used to access the + Tcl_ChannelGetHandleProc, Tcl_ChannelFlushProc, and + Tcl_ChannelHandlerProc. These should be used to access the Tcl_ChannelType structure instead of direct pointer dereferencing. - * tests/iogt.test: added RCS string, marked tests 2.* to be - unixOnly due to underlying system differences. + * tests/iogt.test: added RCS string, marked tests 2.* to be unixOnly + due to underlying system differences. 2000-07-25 Andreas Kupries * tests/iogt.test: (line 866f) New tests iogt-6.[01], highlighting - buffering trouble when stacking and unstacking transformations. - iogt-6.0 is solved, see the changes below. iogt-6.1 remains, for - now, due to the perceived complexity of solutions. + buffering trouble when stacking and unstacking transformations. + iogt-6.0 is solved, see the changes below. iogt-6.1 remains, for now, + due to the perceived complexity of solutions. - * generic/tclIO.h: (line 139f) struct Channel, added a buffer - queue, to hold data pushed back when stacking a transformation. + * generic/tclIO.h: (line 139f) struct Channel, added a buffer queue, + to hold data pushed back when stacking a transformation. * generic/tclIO.c: - (line 91f, line 7434f) New internal function 'CopyBuffer'. - Derived from 'CopyAndTranslateBuffer', with translation - removed. - (line 1025f, line 1212f): Initialization of new queue. - (line 1164f, Tcl_StackChannel): Pushback of input queue. - (line 1293f, Tcl_UnstackChannel): Discard input and pushback. - (line 3748f, Tcl_ReadRaw): Modified to use data in the push back - area before going to the driver. Uses 'CopyBuffer', s.a. - (line 4702f, GetInput): Modified to use data in the push back - area before going to the driver. - (line 4867f, Tcl_Seek): Modified to take pushback of the topmost - channel in a stack into account. - (line 5620f, Tcl_InputBuffered): See above. Added - 'Tcl_ChannelBuffered'. Analogue to 'Tcl_InputBuffered' but for - the buffer area in the channel. + (line 91f, line 7434f) New internal function 'CopyBuffer'. Derived + from 'CopyAndTranslateBuffer', with translation removed. + (line 1025f, line 1212f): Initialization of new queue. + (line 1164f, Tcl_StackChannel): Pushback of input queue. + (line 1293f, Tcl_UnstackChannel): Discard input and pushback. + (line 3748f, Tcl_ReadRaw): Modified to use data in the push back area + before going to the driver. Uses 'CopyBuffer', s.a. + (line 4702f, GetInput): Modified to use data in the push back area + before going to the driver. + (line 4867f, Tcl_Seek): Modified to take pushback of the topmost + channel in a stack into account. + (line 5620f, Tcl_InputBuffered): See above. Added + 'Tcl_ChannelBuffered'. Analog to 'Tcl_InputBuffered' but for the + buffer area in the channel. * generic/tcl.decls: New public API 'Tcl_ChannelBuffered'. S.a. @@ -541,21 +530,21 @@ * generic/tclIntDecls.h: * generic/tclInt.decls: commented out internal decls for TclTestChannelCmd and TclTestChannelEventCmd as they were moved to - tclTest.c. Added new decls for TclChannelEventScriptInvoker and + tclTest.c. Added new decls for TclChannelEventScriptInvoker and TclChannelTransform. * generic/tclIO.c (CloseChannel): stopped masking out of the - TCL_READABLE|TCL_WRITABLE bits from the state flags in - CloseChannel, instead adding extra intelligence to - CheckChannelErrors with a new CHANNEL_RAW_MODE bit for special - behavior when called from Raw channel APIs. + TCL_READABLE|TCL_WRITABLE bits from the state flags in CloseChannel, + instead adding extra intelligence to CheckChannelErrors with a new + CHANNEL_RAW_MODE bit for special behavior when called from Raw channel + APIs. 2000-07-13 Jeff Hobbs - * generic/tclIO.c (StackSetBlockMode): moved set of chanPtr - outside of blockModeProc check to avoid infinite loop when - blockModeProc was NULL (Kupries). updated TransformSeekProc to - not call Tcl_Seek directly (Kupries). + * generic/tclIO.c (StackSetBlockMode): moved set of chanPtr outside of + blockModeProc check to avoid infinite loop when blockModeProc was + NULL. Updated TransformSeekProc to not call Tcl_Seek directly + (Kupries). * win/tclWinChan.c: updated fileChannelType to v2 channel struct * win/tclWinConsole.c: updated consoleChannelType to v2 channel struct @@ -565,85 +554,82 @@ 2000-07-11 Brent Welch - * win/tclConfig.sh.in (TCL_LIBS): Cleaned up unix-specific - autoconf variables. + * win/tclConfig.sh.in (TCL_LIBS): Cleaned up unix-specific autoconf + variables. 2000-07-11 Jeff Hobbs - * tests/iogt.test: made tests [345].0 not run by default as they - were failing in the new design, but I'm not convinced that the - returned result isn't correct. + * tests/iogt.test: made tests [345].0 not run by default as they were + failing in the new design, but I'm not convinced that the returned + result isn't correct. * generic/tclDecls.h: * generic/tclStubInit.c: - * generic/tcl.decls: added Tcl_GetTopChannel C API that returns - the current top channel of a channel stack. Tcl_GetChannel was - changed earlier to return the bottommost channel of a stack - because that is the one that is guaranteed to stay around the - longest, and this was needed to compensate for certain - operations that want to look at the state of the main channel. - Most channel APIs already compensate for grabbing the top, so it - shouldn't be needed often. + * generic/tcl.decls: added Tcl_GetTopChannel C API that returns the + current top channel of a channel stack. Tcl_GetChannel was changed + earlier to return the bottommost channel of a stack because that is + the one that is guaranteed to stay around the longest, and this was + needed to compensate for certain operations that want to look at the + state of the main channel. Most channel APIs already compensate for + grabbing the top, so it shouldn't be needed often. * generic/tclIO.c (Tcl_StackChannel, Tcl_UnstackChannel): Added - flushing of buffers (Kupries), removed use of DownChannel macro, - added Tcl_GetTopChannel public API to get to the top channel of - the channel stack (necessary for TLS). Rewrote Tcl_NotifyChannel - for new channel design (Kupries). Did some code cleanup in the - transform code. tclIO.c must still be broken into bits (separate - out test code and giot code, create tclIO.h). + flushing of buffers (Kupries), removed use of DownChannel macro, added + Tcl_GetTopChannel public API to get to the top channel of the channel + stack (necessary for TLS). Rewrote Tcl_NotifyChannel for new channel + design (Kupries). Did some code cleanup in the transform code. + tclIO.c must still be broken into bits (separate out test code and + giot code, create tclIO.h). 2000-07-10 Andreas Kupries * tests/iogt.test: Reverted some earlier changes as a fix by Jeff - revived the original and correct behaviour. IOW, the tests showed - a genuine error and I didn't see it :(. + revived the original and correct behaviour. IOW, the tests showed a + genuine error and I didn't see it :(. - * generic/tclIO.c (Tcl_Read|Write_Raw): Changed to directly use - the drivers and not DoRead|DoWrite. The latter use the buffering - system, encoding and eol-translation and this wreaks havoc with - the data going through the transformations. Both procedures use - CheckForchannelErrors and let it believe that there is no - background copy in progress or else stacked channels could not - be used for that. + * generic/tclIO.c (Tcl_Read|Write_Raw): Changed to directly use the + drivers and not DoRead|DoWrite. The latter use the buffering system, + encoding and eol-translation and this wreaks havoc with the data going + through the transformations. Both procedures use CheckForchannelErrors + and let it believe that there is no background copy in progress or + else stacked channels could not be used for that. * generic/tclIO.c (TclCopyChannel, CopyData): Moved access to the - topmost channel from the first to the second procedure to make - the decision about that at the last possible time (Callbacks can - change the stacking). + topmost channel from the first to the second procedure to make the + decision about that at the last possible time (Callbacks can change + the stacking). test suite: failures of iogt-[345].0 - + 2000-07-06 Jeff Hobbs - * tests/iogt.test: new tests for stacked channel stuff based off - new 'testchannel transform|unstack' code (Kupries IOGT extension). + * tests/iogt.test: new tests for stacked channel stuff based off new + 'testchannel transform|unstack' code (Kupries IOGT extension). * generic/tcl.decls: * generic/tcl.h: * generic/tclDecls.h: * generic/tclStubsInit.c: - * generic/tclIO.c: complete rewrite of Tcl Channel code for - stacked channels. Channels are now designed to work in a more - stacked fashion with a shared ChannelState data structure. + * generic/tclIO.c: complete rewrite of Tcl Channel code for stacked + channels. Channels are now designed to work in a more stacked fashion + with a shared ChannelState data structure. 2000-06-02 Jeff Hobbs * generic/tclIO.c (CloseChannel): removed the &ing out of - (TCL_READABLE|TCL_WRITABLE) from the flags, as CloseChannel does - this on the next pass through for the top channel, and it appeared - to be causing hangs by not allowing the final flush. + (TCL_READABLE|TCL_WRITABLE) from the flags, as CloseChannel does this + on the next pass through for the top channel, and it appeared to be + causing hangs by not allowing the final flush. 2000-06-01 Jeff Hobbs - * generic/tclIO.c (CloseChannel): Rewrote CloseChannel code to - unstack a channel during the close process. Fixed a refcount bug - in Tcl_UnstackChannel. [Bug: 5623] - (CloseChannel): further extended CloseChannel in the stacked case - to effect certain operations on the next channel that would have - been done in Tcl_Close. Also added CHANNEL_CLOSED and removed - (TCL_READABLE|TCL_WRITABLE) bits from chanPtr->flags. Changed - final reset of the WatchProc to check the chanDownPtr's (next) - interestMask. + * generic/tclIO.c (CloseChannel): Rewrote CloseChannel code to unstack + a channel during the close process. Fixed a refcount bug in + Tcl_UnstackChannel. [Bug: 5623] + (CloseChannel): further extended CloseChannel in the stacked case to + effect certain operations on the next channel that would have been + done in Tcl_Close. Also added CHANNEL_CLOSED and removed + (TCL_READABLE|TCL_WRITABLE) bits from chanPtr->flags. Changed final + reset of the WatchProc to check the chanDownPtr's (next) interestMask. ****************************************************** ** END OF ASYNCHRONOUS UP-PORT LOG (8.3.2 -> 8.4a2) ** @@ -651,49 +637,46 @@ 2000-09-20 Jeff Hobbs - * tests/socket.test: removed doTestsWithRemoteServer constraint - from socket-12.*. It requires 'exec', not a remote server. - Cleaned up some coding errors. + * tests/socket.test: removed doTestsWithRemoteServer constraint from + socket-12.*. It requires 'exec', not a remote server. Cleaned up some + coding errors. 2000-09-20 Jennifer Hom * library/tcltest1.0/pkgIndex.tcl: Updated to load tcltest 2.0. - * library/tcltest1.0/tcltest2.tcl: New version of tcltest. - Cleanup of command line parsing: allows users to specify command - line arguments through an environment variable named - TCLTEST_OPTIONS [RFE: 3748], does not respond to incorrect - arguments, and forces usage of entire flag name when using command - line arguments. Defines accessor procs for all tcltest - variables. Allows users to use 'return' in test scripts. Allow - users to specify whether test files should be sourced or run in a - separate process. 'all.tcl' code moved to tcltest package. - 'test' proc modified to use attribute-value pairs. Allow users to + * library/tcltest1.0/tcltest2.tcl: New version of tcltest. + Cleanup of command line parsing: allows users to specify command line + arguments through an environment variable named TCLTEST_OPTIONS [RFE: + 3748], does not respond to incorrect arguments, and forces usage of + entire flag name when using command line arguments. Defines accessor + procs for all tcltest variables. Allows users to use 'return' in test + scripts. Allow users to specify whether test files should be sourced + or run in a separate process. 'all.tcl' code moved to tcltest package. + 'test' proc modified to use attribute-value pairs. Allow users to specify what return codes, output, and errors can be compared and - whether these values should be compared using regexp, glob, or - exact matching. makeDirectory & removeDirectory now operate with - respect to temporaryDirectory [Bug: 6001]. Test results from - tests run in slave interpreters are now included in test totals - [Bug: 1493]. Test files that return error values are now reported. - - * tests/all.tcl: Added code to check for the tcltest version - loaded; modified to figure out which tests to run based on the - tcltest version loaded. + whether these values should be compared using regexp, glob, or exact + matching. makeDirectory & removeDirectory now operate with respect to + temporaryDirectory [Bug: 6001]. Test results from tests run in slave + interpreters are now included in test totals [Bug: 1493]. Test files + that return error values are now reported. + * tests/all.tcl: Added code to check for the tcltest version loaded; + modified to figure out which tests to run based on the tcltest version + loaded. * tests/tcltest.test: Modified to explicitly load version 1.0 of tcltest. - * tests/tcltest2.test: New test suite for tcltest; includes all of - the old tests plus new ones reflecting changes made for version - 2.0. - * tests/cmdAH.test: Added singleTestInterp constraint to - cmdAH-31.2; this test does not run if tests aren't sourced into a - single interpreter. - * tests/socket.test: Fixed two tests that were referencing - variables outside of scope. - + * tests/tcltest2.test: New test suite for tcltest; includes all of the + old tests plus new ones reflecting changes made for version 2.0. + * tests/cmdAH.test: Added singleTestInterp constraint to cmdAH-31.2; + this test does not run if tests aren't sourced into a single + interpreter. + * tests/socket.test: Fixed two tests that were referencing variables + outside of scope. + * tools/tcl.wse.in: Added code to install tcltest2.tcl. - * doc/tcltest2.n: New documentation for tcltest version 2.0. - Removes documentation for tcltest namespace variables. Adds - documentation for new tcltest procs. + * doc/tcltest2.n: New documentation for tcltest version 2.0. Removes + documentation for tcltest namespace variables. Adds documentation for + new tcltest procs. * unix/mkLinks: Added code to link to tcltest2.n. @@ -702,15 +685,15 @@ 2000-09-19 Eric Melski - * generic/tclCmdMZ.c (Tcl_RegexpObjCmd): When using -all, all - attempts after the first to match the regexp against the string - should include the TCL_REG_NOTBOL flag, to avoid erroneously - matching ^ in the middle of the string. Added code to set this - flag after the first pass through the matching loop. [Bug: 6284]. + * generic/tclCmdMZ.c (Tcl_RegexpObjCmd): When using -all, all attempts + after the first to match the regexp against the string should include + the TCL_REG_NOTBOL flag, to avoid erroneously matching ^ in the middle + of the string. Added code to set this flag after the first pass + through the matching loop. [Bug: 6284]. 2000-09-19 David Gravereaux - * doc/Eval.3: Added a note about the script argument to Tcl_Eval() + * doc/Eval.3: Added a note about the script argument to Tcl_Eval() should be in UTF-8 or risk implied conversion errors when possible combinations of upper ascii can be valid UTF-8 special codes. @@ -726,24 +709,24 @@ * doc/Alloc.3: Added entries for Tcl_AttemptAlloc, Tcl_AttempRealloc. * doc/StringObj.3: Added entry for Tcl_AttemptSetObjLength. - + * generic/tclDecls.h: * generic/tclStubInit.c: Regen'ed stubs files from new tcl.decls. * generic/tcl.decls: Added stubs for the Tcl_Attempt* memory allocators and for Tcl_AttemptSetObjLength. - * generic/tcl.h: Added #define's for attemptckalloc, - attemptckrealloc, which map to the Tcl_Attempt* memory allocators. + * generic/tcl.h: Added #define's for attemptckalloc, attemptckrealloc, + which map to the Tcl_Attempt* memory allocators. * generic/tclCkalloc.c: Added non-panic'ing versions of Tcl_Alloc, Tcl_Realloc, etc.; these are called Tcl_AttemptAlloc, - Tcl_AttemptRealloc, etc. These are used by - Tcl_AttemptSetObjLength and the string obj append functions. + Tcl_AttemptRealloc, etc. These are used by Tcl_AttemptSetObjLength and + the string obj append functions. * generic/tclStringObj.c: Modified string growth algorithm to use - doubling algorithm as long as possible, and only fall back when - that fails. Added Tcl_AttemptSetObjLength, and modified + doubling algorithm as long as possible, and only fall back when that + fails. Added Tcl_AttemptSetObjLength, and modified AppendUnicodeToUnicodeRep, AppendUtfToUtfRep, and Tcl_AppendStringsToObjVA to support this. @@ -753,11 +736,11 @@ project conversion backups. * win/tclWinPipe.c: Stage-1 bug fix for TR#2460 "exec leaks memory". - Added more logic around the close-down of the pipe reader thread so - as to avoid, at all cost, a TerminateThread. Most cases with exec - are fixed, but I don't consider 2460 done yet. Closing down the - read side of a pipe before the child process, doesn't really fit - the windows model. [BUG: 2460] + Added more logic around the close-down of the pipe reader thread so as + to avoid, at all cost, a TerminateThread. Most cases with exec are + fixed, but I don't consider 2460 done yet. Closing down the read side + of a pipe before the child process, doesn't really fit the windows + model. [BUG: 2460] 2000-09-07 Jeff Hobbs @@ -771,14 +754,14 @@ * win/tclWinLoad.c (TclpLoadFile): added special message for ERROR_PROC_NOT_FOUND exception in loading a dll. - * win/tclWinError.c: changed ERROR_PROC_NOT_FOUND to map from - ESRCH (POSIX: no such process) to EINVAL because there is no good - mapping for "procedure not found". + * win/tclWinError.c: changed ERROR_PROC_NOT_FOUND to map from ESRCH + (POSIX: no such process) to EINVAL because there is no good mapping + for "procedure not found". * README: * generic/tcl.h: * library/tcltest1.0/tcltest.tcl: - * tools/tcl.wse.in: + * tools/tcl.wse.in: * tools/tcltk-man2html.tcl: * unix/configure.in: * unix/tcl.spec: @@ -795,8 +778,8 @@ appends. * doc/source.n: - * doc/Eval.3: added extra note about how to safe use ^Z in code, - as it is now a cross-platform (was just Windows) EOF char. + * doc/Eval.3: added extra note about how to safe use ^Z in code, as it + is now a cross-platform (was just Windows) EOF char. 2000-09-05 Jeff Hobbs @@ -810,26 +793,26 @@ 2000-08-29 Eric Melski - * generic/tclStringObj.c: Applied patch from Gerhard Hintermayer - to provide a more conservative string growth algorithm for strings - larger than one megabyte; this allows more efficient use of memory - for very large strings. + * generic/tclStringObj.c: Applied patch from Gerhard Hintermayer to + provide a more conservative string growth algorithm for strings larger + than one megabyte; this allows more efficient use of memory for very + large strings. 2000-08-25 Eric Melski * tests/trace.test: Extended array tracing tests. - * doc/trace.n: Clarified information about when array traces will - be fired. + * doc/trace.n: Clarified information about when array traces will be + fired. * generic/tclVar.c (Tcl_ArrayObjCmd): Corrected call to CallTraces - (for TCL_TRACE_ARRAY) to only be called when the variable is - either an array or is undefined, to ensure that array traces do - not fire for scalar variables. + (for TCL_TRACE_ARRAY) to only be called when the variable is either an + array or is undefined, to ensure that array traces do not fire for + scalar variables. 2000-08-24 Eric Melski - - * doc/man.macros: Tweaked tab settings for .SO (Standard Options) + + * doc/man.macros: Tweaked tab settings for .SO (Standard Options) sections, based on suggestion from Peter Spjuth. 2000-08-24 Mo DeJong @@ -838,23 +821,22 @@ * unix/configure.in: * unix/tcl.m4 (SC_ENABLE_GCC): Remove --enable-gcc option. * win/README: Add note about building with Cygwin. - * win/configure.in: - * win/tcl.m4 (SC_ENABLE_GCC): Remove --enable-gcc option. - Remove quick hack that provided cross compile support for - windows builds. + * win/configure.in: + * win/tcl.m4 (SC_ENABLE_GCC): Remove --enable-gcc option. Remove quick + hack that provided cross compile support for windows builds. 2000-08-24 Eric Melski - Overall change: Added support for command rename/delete traces - and new trace syntax, from patch from Vince Darley. Added support - for array traces for variables. [RFE: 5048, 5967]. + Overall change: Added support for command rename/delete traces and new + trace syntax, from patch from Vince Darley. Added support for array + traces for variables. [RFE: 5048, 5967]. * doc/trace.n: Updated documentation for new syntax; flagged old - syntax as deprecated; added documentation for command - rename/delete traces and variable array traces. + syntax as deprecated; added documentation for command rename/delete + traces and variable array traces. - * tests/trace.test: Updated tests for new trace syntax; new tests - for command rename/delete traces; new tests for array traces. + * tests/trace.test: Updated tests for new trace syntax; new tests for + command rename/delete traces; new tests for array traces. * generic/tclVar.c: Support for new trace syntax; support for TCL_TRACE_ARRAY. @@ -863,17 +845,17 @@ * generic/tclDecls.h: * generic/tcl.decls: Stub functions for command rename/delete traces. - * generic/tcl.h: + * generic/tcl.h: * generic/tclInt.h: * generic/tclBasic.c: Support for command traces. - * generic/tclCmdMZ.c (TclTraceVariableObjCmd): Patched to support - new [trace] syntax: + * generic/tclCmdMZ.c (TclTraceVariableObjCmd): Patched to support new + [trace] syntax: trace {add|remove|list} {variable|command} name ops command Added support for command traces (rename, delete operations). - Added support for TCL_TRACE_ARRAY at Tcl level (array operation - for variable traces). - + Added support for TCL_TRACE_ARRAY at Tcl level (array operation for + variable traces). + 2000-08-20 Eric Melski * generic/tclVar.c: Added check for non-arrays for [array statistics] @@ -885,11 +867,11 @@ tclPlatDecls.h can't be parsed due to a missing definition of TCHAR. Added a check to include it when not defined. - ***POSSIBLE OBSCURE BUG*** could be caused when the compile flags - for the core happen to be different than a project who uses these - publics regarding -D_MBCS and -D_UNICODE. This added check might - have to be revisited later with a better understanding of the - reprocusions. I think TCHAR should be replaced with it's expansion. + ***POSSIBLE OBSCURE BUG*** could be caused when the compile flags for + the core happen to be different than a project who uses these publics + regarding -D_MBCS and -D_UNICODE. This added check might have to be + revisited later with a better understanding of the reprocusions. I + think TCHAR should be replaced with it's expansion. 2000-08-18 David Gravereaux @@ -899,13 +881,13 @@ 2000-08-15 Eric Melski * library/tcltest1.0/tcltest.tcl: Set debug level in - tcltest::restoreState to 2, for consistancy with the debug level - in tcltest::saveState [Bug: 4505]. + tcltest::restoreState to 2, for consistancy with the debug level in + tcltest::saveState [Bug: 4505]. 2000-08-14 Eric Melski - * win/makefile.vc: - * win/Makefile.in: + * win/makefile.vc: + * win/Makefile.in: * unix/Makefile.in: Added tclPlatDecls.h to the list of installed headers, for more complete stubs support. [Bug: 5241]. @@ -913,47 +895,44 @@ platform-specific stubs declarations (Tcl_WinTCharToUtf, etc) [Bug: 5241]. - * README: Updated link for instructions on compiling Tcl from - sources to point to correct location - (http://dev.scriptics.com/doc/... instead of - http://dev.scriptics.com/support/...). + * README: Updated link for instructions on compiling Tcl from sources + to point to correct location (http://dev.scriptics.com/doc/... instead + of http://dev.scriptics.com/support/...). 2000-08-11 Eric Melski * generic/tclEnv.c (TclUnsetEnv): Changed declaration of length - variable from "unsigned int" to "int", to match usage when passed - to TclpFindVariable [Bug: 6126]. + variable from "unsigned int" to "int", to match usage when passed to + TclpFindVariable [Bug: 6126]. 2000-08-10 Eric Melski - * library/msgcat1.0/pkgIndex.tcl: Bumped version number to 1.2 - [Bug: 6100]. + * library/msgcat1.0/pkgIndex.tcl: Bumped version number to 1.2 [Bug: + 6100]. - * library/msgcat1.0/msgcat.tcl: Removed erroneous [package forget] - in msgcat namespace initializer. Bumped version number to 1.2 - [Bug: 6100]. + * library/msgcat1.0/msgcat.tcl: Removed erroneous [package forget] in + msgcat namespace initializer. Bumped version number to 1.2 [Bug: 6100] 2000-08-10 David Gravereaux - * generic/tclObj.c: r1.15 accidentally changed a global mutex - name tclObjMutex to ObjMutex. Put the correct name back. + * generic/tclObj.c: r1.15 accidentally changed a global mutex name + tclObjMutex to ObjMutex. Put the correct name back. 2000-08-07 Eric Melski * tests/indexObj.test: Added tests using the [testwrongnumargs] command to test Tcl_WrongNumArgs. - * generic/tclTest.c (TestWrongNumArgsObjCmd): Added test function - for the Tcl_WrongNumArgs function. + * generic/tclTest.c (TestWrongNumArgsObjCmd): Added test function for + the Tcl_WrongNumArgs function. - * generic/tclIndexObj.c (Tcl_WrongNumArgs): Corrected algorithm to - not insert a space before the message component when objc == 0 - [Bug: 6078]. + * generic/tclIndexObj.c (Tcl_WrongNumArgs): Corrected algorithm to not + insert a space before the message component when objc == 0 [Bug: 6078] 2000-07-27 Mo DeJong - * win/configure.in: TCL_STUB_LIB_FLAG should not - include ${TCL_DBGX} in win/tclConfig.sh, fix that. + * win/configure.in: TCL_STUB_LIB_FLAG should not include ${TCL_DBGX} + in win/tclConfig.sh, fix that. 2000-07-25 David Gravereaux @@ -965,30 +944,30 @@ * generic/tclTest.c: * mac/tclMacPort.h: * unix/tclUnixPort.h: - * win/tclWinInit.c: Thread-safe rewrite for tclAsync.c. Added - notifier alerting on all platforms as it was only working on Win - before. Removed older Win hacks that would end-up waking the - wrong notifier in the presence of a threaded build. All tests - pass as before. New test cases will be added soon for the new - behavior. [BUG: 5791] + * win/tclWinInit.c: Thread-safe rewrite for tclAsync.c. Added notifier + alerting on all platforms as it was only working on Win before. + Removed older Win hacks that would end-up waking the wrong notifier in + the presence of a threaded build. All tests pass as before. New test + cases will be added soon for the new behavior. [BUG: 5791] 2000-07-25 Eric Melski - * generic/tclVar.c (CallTraces): Added check for VAR_TRACE_ACTIVE - on the array containing the variable before executing traces on - that array, to conform with normal variable traces and the - documentation, which states that while executing a trace, other - traces on that variable are disabled. [Bug: 6049]. + * generic/tclVar.c (CallTraces): Added check for VAR_TRACE_ACTIVE on + the array containing the variable before executing traces on that + array, to conform with normal variable traces and the documentation, + which states that while executing a trace, other traces on that + variable are disabled. [Bug: 6049]. - * win/tclWinPipe.c (BuildCommandLine): Added Tcl_DStringFree call - to prevent potential memory leaks [Bug: 6041]. + * win/tclWinPipe.c (BuildCommandLine): Added Tcl_DStringFree call to + prevent potential memory leaks [Bug: 6041]. 2000-07-24 Eric Melski - * doc/msgcat.n: Added documentation about the selection of the - default locale on Windows. + * doc/msgcat.n: Added documentation about the selection of the default + locale on Windows. 2000-07-23 Joe English + * doc/AddErrInfo.3: * doc/ChnlStack.3: * doc/Exit.3: @@ -1006,13 +985,13 @@ 2000-07-21 Eric Melski - * generic/tclStubInit.c: - * generic/tclObj.c: - * generic/tclInt.h: - * generic/tclHash.c: - * generic/tclDecls.h: - * generic/tcl.h: - * generic/tcl.decls: + * generic/tclStubInit.c: + * generic/tclObj.c: + * generic/tclInt.h: + * generic/tclHash.c: + * generic/tclDecls.h: + * generic/tcl.h: + * generic/tcl.decls: * doc/Hash.3: Reapplied patch from Paul Duffin to extend hash tables to allow custom key types, such as Tcl_Obj *'s, and others. @@ -1022,41 +1001,41 @@ 2000-07-21 Mo DeJong * win/configure.in: Define ${prefix} and ${exec_prefix} like - unix/configure.in. Fix or add TCL_SRC_DIR, TCL_STUB_LIB_FILE, + unix/configure.in. Fix or add TCL_SRC_DIR, TCL_STUB_LIB_FILE, TCL_STUB_LIB_FLAG, TCL_BUILD_STUB_LIB_SPEC, TCL_STUB_LIB_SPEC, TCL_BUILD_STUB_LIB_PATH, TCL_STUB_LIB_PATH. 2000-07-20 Eric Melski - * generic/tclStubInit.c: - * generic/tclObj.c: - * generic/tclInt.h: - * generic/tclHash.c: - * generic/tclDecls.h: - * generic/tcl.h: - * generic/tcl.decls: - * doc/Hash.3: Reverted patch from Paul Duffin to extend hash tables - to allow custom key types, such as Tcl_Obj *'s, and others; it - seems to break Tk. + * generic/tclStubInit.c: + * generic/tclObj.c: + * generic/tclInt.h: + * generic/tclHash.c: + * generic/tclDecls.h: + * generic/tcl.h: + * generic/tcl.decls: + * doc/Hash.3: Reverted patch from Paul Duffin to extend hash tables to + allow custom key types, such as Tcl_Obj *'s, and others; it seems to + break Tk. 2000-07-19 Eric Melski - * generic/tclStubInit.c: - * generic/tclObj.c: - * generic/tclInt.h: - * generic/tclHash.c: - * generic/tclDecls.h: - * generic/tcl.h: - * generic/tcl.decls: - * doc/Hash.3: Applied patch from Paul Duffin to extend hash tables - to allow custom key types, such as Tcl_Obj *'s, and others. + * generic/tclStubInit.c: + * generic/tclObj.c: + * generic/tclInt.h: + * generic/tclHash.c: + * generic/tclDecls.h: + * generic/tcl.h: + * generic/tcl.decls: + * doc/Hash.3: Applied patch from Paul Duffin to extend hash tables to + allow custom key types, such as Tcl_Obj *'s, and others. * tests/pkgMkIndex.test: Added tests for pkg_compareExtension. - * library/package.tcl: Enhanced pkg_compareExtension to handle - Unixes which tack the version number on to the end of library - names (eg, foo.so.1.2); such filenames will be correctly matched. - (Patch from Vince Darley). + * library/package.tcl: Enhanced pkg_compareExtension to handle Unixes + which tack the version number on to the end of library names (eg, + foo.so.1.2); such filenames will be correctly matched. (Patch from + Vince Darley). * win/makefile.vc: Applied patch from Don Porter to provide better nmake support for NT/Alpha [RFE: 5938]. @@ -1065,50 +1044,47 @@ * unix/configure.in: * unix/tcl.m4: - * win/tcl.m4: Properly quote arguments to m4 macros. This allows - Tcl to work with the new version of autoconf. + * win/tcl.m4: Properly quote arguments to m4 macros. This allows Tcl + to work with the new version of autoconf. 2000-07-18 Eric Melski * tests/opt.test: Removed references to Lfirst, Lrest functions. - * library/opt0.4/optparse.tcl: Applied patch from Chris Nelson, - which replaces the [Lfirst] function with an inline [lindex ... 0] - and [Lrest] with [lrange ... 1 end], for better performance. - [RFE: 6019] - + * library/opt0.4/optparse.tcl: Applied patch from Chris Nelson, which + replaces the [Lfirst] function with an inline [lindex ... 0] and + [Lrest] with [lrange ... 1 end], for better performance. [RFE: 6019] 2000-07-18 Eric Melski - * compat/string.h: Fixed function prototypes for strpbrk and - strtok [Bug: 6020]. + * compat/string.h: Fixed function prototypes for strpbrk and strtok + [Bug: 6020]. 2000-07-17 David Gravereaux - * win/tclWinChan.c: Win2K OS bug with - GetStdHandle(STD_OUTPUT_HANDLE) giving the wrong answer. This - made TclpGetDefaultStdChannel grab what it thought was a valid - native stdout handle. Added a new WriteFile() test to make sure - it's really valid. This OS bug doesn't affect the shells. Only - -subsystem:windows (aka WinMain) application that dynamically - load tclXX.dll [BUG: 5971] + * win/tclWinChan.c: Win2K OS bug with GetStdHandle(STD_OUTPUT_HANDLE) + giving the wrong answer. This made TclpGetDefaultStdChannel grab what + it thought was a valid native stdout handle. Added a new WriteFile() + test to make sure it's really valid. This OS bug doesn't affect the + shells. Only -subsystem:windows (aka WinMain) application that + dynamically load tclXX.dll [BUG: 5971] 2000-07-17 Eric Melski - * library/msgcat1.0/msgcat.tcl: - * doc/msgcat.n: - * tests/msgcat.test: Applied patches from Chris Nelson, to provide - the mcmset function, which allows the translator to set multiple - string translations in a single function call, rather than - requiring many calls to mcset. [RFE: 6000, 5993]. In addition, - these patches correct mcload to use utf-8 encoding on when reading - message catalog files, and provides for better default behavior - for determining the locale on a Windows system. + * library/msgcat1.0/msgcat.tcl: + * doc/msgcat.n: + * tests/msgcat.test: Applied patches from Chris Nelson, to provide the + mcmset function, which allows the translator to set multiple string + translations in a single function call, rather than requiring many + calls to mcset. [RFE: 6000, 5993]. In addition, these patches correct + mcload to use utf-8 encoding on when reading message catalog files, + and provides for better default behavior for determining the locale on + a Windows system. 2000-07-17 Mo DeJong - * unix/tcl.m4 (SC_ENABLE_GCC): Don't set CC=gcc - before running AC_PROG_CC if CC is already set. + * unix/tcl.m4 (SC_ENABLE_GCC): Don't set CC=gcc before running + AC_PROG_CC if CC is already set. 2000-07-13 André Pönitz @@ -1124,31 +1100,30 @@ 2000-07-07 Mo DeJong - * win/configure.in: Fix definition of - TCL_SRC_DIR so that it matches the Unix version. + * win/configure.in: Fix definition of TCL_SRC_DIR so that it matches + the Unix version. * win/tclConfig.sh.in: Removed duplicate variables. 2000-07-06 Eric Melski - * tests/msgcat.test: - * library/msgcat1.0/msgcat.tcl: Applied patch from Christian - Krone, to provide extended args support for msgcat::unknown, which - is used for strings without a known translation in the current - locale [Bug: 5984]. + * tests/msgcat.test: + * library/msgcat1.0/msgcat.tcl: Applied patch from Christian Krone, to + provide extended args support for msgcat::unknown, which is used for + strings without a known translation in the current locale [Bug: 5984]. 2000-06-29 Eric Melski * doc/msgcat.n: Doc's for mcmax function. - * library/msgcat1.0/msgcat.tcl: Applied patches from Laurent - Duperval, to add mcmax function, which computes the length of the - longest of several translated strings. Bumped version number to 1.1. + * library/msgcat1.0/msgcat.tcl: Applied patches from Laurent Duperval, + to add mcmax function, which computes the length of the longest of + several translated strings. Bumped version number to 1.1. 2000-06-27 Eric Melski - * tests/stringObj.test: Tweaked tests to avoid hardcoded - high-ASCII characters (which will fail in multibyte locales); - instead used \uXXXX syntax. [Bug: 3842]. + * tests/stringObj.test: Tweaked tests to avoid hardcoded high-ASCII + characters (which will fail in multibyte locales); instead used \uXXXX + syntax. [Bug: 3842]. 2000-06-26 Eric Melski @@ -1157,17 +1132,17 @@ 2000-06-23 Eric Melski - * doc/Hash.3: Added documentation patch for Tcl_Obj *'s as keys in - Tcl hash tables [RFE: 5934]. + * doc/Hash.3: Added documentation patch for Tcl_Obj *'s as keys in Tcl + hash tables [RFE: 5934]. - * generic/tcl.h: - * generic/tclHash.c: Applied patch from [RFE: 5934], which extends - Tcl hash tables to allow Tcl_Obj *'s as the key. + * generic/tcl.h: + * generic/tclHash.c: Applied patch from [RFE: 5934], which extends Tcl + hash tables to allow Tcl_Obj *'s as the key. 2000-06-20 Eric Melski * tests/opt.test: - * library/opt0.4/optparse.tcl: Applied patch from [Bug: 5922], which + * library/opt0.4/optparse.tcl: Applied patch from [Bug: 5922], which corrected an incorrect use of [string match]. * unix/tclConfig.sh.in: @@ -1183,23 +1158,23 @@ * win/tcl.m4: * win/configure.in: - * win/Makefile.in: Applied patch from [RFE: 5844], to extend - support for mingw compile environment on Windows. + * win/Makefile.in: Applied patch from [RFE: 5844], to extend support + for mingw compile environment on Windows. * win/tclWinDde.c: * win/tclWinInit.c: * win/tclWinNotify.c: * win/tclWinPipe.c: * win/tclWinReg.c: - * win/tclWinThrd.c: Applied patch from [Bug: 5794], to fix - compiler warnings when using mingw on Windows. + * win/tclWinThrd.c: Applied patch from [Bug: 5794], to fix compiler + warnings when using mingw on Windows. 2000-05-31 Jeff Hobbs * tests/set-old.test: * doc/unset.n: - * generic/tclVar.c (Tcl_UnsetObjCmd): added -nocomplain and -- - options to unset, to allow for a silent unset operation. + * generic/tclVar.c (Tcl_UnsetObjCmd): added -nocomplain and -- options + to unset, to allow for a silent unset operation. 2000-05-31 Eric Melski @@ -1216,68 +1191,66 @@ 8.4a1 RELEASE - * generic/tclExecute.c (TclExecuteByteCode INST_STR_CMP): added - test of iResult return from memcmp, as memcmp isn't required to - return only -1,0,1. + * generic/tclExecute.c (TclExecuteByteCode INST_STR_CMP): added test + of iResult return from memcmp, as memcmp isn't required to return only + -1,0,1. 2000-06-03 Jeff Hobbs - * generic/tclIndexObj.c (Tcl_GetIndexFromObjStruct): Corrected - caching of the index ptr to account for offsets != sizeof(char *). - [Bug: 5153] + * generic/tclIndexObj.c (Tcl_GetIndexFromObjStruct): Corrected caching + of the index ptr to account for offsets != sizeof(char *). [Bug: 5153] 2000-05-29 Sandeep Tamhankar * tests/http.test * doc/http.n - * library/http2.3/http.tcl: Fixed bug 5741, where unsuccessful - geturl calls sometimes leaked memory and resources (sockets). - Also, switched around some of the logic so that http::wait never - throws an exception. This is because in an asynchronous geturl, - the command callback will probably end up doing all the error - handling anyway, and in an asynchronous situation, the user - expects to check the state when the transaction completes, as - opposed to being thrown an exception. For the http package, this - menas the user can check http::status for "error" and http::error - for the error message after doing the http::wait. + * library/http2.3/http.tcl: Fixed bug 5741, where unsuccessful geturl + calls sometimes leaked memory and resources (sockets). Also, switched + around some of the logic so that http::wait never throws an exception. + This is because in an asynchronous geturl, the command callback will + probably end up doing all the error handling anyway, and in an + asynchronous situation, the user expects to check the state when the + transaction completes, as opposed to being thrown an exception. For + the http package, this menas the user can check http::status for + "error" and http::error for the error message after doing the + http::wait. 2000-05-27 Jeff Hobbs * tests/info.test: * doc/info.n: * generic/tclIOUtil.c (Tcl_EvalFile): - * generic/tclCmdIL.c (InfoScriptCmd): added ability to set the - info script return value [info script ?newFileName?]. This will - be beneficial for virtual file system programs. [Bug: 4225] + * generic/tclCmdIL.c (InfoScriptCmd): added ability to set the info + script return value [info script ?newFileName?]. This will be + beneficial for virtual file system programs. [Bug: 4225] 2000-05-26 Jeff Hobbs * generic/tclCmdMZ.c (Tcl_RegsubObjCmd): reworked to operate in Unicode, tweaked for performance. (Tcl_StringObjCmd) changed STR_FIRST/STR_LAST error message to - something more understandable, reworked STR_FIRST, STR_LAST, - STR_MAP, STR_MATCH, STR_RANGE, STR_REPLACE to operate in Unicode. - Removed inneffectual STR_RANGE "special" ByteArray support. - Optimized STR_MAP algorithm, especially optimized for one-pair case. - Fixed possible mem overrun in STR_INDEX bytearray case. - + something more understandable, reworked STR_FIRST, STR_LAST, STR_MAP, + STR_MATCH, STR_RANGE, STR_REPLACE to operate in Unicode. Removed + inneffectual STR_RANGE "special" ByteArray support. Optimized STR_MAP + algorithm, especially optimized for one-pair case. Fixed possible mem + overrun in STR_INDEX bytearray case. + * generic/tclCompExpr.c: changed INST_STREQ -> INST_STR_EQ, INST_STRNEQ -> INST_STR_NEQ * generic/tclCompile.c: added streq, strneq, strcmp, strlen & strmatch to the compiled stats instructionTable * generic/tclCompile.h: added instructions INST_STR_CMP, INST_STR_INDEX, INST_STR_MATCH - * generic/tclCompCmds.c: added byte compiler support for - [string compare|match|index]. - * generic/tclExecute.c: - Changed INST_STR_(N)EQ to return an Int object and not bother - trying to reuse the top stack object. - Added INST_STR_CMP, INST_STR_INDEX, INST_STR_MATCH bytecode ops. - Extended evalstats output info with Tcl_IsShared stat info. + * generic/tclCompCmds.c: added byte compiler support for [string + compare|match|index]. + * generic/tclExecute.c: Changed INST_STR_(N)EQ to return an Int object + and not bother trying to reuse the top stack object. Added + INST_STR_CMP, INST_STR_INDEX, INST_STR_MATCH bytecode ops. Extended + evalstats output info with Tcl_IsShared stat info. * generic/tclInt.h: - * generic/tclObj.c (Tcl_DbIsShared): added support for checking - result of Tcl_IsShared in evalstats (TCL_COMPILE_STATS). + * generic/tclObj.c (Tcl_DbIsShared): added support for checking result + of Tcl_IsShared in evalstats (TCL_COMPILE_STATS). * generic/tclStringObj.c (Tcl_AppendUnicodeToObj): removed dead code. (AppendUnicodeToUnicodeRep) removed overallocation by extra @@ -1289,31 +1262,30 @@ 2000-05-23 Eric Melski - * generic/tclInt.h: Added function prototypes for - TclCompileStringCmd and TclCompileReturnCmd. + * generic/tclInt.h: Added function prototypes for TclCompileStringCmd + and TclCompileReturnCmd. * generic/tclCompile.h: Added definition of INST_STRLEN opcode and updated LAST_INST_OPCODE value. - * generic/tclBasic.c: Added information about TclCompileStringCmd - and TclCompileReturnCmd to BuiltInCmds table. + * generic/tclBasic.c: Added information about TclCompileStringCmd and + TclCompileReturnCmd to BuiltInCmds table. * generic/tclExecute.c (TclExecuteByteCode): Added support for the INST_STRLEN opcode. - * generic/tclCompCmds.c - (TclCompileStringCmd): Basic implementation of byte-compiled - [string] command. Not all subcommands are implemented; those - that are not an out-line compiled. + * generic/tclCompCmds.c (TclCompileStringCmd): Basic implementation of + byte-compiled [string] command. Not all subcommands are implemented; + those that are not an out-line compiled. (TclCompileReturnCmd): Byte-compiled implementation of [return] - command. Only "simple" returns are byte-compiled; in particular, - if the -code, -errorinfo or -errorcode flags are used, the command - is not byte-compiled. + command. Only "simple" returns are byte-compiled; in particular, if + the -code, -errorinfo or -errorcode flags are used, the command is not + byte-compiled. 2000-05-22 Jeff Hobbs - * doc/scan.n: + * doc/scan.n: * doc/array.n: minor doc fixes [Bug: 5396] * generic/tclEnv.c: cast cleanup [Bug: 5624] @@ -1331,9 +1303,9 @@ * generic/tclStubInit.c: * generic/tclIntDecls.h: - * generic/tclInt.decls: removed TclTestChannel*Cmd from internal - stubs table and added TclChannelEventScriptInvoker to the internal - stubs table so it can be used from the test code. + * generic/tclInt.decls: removed TclTestChannel*Cmd from internal stubs + table and added TclChannelEventScriptInvoker to the internal stubs + table so it can be used from the test code. 2000-05-18 Eric Melski @@ -1342,9 +1314,9 @@ * generic/tclDate.c: Regenerated from tclGetDate.y. - * generic/tclGetDate.y: Tweaked grammar to properly handle the - "ago" keyword when it follows multiple relative unit specifiers, - as in "2 days 2 hours ago". [Bug: 5497]. + * generic/tclGetDate.y: Tweaked grammar to properly handle the "ago" + keyword when it follows multiple relative unit specifiers, as in "2 + days 2 hours ago". [Bug: 5497] 2000-05-18 Jeff Hobbs @@ -1354,9 +1326,9 @@ * generic/tclClock.c (FormatClock): correct code to handle locale specific return values from strftime, if any. [Bug: 3345] - * unix/tclUnixInit.c (TclpSetInitialEncodings): attempt to - correct setlocale calls for XIM support and locale issues. - [BUG: 5422 3345 4236 2522 2521] + * unix/tclUnixInit.c (TclpSetInitialEncodings): attempt to correct + setlocale calls for XIM support and locale issues. [BUG: 5422 3345 + 4236 2522 2521] 2000-05-17 Jeff Hobbs @@ -1373,32 +1345,32 @@ 2000-05-10 Jeff Hobbs - * generic/tclPosixStr.c (Tcl_SignalMsg): clarified #defines for - Linux on Sparc to compile correctly. [Bug: 5364] + * generic/tclPosixStr.c (Tcl_SignalMsg): clarified #defines for Linux + on Sparc to compile correctly. [Bug: 5364] * doc/namespace.n: * tests/namespace.test: - * generic/tclNamesp.c (Tcl_NamespaceObjCmd): added 'namespace - exists' command. [Bug: 4665] + * generic/tclNamesp.c (Tcl_NamespaceObjCmd): added 'namespace exists' + command. [Bug: 4665] * doc/source.n: * doc/Eval.3: * tests/source.test: - * generic/tclIOUtil.c (Tcl_EvalFile): added explicit \32 (^Z) - eofchar (affects Tcl_EvalFile in C, "source" in Tcl). This was - implicit on Windows already, and is now cross-platform to allow - for scripted documents. + * generic/tclIOUtil.c (Tcl_EvalFile): added explicit \32 (^Z) eofchar + (affects Tcl_EvalFile in C, "source" in Tcl). This was implicit on + Windows already, and is now cross-platform to allow for scripted + documents. 2000-05-09 Andreas Kupries operating as proxy for David Gravereaux - + * win/tclWinThrd.c (TclpInitLock, TclpMasterLock): Added missing - initialization of joinLock. + initialization of joinLock. 2000-05-09 Eric Melski - * tests/lsearch.test: - * doc/lsearch.n: + * tests/lsearch.test: + * doc/lsearch.n: * generic/tclCmdIL.c (Tcl_LsearchObjCmd): Extended [lsearch] to support sorted list searching and typed list searching. [RFE: 4098]. @@ -1408,19 +1380,19 @@ * tests/expr.test: * tests/expr-old.test: added tests for 'eq' and 'ne' * generic/tclExecute.c: - * generic/tclCompile.h: added INST_STREQ and INST_STRNEQ opcodes - that do strict string comparisons. + * generic/tclCompile.h: added INST_STREQ and INST_STRNEQ opcodes that + do strict string comparisons. * generic/tclCompExpr.c: added 'eq' and 'ne' string comparison operators. - * generic/tclParseExpr.c (GetLexeme): added 'eq' and 'ne' expr - parse terms (string (in)equality check). + * generic/tclParseExpr.c (GetLexeme): added 'eq' and 'ne' expr parse + terms (string (in)equality check). * generic/tclCmdIL.c (Tcl_LinsertObjCmd): made use of - Tcl_DuplicateObj where code was otherwise duplicated. Made - special case of inserting one element at the end work again (where - index == len). - (Tcl_LreplaceObjCmd): moved Tcl_DuplicateObj call lower and - cleaned up use of other arguments. + Tcl_DuplicateObj where code was otherwise duplicated. Made special + case of inserting one element at the end work again (where index == + len). + (Tcl_LreplaceObjCmd): moved Tcl_DuplicateObj call lower and cleaned + up use of other arguments. * generic/tclObj.c (Tcl_DuplicateObj): simplified code to call TclInitStringRep, which the code was just duplicating in part. @@ -1437,16 +1409,15 @@ 2000-05-08 Eric Melski - * tests/set-old.test: - * doc/array.n: + * tests/set-old.test: + * doc/array.n: * generic/tclVar.c: Added [array statistics] command [RFE: 4557] 2000-05-06 Andreas Kupries operating as proxy for David Gravereaux - * tclThreadJoin.c: Fixed several places with missing a & in - arguments to calls of Tcl_Mutex(Un)lock and - Tcl_ConditionNotify functions. + * tclThreadJoin.c: Fixed several places with missing a & in arguments + to calls of Tcl_Mutex(Un)lock and Tcl_ConditionNotify functions. 2000-05-02 Jeff Hobbs @@ -1480,72 +1451,70 @@ 2000-05-02 Andreas Kupries - * Overall changes: + Overall changes: (1) Implementation of joinable threads for all platforms. - (2) Additional API's for channels. Required to allow the - thread extension to move channels between threads. + (2) Additional API's for channels. Required to allow the thread + extension to move channels between threads. * generic/tcl.decls (lines 1360f): Added Tcl_JoinThread, - Tcl_IsChannelShared, Tcl_IsChannelRegistered, Tcl_CutChannel, - Tcl_SpliceChannel, Tcl_IsChannelExisting and - Tcl_ClearChannelHandlers (slots 394 to 400). + Tcl_IsChannelShared, Tcl_IsChannelRegistered, Tcl_CutChannel, + Tcl_SpliceChannel, Tcl_IsChannelExisting and Tcl_ClearChannelHandlers + (slots 394 to 400). * generic/tclIO.c: Implemented Tcl_IsChannelRegistered, - Tcl_IsChannelShared, Tcl_CutChannel, Tcl_SpliceChannel, - Tcl_IsChannelExisting and Tcl_ClearChannelHandlers. - Tcl_CutChannel uses code from CloseChannel. Replaced this code - by a call to Tcl_CutChannel. Replaced several code fragments - adding channels to the channel list with calls to - Tcl_SpliceChannel. Removed now unused variables from - CloseChannel and Tcl_UnstackChannel. Tcl_ClearChannelHandlers - uses code from Tcl_Close. Replaced this code by a call to - Tcl_ClearChannelHandlers. Removed now unused variables from - Tcl_Close. Added the subcommands 'cut', 'forgetch', 'splice' and - 'isshared' to the test code - (TclTestChannelCmd). + Tcl_IsChannelShared, Tcl_CutChannel, Tcl_SpliceChannel, + Tcl_IsChannelExisting and Tcl_ClearChannelHandlers. Tcl_CutChannel + uses code from CloseChannel. Replaced this code by a call to + Tcl_CutChannel. Replaced several code fragments adding channels to + the channel list with calls to Tcl_SpliceChannel. Removed now unused + variables from CloseChannel and Tcl_UnstackChannel. + Tcl_ClearChannelHandlers uses code from Tcl_Close. Replaced this code + by a call to Tcl_ClearChannelHandlers. Removed now unused variables + from Tcl_Close. Added the subcommands 'cut', 'forgetch', 'splice' and + 'isshared' to the test code (TclTestChannelCmd). * unix/tclUnixThread.c: Implemented Tcl_JoinThread using the - pthread-functionality. + pthread-functionality. * win/tclWinThrd.c: Fixed several small typos in comments. - Implemented Tcl_JoinThread using a platform independent - emulation layer (see generic/tclThreadJoin.c below). Added - 'joinLock' to serialize Tcl_CreateThread and TclpExitThread to - prevent a race for joinable threads. + Implemented Tcl_JoinThread using a platform independent emulation + layer (see generic/tclThreadJoin.c below). Added 'joinLock' to + serialize Tcl_CreateThread and TclpExitThread to prevent a race for + joinable threads. * mac/tclMacThrd.c: Implemented Tcl_JoinThread using a platform - independent emulation layer (see generic/tclThreadJoin.c - below). Due to the cooperative nature of threading on this - platform the race mentioned above is not present. + independent emulation layer (see generic/tclThreadJoin.c below). Due + to the cooperative nature of threading on this platform the race + mentioned above is not present. - * generic/tclThreadJoin.c: New file. Contains a platform - independent emulation layer helping in the implementation of - joinable threads for the win and mac platforms. + * generic/tclThreadJoin.c: New file. Contains a platform independent + emulation layer helping in the implementation of joinable threads for + the win and mac platforms. * generic/tclInt.h: Added declarations for TclJoinThread, - TclRememberJoinableThread and TclSignalExitThread. These - procedures define the API of the emulation layer for joinable - threads (see generic/tclThreadJoin.c above). + TclRememberJoinableThread and TclSignalExitThread. These procedures + define the API of the emulation layer for joinable threads (see + generic/tclThreadJoin.c above). * win/Makefile.in: * win/makefile.vc: Added generic/tclTheadJoin.o to the rules. - * mac/: I don't know to which file generic/tclTheadJoin.o has to - be added to so that it compiles. Sorry. + * mac/: I don't know to which file generic/tclTheadJoin.o has to be + added to so that it compiles. Sorry. - * unix/tclUnixChan.c: #ifdef'd the thread-local list of file - channels as it prevents us from transfering channels. To restore - this we may need an extended interface to drivers in the - future. Target: 9.0. Found while testing the new transfer of - channels. The information in this list for a channel was left - behind and then crashed the system during finalization. + * unix/tclUnixChan.c: #ifdef'd the thread-local list of file channels + as it prevents us from transfering channels. To restore this we may + need an extended interface to drivers in the future. Target: + 9.0. Found while testing the new transfer of channels. The information + in this list for a channel was left behind and then crashed the system + during finalization. * generic/tclThreadTest.c: Added -joinable flag to 'testthread - create'. Added subcommand 'testthread join'. + create'. Added subcommand 'testthread join'. * doc/CrtChannel.3: Added documentation for Tcl_IsChannelRegistered, - Tcl_IsChannelShared, Tcl_CutChannel, Tcl_SpliceChannel, - Tcl_IsChannelExisting and Tcl_ClearChannelHandlers. + Tcl_IsChannelShared, Tcl_CutChannel, Tcl_SpliceChannel, + Tcl_IsChannelExisting and Tcl_ClearChannelHandlers. * doc/Thread.3: Added documentation for Tcl_JoinThread. @@ -1563,8 +1532,8 @@ 2000-04-26 Eric Melski - * doc/memory.n: Man page for Tcl "memory" command, which is - created when TCL_MEM_DEBUG is defined at compile time. + * doc/memory.n: Man page for Tcl "memory" command, which is created + when TCL_MEM_DEBUG is defined at compile time. * doc/TCL_MEM_DEBUG.3: Man page with overall information about TCL_MEM_DEBUG usage. @@ -1577,13 +1546,13 @@ * unix/mkLinks: Regen'd with new mkLinks.tcl. * unix/mkLinks.tcl: Fixed indentation, made link setup more - intelligent (only do one existance test per man page, instead of - one per function). + intelligent (only do one existance test per man page, instead of one + per function). * doc/library.n: Fixed .SH NAME macro to include each function - documented on the page, so that mkLinks will know about the - functions listed there, and so that the Windows help file index - will get set up correctly [Bug: 1898, 5273]. + documented on the page, so that mkLinks will know about the functions + listed there, and so that the Windows help file index will get set up + correctly [Bug: 1898, 5273]. 2000-04-26 Jeff Hobbs @@ -1613,42 +1582,41 @@ 2000-04-25 Eric Melski - * unix/mkLinks: + * unix/mkLinks: * doc/AddErrInfo.3: Added information about Tcl_LogCommandInfo [Bug: 1818]. 2000-04-24 Eric Melski - * unix/mkLinks: + * unix/mkLinks: * doc/OpenFileChnl.3: Added man entry for Tcl_Ungets [Bug: 1834]. - * unix/mkLinks: + * unix/mkLinks: * doc/SourceRCFile.3: Man page for Tcl_SourceRCFile [Bug: 1833]. - * unix/mkLinks: + * unix/mkLinks: * doc/ParseCmd.3: Added documentation for Tcl_ParseVar [Bug: 1828]. 2000-04-24 Jeff Hobbs * unix/tclUnixNotfy.c (Tcl_FinalizeNotifier, NotifierThreadProc): - added write of 'q' into triggerPipe for notifier in threaded case, - so that Tcl doesn't hang when children are still running [Bug: 4139] + added write of 'q' into triggerPipe for notifier in threaded case, so + that Tcl doesn't hang when children are still running [Bug: 4139] * unix/tclUnixThrd.c (Tcl_MutexLock): minor comment fixes. 2000-04-23 Jim Ingham These changes make some error handling marginally better for Mac - sockets. It is still somewhat flakey, however. - - * mac/tclMacSock.c (TcpClose): Add timeouts to the close - these - don't seem to be honored, however. - Use a separate PB for the release, since an async connect socket - will still be using the original buffer. - Make sure TCPRelease returns noErr before freeing the recvBuff. - If the call returns an error, then the buffer is not right. - * mac/tclMacSock.c (CreateSocket): Add timeouts to the async - create. These don't seem to trigger, however. Sigh... + sockets. It is still somewhat flakey, however. + + * mac/tclMacSock.c (TcpClose): Add timeouts to the close - these don't + seem to be honored, however. Use a separate PB for the release, since + an async connect socket will still be using the original buffer. Make + sure TCPRelease returns noErr before freeing the recvBuff. If the call + returns an error, then the buffer is not right. + * mac/tclMacSock.c (CreateSocket): Add timeouts to the async create. + These don't seem to trigger, however. Sigh... * mac/tclMacSock.c (WaitForSocketEvent): If an TCP_ASYNC_CONNECT socket errors out, then return EWOULDBLOCK & error out. * mac/tclMacSock.c (NotifyRoutine): Added a NotifyRoutine for @@ -1662,20 +1630,20 @@ 2000-04-21 Sandeep Tamhankar * library/http2.1/http.tcl: Fixed a newly introduced bug where if - there's a -command callback and something goes wrong, geturl threw - an exception, called the callback, and unset the token. I changed - it so that it will not call the callback when throwing an - exception (so the caller only finds out about a given error from - one place). Also, fixed http::ncode so that it actually gives you - back the http return code (i.e. 200, 404, etc.) instead of the - first digit of the version of HTTP being used (i.e. 1). + there's a -command callback and something goes wrong, geturl threw an + exception, called the callback, and unset the token. I changed it so + that it will not call the callback when throwing an exception (so the + caller only finds out about a given error from one place). Also, + fixed http::ncode so that it actually gives you back the http return + code (i.e. 200, 404, etc.) instead of the first digit of the version + of HTTP being used (i.e. 1). 2000-04-21 Brent Welch * library/http2.1/http.tcl: More thrashing with the "server closes - without reading post data" scenario. Reverted to the previous - filevent configuratiuon, which seems to work better with small - amounts of post data. + without reading post data" scenario. Reverted to the previous filevent + configuratiuon, which seems to work better with small amounts of post + data. 2000-04-20 Jeff Hobbs @@ -1688,15 +1656,15 @@ * library/dde1.1/pkgIndex.tcl: * library/reg1.0/pkgIndex.tcl: * win/tclWinChan.c: - * win/tclWinThrd.c: converted CRLF to LF the */tcl.hpj.in files - were not converted, as it confuses hcw locally. [Bug: 5096] + * win/tclWinThrd.c: converted CRLF to LF the */tcl.hpj.in files were + not converted, as it confuses hcw locally. [Bug: 5096] * win/Makefile.in: expanded cleanup target for help files * doc/Thread.3: minor macro cleanup - * generic/tclFileName.c (SplitUnixPath): added support for QNX - node ids. + * generic/tclFileName.c (SplitUnixPath): added support for QNX node + ids. 2000-04-18 Jeff Hobbs @@ -1716,9 +1684,8 @@ * unix/Makefile.in: added install-strip target; bindir, libdir, mandir, includedir vars; tclLoadDyld.c target [Bug: 2527] - * unix/tclUnixChan.c (CreateSocket): force a socket back into - blocking mode (default state) after a -async connect succeeds. - [Bug: 4388] + * unix/tclUnixChan.c (CreateSocket): force a socket back into blocking + mode (default state) after a -async connect succeeds. [Bug: 4388] * generic/tclEvent.c (TclInitSubsystems): Moved tclLibraryPath to thread-local storage to prevent thread-related race condition. @@ -1732,23 +1699,23 @@ * win/Makefile.in: * win/tcl.rc: * win/tclsh.rc: - * win/tclsh.ico: Modified copyright dates in Windows resource - files. Added an icon for tclsh.exe. + * win/tclsh.ico: Modified copyright dates in Windows resource files. + Added an icon for tclsh.exe. 2000-04-17 Brent Welch * generic/tcl.h, generic/tclThreadTest.c, unix/tclUnixThrd.c, - win/tclWinThread.c, mac/tclMacThread.c: - Added Tcl_CreateThreadType and TCL_RETURN_THREAD_TYPE - macros for declaring the NewThread callback proc. + * win/tclWinThread.c, mac/tclMacThread.c: Added Tcl_CreateThreadType + and TCL_RETURN_THREAD_TYPE macros for declaring the NewThread callback + proc. 2000-04-14 Jeff Hobbs * unix/tclUnixChan.c (TtyParseMode): Only allow setting mark/space parity on platforms that support it [Bug: 5089] - * generic/tclBasic.c (Tcl_GetVersion): adjusted use of major/minor - to not conflict with global decl on some systems [Bug: 2882] + * generic/tclBasic.c (Tcl_GetVersion): adjusted use of major/minor to + not conflict with global decl on some systems [Bug: 2882] * doc/AppInit.3: * doc/Async.3: @@ -1798,17 +1765,17 @@ * generic/tcl.h: Fixed Tcl_CreateThread declaration. * library/tcltest1.0/tcltest.tcl: Fixed the "mainThread" initialization to work with either testthread or the thread extension - * unix/tclUnixThrd.c: Fixed compiler warning when compiling - with -DTCL_THREADS + * unix/tclUnixThrd.c: Fixed compiler warning when compiling with + -DTCL_THREADS 2000-04-10 Eric Melski - * win/tclWinPipe.c (TclpCreateTempFile): Added conversion of - contents string from UTF to native encoding [Bug: 4030]. + * win/tclWinPipe.c (TclpCreateTempFile): Added conversion of contents + string from UTF to native encoding [Bug: 4030]. * tests/regexp.test: Added tests for infinite looping in [regexp -all]. - + * generic/tclCmdMZ.c: Fixed infinite loop bug with [regexp -all] [Bug: 4981]. @@ -1817,14 +1784,13 @@ 2000-04-09 Brent Welch - * lib/httpd2.1/http.tcl: Worked on the "server closes before - reading post data" case, which unfortunately causes different - error cases on Solaris, which can read the reply, and Linux - and Windows, which cannot read anything. This is all in the - loop-back case - client and server on the same host. Also - unified the error handling so the "ioerror" status goes away - and errors are reflected in a more uniform way. Updated the - man page to document the behavior. + * lib/httpd2.1/http.tcl: Worked on the "server closes before reading + post data" case, which unfortunately causes different error cases on + Solaris, which can read the reply, and Linux and Windows, which cannot + read anything. This is all in the loop-back case - client and server + on the same host. Also unified the error handling so the "ioerror" + status goes away and errors are reflected in a more uniform way. + Updated the man page to document the behavior. 2000-04-09 Jeff Hobbs @@ -1834,70 +1800,68 @@ * generic/tclBasic.c (Tcl_SetCommandInfo): comment fix * unix/tclUnixThrd.c (Tcl_CreateThread): moved TCL_THREADS ifdef - inside of func as it is declared for non-threads builds as well. - In the non-threads case, it always returns TCL_ERROR (couldn't - create thread). + inside of func as it is declared for non-threads builds as well. In + the non-threads case, it always returns TCL_ERROR (couldn't create + thread). 2000-04-08 Andreas Kupries * Overall change: Definition of a public API for the creation of - new threads. + new threads. * generic/tclInt.h (line 1802f): Removed the definition of 'TclpThreadCreate'. (line 793f) Removed the definition of 'Tcl_ThreadCreateProc'. * generic/tcl.h (line 388f): Readded the definition of - 'Tcl_ThreadCreateProc'. Added Win32 stuff send in by David - Graveraux to that too (__stdcall, - ...). Added macros for the default stacksize and allowed flags. + 'Tcl_ThreadCreateProc'. Added Win32 stuff send in by David Graveraux + to that too (__stdcall, ...). Added macros for + the default stacksize and allowed flags. * generic/tcl.decls (line 1356f): Added definition of - 'Tcl_CreateThread', slot 393 of the stub table. Two new - arguments in the public API, for stacksize and flags. + 'Tcl_CreateThread', slot 393 of the stub table. Two new arguments in + the public API, for stacksize and flags. * win/tclWinThrd.c: * mac/tclMacThrd.c: Renamed TclpThreadCreate to Tcl_CreateThread, - added handling of the stacksize. Flags are currently ignored. + added handling of the stacksize. Flags are currently ignored. - * unix/tclUnixThrd.c: See above, but handles joinable - flag. Ignores the specified stacksize if the macro - HAVE_PTHREAD_ATTR_SETSTACKSIZE is not defined. + * unix/tclUnixThrd.c: See above, but handles joinable flag. Ignores + the specified stacksize if the macro HAVE_PTHREAD_ATTR_SETSTACKSIZE is + not defined. * generic/tclThreadTest.c (line 363): See below. - * unix/tclUnixNotfy.c (line 210): Adapted to the changes - above. Uses default stacksize and no flags now. + * unix/tclUnixNotfy.c (line 210): Adapted to the changes above. Uses + default stacksize and no flags now. * unic/tcl.m4 (line 382f): Added a check for - 'pthread_attr_setstacksize' to detect platforms not implementing - this feature of pthreads. If it is implemented, configure will - define the macro HAVE_PTHREAD_ATTR_SETSTACKSIZE (See - unix/tclUnixThrd.c too). + 'pthread_attr_setstacksize' to detect platforms not implementing this + feature of pthreads. If it is implemented, configure will define the + macro HAVE_PTHREAD_ATTR_SETSTACKSIZE (See unix/tclUnixThrd.c too). - * doc/Thread.3: Added Tcl_CreateThread and its arguments to the - list of described functions. Removed stuff about not providing a - public C-API for thread-creation. + * doc/Thread.3: Added Tcl_CreateThread and its arguments to the list + of described functions. Removed stuff about not providing a public + C-API for thread-creation. 2000-04-07 Jeff Hobbs - * doc/binary.n: clarified docs on sign extension in binary scan - [Bug: 3466] + * doc/binary.n: clarified docs on sign extension in binary scan [Bug: + 3466] * library/tcltest1.0/tcltest.tcl (initConstraints): removed win32s references (no longer supported) - * tests/fCmd.test: marked test 8.1 knownBug because it is - dangerous on poorly configured systems [Bug: 3881] - and added 8.2 to keep essence of 8.1 tested. + * tests/fCmd.test: marked test 8.1 knownBug because it is dangerous on + poorly configured systems [Bug: 3881] and added 8.2 to keep essence of + 8.1 tested. 2000-04-05 Andreas Kupries - * generic/tclIO.c (Tcl_UnstackChannel, line 1831): Forcing - interest mask to the correct value after an unstack and - re-initialization of the notifier via the watchProc. Without this - the first fileevent after an unstack will come through and be - processed, but no more. [Bug: ??]. + * generic/tclIO.c (Tcl_UnstackChannel, line 1831): Forcing interest + mask to the correct value after an unstack and re-initialization of + the notifier via the watchProc. Without this the first fileevent after + an unstack will come through and be processed, but no more. [Bug: ??]. 2000-03-04 Brent Welch @@ -1909,18 +1873,18 @@ 2000-03-29 Sandeep Tamhankar - * library/http2.1/http.tcl: For the -querychannel option, - fconfigure the socket to be binary so that we don't translate - anything while reading the data. This is because we determine the - content length of the data on the channel by using seek (to the end - of the file) and tell on the file handle, and we need the - content-length to match the amount of data actually sent, and - translation can affect the number of bytes posted. + * library/http2.1/http.tcl: For the -querychannel option, fconfigure + the socket to be binary so that we don't translate anything while + reading the data. This is because we determine the content length of + the data on the channel by using seek (to the end of the file) and + tell on the file handle, and we need the content-length to match the + amount of data actually sent, and translation can affect the number of + bytes posted. 2000-04-03 Andreas Kupries - * Overall change: Definition of public API's for the finalization - of conditions and mutexes. [Bug: 4199]. + * Overall change: Definition of public API's for the finalization of + conditions and mutexes. [Bug: 4199]. * generic/tclInt.h: Removed definitions of TclFinalizeMutex and TclFinalizeCondition. @@ -1928,27 +1892,26 @@ * generic/tcl.decls: Added declarations of Tcl_MutexFinalize and Tcl_ConditionFinalize. - * generic/tclThread.c: Renamed TclFinalizeMutex to - Tcl_MutexFinalize. Renamed TclFinalizeCondition to - Tcl_ConditionFinalize. + * generic/tclThread.c: Renamed TclFinalizeMutex to Tcl_MutexFinalize. + Renamed TclFinalizeCondition to Tcl_ConditionFinalize. * generic/tclNotify.c: Changed usage of TclFinalizeMutex to Tcl_MutexFinalize. - * unix/tclUnixNotfy.c: + * unix/tclUnixNotfy.c: * generic/tclThreadTest.c: Changed usages of TclFinalizeCondition to Tcl_ConditionFinalize. * generic/tcl.h: Added empty macros for Tcl_MutexFinalize and - Tcl_ConditionFinalize, to be used when the core is compiled - without threads. + Tcl_ConditionFinalize, to be used when the core is compiled without + threads. * doc/Thread.3: Added description the new API's. 2000-04-03 Jeff Hobbs - * generic/tclCmdIL.c (InfoVarsCmd): checked for non-NULL procPtr - to prevent itcl info override crash [Bug: 4064] + * generic/tclCmdIL.c (InfoVarsCmd): checked for non-NULL procPtr to + prevent itcl info override crash [Bug: 4064] * tests/foreach.test: * tests/namespace.test: @@ -1967,27 +1930,27 @@ 2000-04-03 Eric Melski - * unix/tclUnixFCmd.c (SetGroupAttribute): - * unix/tclUnixFCmd.c (SetOwnerAttribute): Added (uid_t) and (gid_t) + * unix/tclUnixFCmd.c (SetGroupAttribute): + * unix/tclUnixFCmd.c (SetOwnerAttribute): Added (uid_t) and (gid_t) casts to avoid compiler warnings. 2000-03-31 Eric Melski * generic/tclGet.c (Tcl_GetDouble): Added additional conditions to - error test (previously only errno was checked, but the return - value of strtod() should be checked as well). [Bug: 4118]. + error test (previously only errno was checked, but the return value of + strtod() should be checked as well). [Bug: 4118] - * tests/exec.test: Added test for proper conversion of UTF data - when used with "<< $dataWithUTF" on exec's. + * tests/exec.test: Added test for proper conversion of UTF data when + used with "<< $dataWithUTF" on exec's. * unix/tclUnixPipe.c (TclpCreateTempFile): Added - Tcl_UtfToExternalDString call, so that if there is UTF content in - the string it will be properly converted to the system encoding - before being written [Bug: 4030]. + Tcl_UtfToExternalDString call, so that if there is UTF content in the + string it will be properly converted to the system encoding before + being written [Bug: 4030]. (TclpCreateTempFile): Added a check on the return value of tmpnam; some systems (Linux, for example) will start to return NULL after - tmpnam has been called TMP_MAX times; not checking for this can - have bad results (overwriting temp files, core dumps, etc.) + tmpnam has been called TMP_MAX times; not checking for this can have + bad results (overwriting temp files, core dumps, etc.) 2000-03-30 Jeff Hobbs @@ -2000,8 +1963,8 @@ * win/tclWin32Dll.c: removed TclWinSynchSpawn (vestige of Win32s support). - * win/tclWinReg.c: made use of TclWinGetPlatformId instead of - getting info again + * win/tclWinReg.c: made use of TclWinGetPlatformId instead of getting + info again * win/tclWinPort.h: * win/Makefile.in: @@ -2019,16 +1982,15 @@ 2000-03-29 Sandeep Tamhankar - * library/http2.1/http.tcl: Removed an unnecessary fileevent - statement from the error processing part of the Write method. - Also, fixed two potential memory leaks in wait and reset, in which - the state array wasn't being unset before throwing an exception. - Prior to this version, Brent checked in a fix to catch a - fileevent statement that was sometimes causing a stack trace when - geturl was called with -timeout. I believe Brent's fix is - necessary because TLS closes bad sockets for secure connections, - and the fileevent was trying to act on a socket that no longer - existed. + * library/http2.1/http.tcl: Removed an unnecessary fileevent statement + from the error processing part of the Write method. Also, fixed two + potential memory leaks in wait and reset, in which the state array + wasn't being unset before throwing an exception. Prior to this + version, Brent checked in a fix to catch a fileevent statement that + was sometimes causing a stack trace when geturl was called with + -timeout. I believe Brent's fix is necessary because TLS closes bad + sockets for secure connections, and the fileevent was trying to act on + a socket that no longer existed. 2000-03-27 Jeff Hobbs @@ -2036,118 +1998,115 @@ * tests/namespace.test: * generic/tclNamesp.c (Tcl_Export): added a uniq'ing test to the - export list so only one instance of each export pattern would - exist in the list. + export list so only one instance of each export pattern would exist in + the list. - * generic/tclExecute.c (TclExecuteByteCode): optimized case for - the empty string in ==/!= comparisons + * generic/tclExecute.c (TclExecuteByteCode): optimized case for the + empty string in ==/!= comparisons 2000-03-27 Eric Melski - * unix/tclUnixChan.c: Added (off_t) type casts in lseek() call - [Bug: 4409]. + * unix/tclUnixChan.c: Added (off_t) type casts in lseek() call [Bug: + 4409]. - * unix/tclLoadAout.c: - * unix/tclUnixPipe.c: Added (off_t) type casts in lseek() calls - [Bug: 4410]. + * unix/tclLoadAout.c: + * unix/tclUnixPipe.c: Added (off_t) type casts in lseek() calls [Bug: + 4410]. 2000-03-22 Sandeep Tamhankar - * library/http2.1/http.tcl: Fixed a bug where string query data - that was bigger than queryblocksize would get duplicate characters - at block boundaries. + * library/http2.1/http.tcl: Fixed a bug where string query data that + was bigger than queryblocksize would get duplicate characters at block + boundaries. 2000-03-22 Sandeep Tamhankar - * library/http2.1/http.tcl: Fixed bug 4463, where we were getting - a stack trace if we tried to publish a project to a good host but - a port where there was no server listening. It turned out the - problem was a stray fileevent that needed to be cleared. Also, - fixed a bug where http::code could stack trace if called on a bad - token (one which didn't represent a successful geturl) by adding - an http element to the state array in geturl. + * library/http2.1/http.tcl: Fixed bug 4463, where we were getting a + stack trace if we tried to publish a project to a good host but a port + where there was no server listening. It turned out the problem was a + stray fileevent that needed to be cleared. Also, fixed a bug where + http::code could stack trace if called on a bad token (one which + didn't represent a successful geturl) by adding an http element to the + state array in geturl. 2000-03-21 Eric Melski * tests/clock.test: Modified some tests that were not robust with - respect to the time zone in which they were run and were thus - failing. + respect to the time zone in which they were run and were thus failing. - * doc/clock.n: Clarified meaning of -gmt with respect to -base - when used with [clock scan] (-gmt does not affect the - interpretation of -base). + * doc/clock.n: Clarified meaning of -gmt with respect to -base when + used with [clock scan] (-gmt does not affect the interpretation of + -base). 2000-03-19 Sandeep Tamhankar - * library/http2.1/http.tcl: geturl used to throw an exception when - the connection failed; I accidentally returned a token with the - error info, breaking backwards compatibility. I changed it back - to throwing an exception, but unsetting the state array first - (thus still eliminating the original memory leak problem). + * library/http2.1/http.tcl: geturl used to throw an exception when the + connection failed; I accidentally returned a token with the error + info, breaking backwards compatibility. I changed it back to throwing + an exception, but unsetting the state array first (thus still + eliminating the original memory leak problem). 2000-03-19 Sandeep Tamhankar * library/http2.1/http.tcl: Added -querychannel option and altered some of Brent's modifications to allow asynchronous posts (via - -command). Also modified -queryprogress so that it calls the - query callback as - to be consistent with -progress. Added -queryblocksize option - with default 8192 bytes for post blocksize. Fixed a bunch of - potential memory leaks for the case when geturl receives bad args - or can't open a socket, etc. Overall, the package really rocks - now. + -command). Also modified -queryprogress so that it calls the query + callback as to be + consistent with -progress. Added -queryblocksize option with default + 8192 bytes for post blocksize. Fixed a bunch of potential memory leaks + for the case when geturl receives bad args or can't open a socket, + etc. Overall, the package really rocks now. * doc/http.n: Added -queryblocksize, -querychannel, and - -queryprogress. Also, changed the description of -blocksize, - which states that the -progress callback will be called for each - block, to now qualify that with an "if -progress is specified". + -queryprogress. Also, changed the description of -blocksize, which + states that the -progress callback will be called for each block, to + now qualify that with an "if -progress is specified". * tests/http.test: Added a querychannel test for synchronous and asynchronous posts, altered the queryprogress test such that the - callback conforms to the -progress format. Also, had to use the - -queryblocksize option to do the post 16K at a time to match - Brent's expected results (and to test that -queryblocksize works). + callback conforms to the -progress format. Also, had to use the + -queryblocksize option to do the post 16K at a time to match Brent's + expected results (and to test that -queryblocksize works). 2000-03-15 Brent Welch * library/http2.1/http.tcl: Added -queryprogress callback to - http::geturl and also changed it so that writing the post data - is event driven if the queryprogress callback or a timeout is given. - This allows a timeout to occur when writing lots of post data. - The queryprogress callback is called after each block of query - data is posted. It has the same signature as the -progress callback. + http::geturl and also changed it so that writing the post data is + event driven if the queryprogress callback or a timeout is given. + This allows a timeout to occur when writing lots of post data. The + queryprogress callback is called after each block of query data is + posted. It has the same signature as the -progress callback. 2000-03-06 Eric Melski * library/package.tcl: Applied patch from Bug: 2570; rather than setting geometry of slave interp to 0x0 when Tk was loaded, it now - does "wm withdraw .". Both remove the main window from the - display, but the former caused some internal structures to get - initialized to zero, which caused crashes with some extensions. + does "wm withdraw .". Both remove the main window from the display, + but the former caused some internal structures to get initialized to + zero, which caused crashes with some extensions. 2000-03-02 Jeff Hobbs - * library/package.tcl (tclPkgUnknown): extended to allow - recognizes changes in the auto_path while sourcing in other - pkgIndex.tcl files + * library/package.tcl (tclPkgUnknown): extended to allow recognizes + changes in the auto_path while sourcing in other pkgIndex.tcl files * doc/FindExec.3: fixed doc for declaration of Tcl_FindExecutable [Bug: 4275] - * generic/tclFileName.c (Tcl_TranslateFileName): Applied patch - from Newman to significantly speedup file split/join on Windows - (replaces regexp with custom parser). [Bug: 2867] + * generic/tclFileName.c (Tcl_TranslateFileName): Applied patch from + Newman to significantly speedup file split/join on Windows (replaces + regexp with custom parser). [Bug: 2867] - * win/README.binary: change mailing lists from @consortium.org - to @scriptics.com [Bug: 4173] + * win/README.binary: change mailing lists from @consortium.org to + @scriptics.com [Bug: 4173] 2000-02-28 Eric Melski * tests/clock.test: Added test for ISO bases < 100000 * generic/tclDate.c: (generated on Solaris) - * generic/tclGetDate.y: Changed condition for deciding if a number - is an ISO 8601 base from number >= 100000 to numberOfDigits >= 6. + * generic/tclGetDate.y: Changed condition for deciding if a number is + an ISO 8601 base from number >= 100000 to numberOfDigits >= 6. Previously it would fail to recognize 000000 as an ISO base. 2000-02-14 Eric Melski @@ -2166,42 +2125,41 @@ * doc/load.n: added notes about dll load errors on Windows * unix/README: - * unix/Makefile.in (dist): removed porting.notes and porting.old - from distribution and CVS. The information was very outdated. Now - refer to http://dev.scriptics.com/services/support/platforms.html + * unix/Makefile.in (dist): removed porting.notes and porting.old from + distribution and CVS. The information was very outdated. Now refer to + http://dev.scriptics.com/services/support/platforms.html * tests/unixInit.test: fixed japanese LANG encoding test [Bug: 3549] * unix/configure.in: - * unix/tcl.m4: correct CFLAG_WARNING setting, - fixed gcc config for AIX, - added -export-dynamic to LDFLAGS for FreeBSD-3+ [Bug: 2998] + * unix/tcl.m4: correct CFLAG_WARNING setting, fixed gcc config for + AIX, added -export-dynamic to LDFLAGS for FreeBSD-3+ [Bug: 2998] * win/tclWinLoad.c (TclpLoadFile): improved error message for load failures, could perhaps be even more intelligent. 2000-02-09 Jim Ingham - * mac/tclMacSock.c: Don't panic when you get an error closing an async - socket. This doesn't seem to hurt anything, and we return the error so + * mac/tclMacSock.c: Don't panic when you get an error closing an async + socket. This doesn't seem to hurt anything, and we return the error so the caller can do the right thing. New Files: * mac/MW_TclHeader.h: * mac/MW_TclTestHeader.h: * mac/MW_TclTestHeader.pch: - * mac/MW_TclAppleScriptHeader.h: More convenient to use .h prefix files - in the preference panels... + * mac/MW_TclAppleScriptHeader.h: More convenient to use .h prefix + files in the preference panels... The above are curtesy of Daniel Steffen (steffen@math.mq.edu.au) 2000-02-08 Eric Melski * tests/clock.test: Added tests for "next monthname" constructs. - * generic/tclDate.c: + * generic/tclDate.c: * generic/tclGetDate.y (Message): Added a grammar rule for "next - monthname" so that we can handle "next january" and similar - constructs (bug #4146). + monthname" so that we can handle "next january" and similar constructs + (bug #4146). 2000-02-08 Jeff Hobbs @@ -2228,35 +2186,35 @@ * tests/httpold.test: changed test script to source in the httpd server procs from httpd instead of having its own set. - * tests/httpd: improved query support in test httpd to handle fix - in http.tcl. [Bug: 4089 change 2000-02-01] + * tests/httpd: improved query support in test httpd to handle fix in + http.tcl. [Bug: 4089 change 2000-02-01] - * unix/README: fixed notes about --enable-shared and add note - about --disable-shared. + * unix/README: fixed notes about --enable-shared and add note about + --disable-shared. 2000-02-07 Eric Melski - * tests/package.test: - * library/tclIndex: + * tests/package.test: + * library/tclIndex: * library/package.tcl: Renamed ::package namespace to ::pkg. 2000-02-03 Eric Melski * doc/Package.n: - * doc/packagens.n: Renamed Package.n -> packagens.n because Windows + * doc/packagens.n: Renamed Package.n -> packagens.n because Windows can't deal with case-sensitive names. 2000-02-02 Jeff Hobbs * tests/regexp.test: added tests for -all and -inline switches * doc/regexp.n: added docs for -all and -inline switches - * generic/tclCmdMZ.c (Tcl_RegexpObjCmd): added extra comments for - new -all and -inline switches to regexp command + * generic/tclCmdMZ.c (Tcl_RegexpObjCmd): added extra comments for new + -all and -inline switches to regexp command 2000-02-01 Eric Melski - * library/init.tcl: Applied patch from rfe 1734 regarding - auto_load errors not setting error message and errorInfo properly. + * library/init.tcl: Applied patch from rfe 1734 regarding auto_load + errors not setting error message and errorInfo properly. 2000-02-01 Jeff Hobbs @@ -2271,13 +2229,13 @@ 2000-01-31 Eric Melski - * tests/package.test: - * library/tclIndex: - * library/package.tcl: Added ::package namespace and - ::package::create function. + * tests/package.test: + * library/tclIndex: + * library/package.tcl: Added ::package namespace and ::package::create + function. - * library/init.tcl: Fixed problem with auto_load and determining - if commands were loaded. + * library/init.tcl: Fixed problem with auto_load and determining if + commands were loaded. * library/auto.tcl: "Fixed" issues with $ in files to be auto indexed. @@ -2289,66 +2247,66 @@ 2000-01-28 Eric Melski - * tests/pkg/magicchar2.tcl: + * tests/pkg/magicchar2.tcl: * tests/autoMkindex.test: Test for auto loader fix (bug #2480). * library/init.tcl: auto_load was using [info commands $name] to - determine if a given command was available; if the command name - had * or [] it, this would fail because info commands uses - glob-style matching. This is fixed. (Bug #2480). + determine if a given command was available; if the command name had * + or [] it, this would fail because info commands uses glob-style + matching. This is fixed. (Bug #2480). - * tests/pkg/spacename.tcl: + * tests/pkg/spacename.tcl: * tests/pkgMkIndex.test: Tests for fix for bug #2360. - * library/package.tcl: Fixed to extract only the first element of - the list returned by auto_qualify (bug #2360). + * library/package.tcl: Fixed to extract only the first element of the + list returned by auto_qualify (bug #2360). - * tests/pkg/magicchar.tcl: + * tests/pkg/magicchar.tcl: * tests/autoMkindex.test: Test for fix for bug #2611. * library/auto.tcl: Fixed the regular expression that performs $ - escaping before sourcing a file to index. It was erroneously - adding \ escapes even to $'s that were already escaped, - effectively "un-escaping" those $'s. (bug #2611). + escaping before sourcing a file to index. It was erroneously adding \ + escapes even to $'s that were already escaped, effectively + "un-escaping" those $'s. (bug #2611). 2000-01-27 Eric Melski - * tests/autoMkindex.test: - * library/auto.tcl: Applied patch (with slight modification) from - bug #2701: auto_mkIndex uses platform dependent file paths. - Added test for fix. + * tests/autoMkindex.test: + * library/auto.tcl: Applied patch (with slight modification) from bug + #2701: auto_mkIndex uses platform dependent file paths. Added test for + fix. 2000-01-27 Jennifer Hom * library/tcltest1.0/tcltest.tcl: Changed NormalizePath to - normalizePath and exported it as a public proc. This proc - creates an absolute path given the name of the variable containing - the path to modify. The path is modified in place. + normalizePath and exported it as a public proc. This proc creates an + absolute path given the name of the variable containing the path to + modify. The path is modified in place. * library/tcltest1.0/pkgIndex.tcl: Added normalizePath. * tests/all.tcl: Changed code to use normalizePath. 2000-01-27 Eric Melski * tests/pkg/samename.tcl: test file for bug #1983 - - * tests/pkgMkIndex.test: - * doc/pkgMkIndex.n: + + * tests/pkgMkIndex.test: + * doc/pkgMkIndex.n: * library/package.tcl: Per rfe #4097, optimized creation of direct - load packages to bypass computing the list of commands added by - the new package. Also made direct loading the default, and added - a -lazy option. + load packages to bypass computing the list of commands added by the + new package. Also made direct loading the default, and added a -lazy + option. Fixed bug #1983, dealing with pkg_mkIndex incorrectly handling - situations with two procs by the same name but in different - namespaces (ie, foo::baz and bar::baz). + situations with two procs by the same name but in different namespaces + (ie, foo::baz and bar::baz). 2000-01-26 Eric Melski * generic/tclNamesp.c: Undid fix for #956, which broke backwards compatibility. - * doc/variable.n: - * doc/trace.n: - * doc/namespace.n: + * doc/variable.n: + * doc/trace.n: + * doc/namespace.n: * doc/info.n: Added further information about differences between "namespace which" and "info exists". @@ -2357,18 +2315,18 @@ 2000-01-25 Jeff Hobbs - * unix/tcl.m4: modified EXTRA_CFLAGS to add -DHAVE_TZSET for - OSF1-V* and ULTRIX-4.* when not using gcc. Also added higher min - stack size for OSF1-V* when building with threads. [Bug: 4063] + * unix/tcl.m4: modified EXTRA_CFLAGS to add -DHAVE_TZSET for OSF1-V* + and ULTRIX-4.* when not using gcc. Also added higher min stack size + for OSF1-V* when building with threads. [Bug: 4063] * generic/tclClock.c (FormatClock): inlined resultPtr, as it conflicted with var creation for HAVE_TZSET #def [Bug: 4063] - * generic/tclCmdIL.c (Tcl_LsortObjCmd): fixed potential leak - when calling lsort -command with bad command [Bug: 4067] + * generic/tclCmdIL.c (Tcl_LsortObjCmd): fixed potential leak when + calling lsort -command with bad command [Bug: 4067] - * generic/tclFileName.c (Tcl_JoinPath): added support for special - QNX node id prefixes in pathnames [Bug: 4053] + * generic/tclFileName.c (Tcl_JoinPath): added support for special QNX + node id prefixes in pathnames [Bug: 4053] * doc/ListObj.3: clarified Tcl_ListObjGetElements docs [Bug: 4080] @@ -2378,18 +2336,18 @@ 2000-01-23 Jeff Hobbs - * library/init.tcl (auto_execok): added 'start' to list of - recognized built-in commands for COMSPEC on NT. [Bug: 2858] + * library/init.tcl (auto_execok): added 'start' to list of recognized + built-in commands for COMSPEC on NT. [Bug: 2858] * unix/tclUnixPort.h: moved include of lower since some systems (UTS) require sys/types.h to be included first [Bug: 4031] - * unix/tclUnixChan.c (CreateSocketAddress): changed comparison - with -1 to 0xFFFFFFFF, to ensure 32 bit comparison even on 64 bit - systems. [Bug: 3878] + * unix/tclUnixChan.c (CreateSocketAddress): changed comparison with -1 + to 0xFFFFFFFF, to ensure 32 bit comparison even on 64 bit systems. + [Bug: 3878] - * generic/tclFileName.c: improved guessing of path separator - for the Mac. (Darley) + * generic/tclFileName.c: improved guessing of path separator for the + Mac. (Darley) * generic/tclInt.h: * generic/tcl.decls: moved Tcl_ProcObjCmd to stubs table [Bug: 3827] @@ -2398,7 +2356,7 @@ 2000-01-21 Eric Melski - * unix/mkLinks: + * unix/mkLinks: * doc/GetHostName.3: Man page for Tcl_GetHostName (bug #1817). * doc/lreplace.n: Corrected man page with respect to treatment of @@ -2412,24 +2370,24 @@ * generic/tclNamesp.c: Added check for undefined variables in NamespaceWhichCmd (bug #956). - * tests/var.test: Added tests for corrected variable behavior - (bug #981). + * tests/var.test: Added tests for corrected variable behavior (bug + #981). * doc/upvar.n: Expanded explanation of upvar behavior with respect to - variable traces. (bugs 3917 1433 2110). + variable traces. (bugs 3917 1433 2110). * generic/tclVar.c: Changed behavior of variable command when name refers to an element in an array (ie, "variable foo(x)") to always - return an error, regardless of existance of that element in the - array (now behavior is consistant with docs too) (bug #981). + return an error, regardless of existance of that element in the array + (now behavior is consistant with docs too) (bug #981). 2000-01-20 Jeff Hobbs - * generic/tclCmdIL.c (InfoBodyCmd): made [info body] return a - string if the body has been bytecompiled. + * generic/tclCmdIL.c (InfoBodyCmd): made [info body] return a string + if the body has been bytecompiled. * generic/tclBasic.c (Tcl_EvalObjEx): added pedantic check for - originating proc body of bytecompiled code, #def'd out as the - change for [info body] should make it unnecessary + originating proc body of bytecompiled code, #def'd out as the change + for [info body] should make it unnecessary * unix/tclUnixNotfy.c (Tcl_InitNotifier): added cast for tsdPtr @@ -2442,20 +2400,19 @@ * doc/vwait.n: added notes about requirement for vwait var being globally scoped [Bug: 3329] - * library/word.tcl: changed tcl_(non)wordchars settings to use - new unicode regexp char class escapes instead of char sequences + * library/word.tcl: changed tcl_(non)wordchars settings to use new + unicode regexp char class escapes instead of char sequences 2000-01-14 Eric Melski * tests/var.test: Added a test for the array multiple delete protection in Tcl_UnsetVar2. - * generic/tclVar.c: Added protection in Tcl_UnsetVar2 against - attempts to multiply delete arrays when unsetting them (bug - #3453). This could happen if there was an unset trace on an array - element and the trace proc made a global or upvar link to the - array, and then the array was unset at the global level. See the - bug reference for more information. + * generic/tclVar.c: Added protection in Tcl_UnsetVar2 against attempts + to multiply delete arrays when unsetting them (bug #3453). This could + happen if there was an unset trace on an array element and the trace + proc made a global or upvar link to the array, and then the array was + unset at the global level. See the bug reference for more information. * unix/tclUnixTime.c: New clock format format. @@ -2480,14 +2437,14 @@ 2000-01-13 Eric Melski - * tests/cmdIL.test: Added tests for lsort -dictionary with - characters that occur between Z and a in ASCII. + * tests/cmdIL.test: Added tests for lsort -dictionary with characters + that occur between Z and a in ASCII. * generic/tclCmdIL.c: Modified DictionaryCompare function (used by lsort -dictionary) to do upper/lower case equivalency before doing - character comparisons, instead of after. This fixes bug #1357, in - which lsort -dictionary [list ` AA c CC] and lsort -dictionary - [list AA c ` CC] gave different (and both wrong) results. + character comparisons, instead of after. This fixes bug #1357, in + which lsort -dictionary [list ` AA c CC] and lsort -dictionary [list + AA c ` CC] gave different (and both wrong) results. 2000-01-12 Eric Melski @@ -2497,23 +2454,22 @@ * doc/tests/clock.test: Added numerous tests for clock scan. - * doc/generic/tclGetDate.y: Fixed some shift/reduce conflicts in - clock grammar. + * doc/generic/tclGetDate.y: Fixed some shift/reduce conflicts in clock + grammar. - * doc/doc/clock.n: Added documentation for new supported clock - scan formats and additional explanation of daylight savings time - correction algorithm. + * doc/doc/clock.n: Added documentation for new supported clock scan + formats and additional explanation of daylight savings time correction + algorithm. 2000-01-12 Jeff Hobbs * doc/file.n: * tests/unixFCmd.test: - * unix/tclUnixFCmd.c: added support for symbolic permissions - setting in SetPermissionsAttribute (file attr $file -perm ...) - [Bug: 3970] + * unix/tclUnixFCmd.c: added support for symbolic permissions setting + in SetPermissionsAttribute (file attr $file -perm ...) [Bug: 3970] - * generic/tclClock.c: fixed support for 64bit handling of clock - values [Bug: 1806] + * generic/tclClock.c: fixed support for 64bit handling of clock values + [Bug: 1806] * generic/tclThreadTest.c: upped a buffer size to hold double @@ -2526,20 +2482,20 @@ * tests/expr.test: * unix/Makefile.in: * unix/configure.in: - * unix/tcl.m4: recognize strtod bug on Tru64 v5.0 [Bug: 3378] - and added tests to prevent unnecessary chmod +x in sources while + * unix/tcl.m4: recognize strtod bug on Tru64 v5.0 [Bug: 3378] and + added tests to prevent unnecessary chmod +x in sources while installing, as well as more intelligent setsockopt/gethostbyname checks [Bug: 3366, 3389] - * unix/tclUnixThrd.c: added compile time support (through use of - the TCL_THREAD_STACK_MIN define) for increasing the default stack - size for a thread. [Bug: 3797, 1966] + * unix/tclUnixThrd.c: added compile time support (through use of the + TCL_THREAD_STACK_MIN define) for increasing the default stack size for + a thread. [Bug: 3797, 1966] 2000-01-11 Eric Melski - * generic/tclGetDate.y: Added comments for the Convert function. - Added a fix for daylight savings time handling for relative time - spans of days, weeks or fortnights. (bug 3441, 3868). + * generic/tclGetDate.y: Added comments for the Convert function. Added + a fix for daylight savings time handling for relative time spans of + days, weeks or fortnights. (bug 3441, 3868). * generic/tclDate.c: Fixed compiler warning issues. @@ -2548,8 +2504,8 @@ * compat/waitpid.c: use pid_t type instead of int [Bug: 3999] * tests/utf.test: fixed test that allowed \8 as octal value - * generic/tclUtf.c: changed Tcl_UtfBackslash to not allow - non-octal digits (8,9) in \ooo substs. [Bug: 3975] + * generic/tclUtf.c: changed Tcl_UtfBackslash to not allow non-octal + digits (8,9) in \ooo substs. [Bug: 3975] * generic/tcl.h: noted need to change win/tcl.m4 and tools/tclSplash.bmp for minor version changes @@ -2579,5 +2535,5 @@ 2000-01-07 Eric Melski * generic/tclClock.c: Changed switch in Tcl_ClockObjCmd to use - enumerated values instead of constants. (ie, COMMAND_SCAN instead - of 3). + enumerated values instead of constants. (ie, COMMAND_SCAN instead of + 3). diff --git a/ChangeLog.2001 b/ChangeLog.2001 index 2c8b4d7..6579651 100644 --- a/ChangeLog.2001 +++ b/ChangeLog.2001 @@ -1,20 +1,20 @@ 2001-12-28 Jeff Hobbs - * library/init.tcl: make sure env(COMSPEC) on Windows is executed - with the right case, as it may otherwise fail inexplicably. + * library/init.tcl: make sure env(COMSPEC) on Windows is executed with + the right case, as it may otherwise fail inexplicably. 2001-12-28 Don Porter - * generic/tclCkalloc.c (MemoryCmd, TclFinalizeMemorySubsystem): - Added the [memory onexit] command, intended to replace [checkmem]. + * generic/tclCkalloc.c (MemoryCmd, TclFinalizeMemorySubsystem): Added + the [memory onexit] command, intended to replace [checkmem]. - * doc/DumpActiveMemory.3: + * doc/DumpActiveMemory.3: * doc/memory.n: Updated documentation for [memory] and related - matters. [Bug 487677] + matters. [Bug 487677] * mac/tclMacBOAMain.c (Tcl_Main, CheckmemCmd): Removed all the - machinery for the [checkmem] command that is completely duplicated - by code in generic/tclCkalloc.c. + machinery for the [checkmem] command that is completely duplicated by + code in generic/tclCkalloc.c. * generic/tclBinary.c: * generic/tclListObj.c: @@ -27,12 +27,11 @@ * mac/tclMacInit.c: * mac/tclMacTclCode.r: synced up tclInit features to unix/win: - implemented TclSetPreInitScript support, use of existing tclInit - proc if defined, check of default encoding dir if set. Changed - script library resource names to lowercase (i.e. same as - corresponding files). Used Tcl_JoinPath instead of string append. - Check that system encoding could be loaded before utf translating - the LibraryPath. + implemented TclSetPreInitScript support, use of existing tclInit proc + if defined, check of default encoding dir if set. Changed script + library resource names to lowercase (i.e. same as corresponding + files). Used Tcl_JoinPath instead of string append. Check that system + encoding could be loaded before utf translating the LibraryPath. * mac/tclMacApplication.r: * mac/tclMacLibrary.r: * mac/tclMacOSA.r: @@ -41,147 +40,138 @@ 2001-12-21 Mo DeJong * unix/tcl.m4 (SC_PATH_TCLCONFIG, SC_PATH_TKCONFIG): - Search for config file using exec_prefix instead of - prefix when no --with-tcl or --with-tk argument is used. [Bug 492418] + Search for config file using exec_prefix instead of prefix when no + --with-tcl or --with-tk argument is used. [Bug 492418] 2001-12-21 Daniel Steffen - * unix/tcl.m4: fixed incorrect SHLIB_LD_LIBS - setting for MacOSX / Darwin. + * unix/tcl.m4: fixed incorrect SHLIB_LD_LIBS setting for MacOSX / + Darwin. * unix/configure: Regen. - * unix/mkLinks.tcl: improved case-insensitive - filesystem support. + * unix/mkLinks.tcl: improved case-insensitive filesystem support. * unix/mkLinks: Regen. 2001-12-19 Don Porter - * unix/Makefile.in (dist): corrected use of eolFix.tcl on - working files. It should operate on distributed files. [Bug 495120] + * unix/Makefile.in (dist): corrected use of eolFix.tcl on working + files. It should operate on distributed files. [Bug 495120] 2001-12-19 David Gravereaux - * tools/tcl.wse.in: Fix for #495120. tcl.wse.in was - stored in cvs with improper . This resulted in - corrupted when checked-out on translating CVS - clients such as windows (CRCRLF) and mac (CRCR). + * tools/tcl.wse.in: Fix for [Bug 495120]. tcl.wse.in was stored in cvs + with improper . This resulted in corrupted when checked-out + on translating CVS clients such as windows (CRCRLF) and mac (CRCR). 2001-12-19 Mo DeJong * unix/configure: - * unix/tcl.m4 (SC_CONFIG_CFLAGS): Update - SunOS 5.[0-6] target so that correct linker - options are passed to gcc or ld. [Tk Bug 220863] + * unix/tcl.m4 (SC_CONFIG_CFLAGS): Update SunOS 5.[0-6] target so that + correct linker options are passed to gcc or ld. [Tk Bug 220863] 2001-12-19 Mo DeJong - * unix/README: Update to account for changes - in the unix/dltest directory, the way autoconf - is run, and the new "make shell" target. + * unix/README: Update to account for changes in the unix/dltest + directory, the way autoconf is run, and the new "make shell" target. 2001-12-19 Mo DeJong - * unix/Makefile.in: Rename dltest to dlpkgs to - fix problem where lib files were not getting - built because dltest/ directory already existed. + * unix/Makefile.in: Rename dltest to dlpkgs to fix problem where lib + files were not getting built because dltest/ directory already + existed. 2001-12-19 Jeff Hobbs - * win/tclWinSerial.c (SerialCheckProc): corrected time - calculations to be unsigned. (schroedter) + * win/tclWinSerial.c (SerialCheckProc): corrected time calculations to + be unsigned. (schroedter) 2001-12-18 Mo DeJong - * unix/Makefile.in: Define new dltest target that - simply does a cd to dltest/ before running make. - There is no need for the separate configure - script that was previously being used. + * unix/Makefile.in: Define new dltest target that simply does a cd to + dltest/ before running make. There is no need for the separate + configure script that was previously being used. * unix/configure: Regen. * unix/configure.in: Subst into dltest/Makefile. - * unix/dltest/Makefile.in: Define LIBS using - DL_LIBS, LIBS, and MATH_LIBS variables instead - of TCL_LIBS variable from tclConfig.sh. - * unix/dltest/README: Update readme to account for new - configure free implementation. + * unix/dltest/Makefile.in: Define LIBS using DL_LIBS, LIBS, and + MATH_LIBS variables instead of TCL_LIBS variable from tclConfig.sh. + * unix/dltest/README: Update readme to account for new configure free + implementation. * unix/dltest/configure: Removed. * unix/dltest/configure.in: Removed. 2001-12-18 Donal K. Fellows - * generic/tcl.h (TCL_STUB_MAGIC): Added cast to force type to be - an int and get rid of a persistent and pointless warning with - SunPro compiler. + * generic/tcl.h (TCL_STUB_MAGIC): Added cast to force type to be an + int and get rid of a persistent and pointless warning with SunPro + compiler. - * generic/tclCkalloc.c (Tcl_AttemptDbCkalloc,Tcl_AttemptDbCkrealloc): + * generic/tclCkalloc.c (Tcl_AttemptDbCkalloc,Tcl_AttemptDbCkrealloc): * generic/tcl.decls (Tcl_AttemptDbCkalloc,Tcl_AttemptDbCkrealloc): - Made the file parameters to these functions into CONST char *, - like they always should have been to match the other Tcl*Db* API - functions. + Made the file parameters to these functions into CONST char *, like + they always should have been to match the other Tcl*Db* API functions. -2001-12-17 Andreas Kupries +2001-12-17 Andreas Kupries - * Applied #219311 on behalf of Rolf Schroedter - to prevent fcopy on serial - ports from flooding the event queue. + * Applied [Bug 219311] on behalf of Rolf Schroedter + to prevent fcopy on serial ports + from flooding the event queue. 2001-12-11 Miguel Sofer * doc/CrtInterp.3: - * generic/tclBasic.c: docs and comments corrections [Bug 493412] - Bug & patch by Don Porter. + * generic/tclBasic.c: docs and comments corrections. [Bug 493412] + Bug & patch by Don Porter. 2001-12-14 Donal K. Fellows - * win/tclWinNotify.c (Tcl_FinalizeNotifier): Stop Tcl on Windows - from crashing when shutdown from a non-Tcl thread. Fixes Bug - #217982 [orig. 5804] reported by Hugh Vu and Gene Leache. I'm - not convinced that the shutdown process is right even with this, - but it was definitely wrong without... + * win/tclWinNotify.c (Tcl_FinalizeNotifier): Stop Tcl on Windows from + crashing when shutdown from a non-Tcl thread. Fixes [Bug 217982] + [orig. 5804] reported by Hugh Vu and Gene Leache. I'm not convinced + that the shutdown process is right even with this, but it was + definitely wrong without... -2001-12-13 Andreas Kupries +2001-12-13 Andreas Kupries - * win/tclWinSock.c (TcpGetOptionProc): Fix for tcl bug item - #478565 reported by an unknown person. Bypasses all calls to - "gethostbyaddr" for address "0.0.0.0" to prevent delays on - Win/NT. + * win/tclWinSock.c (TcpGetOptionProc): Fix for [Bug 478565] reported + by an unknown person. Bypasses all calls to "gethostbyaddr" for + address "0.0.0.0" to prevent delays on Win/NT. 2001-12-12 Jeff Hobbs - * doc/Preserve.3: doc'd TCL_DYNAMIC use. [Patch #483989] (porter) + * doc/Preserve.3: doc'd TCL_DYNAMIC use. [Patch 483989] (porter) -2001-12-12 Andreas Kupries +2001-12-12 Andreas Kupries - * generic/tclIO.c (Tcl_GetsObj): Applied patch for bug #491341 as - provided by Don Porter . Fixes the - assumption of having an empty Tcl_Obj to work with. + * generic/tclIO.c (Tcl_GetsObj): Applied patch for [Bug 491341] as + provided by Don Porter . Fixes the + assumption of having an empty Tcl_Obj to work with. 2001-12-11 Miguel Sofer * generic/tclCompCmds.c: * generic/tclCompile.c: - * generic/tclExecute.c: consistency patch, to make all - instructions that pop a variable number of Tcl_Obj's off the - execution stack take the number of popped objects as first - operand. Modified *only* the new instructions - INST_LIST_INDEX_MULTI and INST_LSET_FLAT, so this has no effect - on bytecodes generated up to tcl8.4a3 inclusive. + * generic/tclExecute.c: consistency patch, to make all instructions + that pop a variable number of Tcl_Obj's off the execution stack take + the number of popped objects as first operand. Modified *only* the new + instructions INST_LIST_INDEX_MULTI and INST_LSET_FLAT, so this has no + effect on bytecodes generated up to tcl8.4a3 inclusive. - * generic/tclExecute.c: fix debug messages in INST_LSET_LIST. + * generic/tclExecute.c: fix debug messages in INST_LSET_LIST. * generic/tclCompCmds.c (TclCompileLindexCmd): - * generic/tclCompExpr.c (CompileMathFuncCall): removed the last - two overestimates of the necessary stack depth for bytecodes in - the fix of [Bug 483611]. + * generic/tclCompExpr.c (CompileMathFuncCall): removed the last two + overestimates of the necessary stack depth for bytecodes in the fix of + [Bug 483611] -2001-12-10 Andreas Kupries +2001-12-10 Andreas Kupries - * unix/tclUnixPipe.c (TclpCreateProcess): Applied Don Porter's - patch fixing bug #437489. + * unix/tclUnixPipe.c (TclpCreateProcess): Applied Don Porter's patch + fixing [Bug 437489]. 2001-12-10 Miguel Sofer * generic/tclEvent.c: - * tests/event.test: fix background error reporting in the absence - of a bgerror proc [Bug 219142]. + * tests/event.test: fix background error reporting in the absence of a + bgerror proc [Bug 219142]. 2001-12-10 Don Porter @@ -198,7 +188,7 @@ * doc/Utf.3: * doc/file.n: * doc/tclsh.1: Several typo and formatting corrections discovered - during conversion to TMML. Thanks to Joe English. [Patch 490514] + during conversion to TMML. Thanks to Joe English. [Patch 490514] * unix/mkLinks: 'make mklinks' 2001-12-10 Miguel Sofer @@ -208,14 +198,14 @@ * generic/tclCompile.c: * generic/tclCompile.h: * generic/tclExecute.c: - * generic/tclProc.c: fixed the calculation of the maximal stack - depth required by bytecodes [Bug 483611]. + * generic/tclProc.c: fixed the calculation of the maximal stack depth + required by bytecodes. [Bug 483611] 2001-12-07 Miguel Sofer - * generic/tclVar.c: + * generic/tclVar.c: * tests/trace.test: restored consistency in refCount accounting by - array traces [Bug #4484339], submitted by Don Porter. + array traces [Bug 4484339], submitted by Don Porter. 2001-12-06 Donal K. Fellows @@ -225,19 +215,19 @@ * generic/tclParseExpr.c (ParsePrimaryExpr): Rewrote to give even better syntax errors in the fairly common case of an identifier without decorations by guessing based on the currently available - functions. Also made messages consistent between memdebug and - ordinary builds. + functions. Also made messages consistent between memdebug and ordinary + builds. 2001-12-05 Miguel Sofer - * generic/tclVar.c: - * tests/trace.test: new algorithm for [array get], safe when there - are traces that modify the array [Bug #449893]. + * generic/tclVar.c: + * tests/trace.test: new algorithm for [array get], safe when there are + traces that modify the array. [Bug 449893] 2001-12-04 Donal K. Fellows - * tests/compExpr-old.test, tests/compExpr.test, tests/compile.test: - * tests/expr-old.test, tests/expr.test, tests/for.test: + * tests/compExpr-old.test, tests/compExpr.test, tests/compile.test: + * tests/expr-old.test, tests/expr.test, tests/for.test: * tests/while.test, tests/if.test: Rewrite to handle more specific syntax errors. * tests/parseExpr.test: Rewrite to get rid of dup test numbers and @@ -246,26 +236,25 @@ argument to help explain what the syntax error is. (Tcl_ParseExpr, ParseCondExpr, ParsePrimaryExpr): Added detail messages. - (UNKNOWN_CHAR): New lexeme for characters that are always illegal - in expressions outside strings. + (UNKNOWN_CHAR): New lexeme for characters that are always illegal in + expressions outside strings. 2001-12-03 Donal K. Fellows - * doc/expr.n: Various documentation improvements in relation to - the function calls. Includes fix for Bug #487704 submitted by - Devin Eyre. + * doc/expr.n: Various documentation improvements in relation to the + function calls. Includes fix for [Bug 487704] submitted by Devin Eyre. 2001-12-03 David Gravereaux * win/makefile.vc: Some install target bugs repaired along with $(TCLSTUBLIB) added to the dependencies rather than implicit through - the dde and reg extensions which don't happen to always require it - for some build types. + the dde and reg extensions which don't happen to always require it for + some build types. 2001-11-30 Miguel Sofer - * generic/tclVar.c: Tcl_Preserve'ing VarTrace structures to avoid - memory corruption. Patch for [Bug: 484334] provided by Don Porter + * generic/tclVar.c: Tcl_Preserve'ing VarTrace structures to avoid + memory corruption. Patch for [Bug 484334] provided by Don Porter 2001-11-29 Miguel Sofer @@ -275,16 +264,15 @@ 2001-11-29 Miguel Sofer * tests/namespace.test: added namespace-41.2, a simpler test for - [Bug: 231259] + [Bug 231259] 2001-11-29 Donal K. Fellows * generic/tclBinary.c (BINARY_SCAN_MAX_CACHE, Tcl_BinaryObjCmd, - ScanNumber): Added caching scheme to reduce number of object - allocations when doing scans of large repetitive binary strings. - See comments in file for reasoning behind implementation. - Suggested by Miguel Sofer in Patch #429916, but independently - implemented. + (ScanNumber): Added caching scheme to reduce number of object + allocations when doing scans of large repetitive binary strings. See + comments in file for reasoning behind implementation. Suggested by + Miguel Sofer in [Patch 429916], but independently implemented. 2001-11-28 Donal K. Fellows @@ -293,8 +281,8 @@ 2001-11-27 D. Richard Hipp - * win/tclWinFCmd.c: Fix a coredump in the filename normalizer - code for Win95/98. + * win/tclWinFCmd.c: Fix a coredump in the filename normalizer code for + Win95/98. 2001-11-27 David Gravereaux @@ -305,37 +293,36 @@ 2001-11-27 Donal K. Fellows * tests/cmdAH.test (cmdAH-24.2): Made test less sensitive to OS - preemption, but perfection isn't practical [Bug 463189, reported - by Don Porter.] + preemption, but perfection isn't practical. [Bug 463189, reported by + Don Porter] - * tests/switch.test (switch-9.*): Added tests to exercise more of - the argument checking. (switch-7.2,switch-7.3): Test changed - behaviour slightly. - * generic/tclCmdMZ.c (Tcl_SwitchObjCmd): Reworked argument parsing - to be stricter about what it accepts. This should make uses of - the [switch] command be more maintainable. [Bug 475397, reported - by Don Porter.] + * tests/switch.test (switch-9.*): Added tests to exercise more of the + argument checking. (switch-7.2,switch-7.3): Test changed behaviour + slightly. + * generic/tclCmdMZ.c (Tcl_SwitchObjCmd): Reworked argument parsing to + be stricter about what it accepts. This should make uses of the + [switch] command be more maintainable. [Bug 475397, reported by Don + Porter] 2001-11-26 Don Porter - * generic/tclIntPlatDecls.h: 'make genstubs' after changes - in 2001-11-23 commit from Daniel Steffen. + * generic/tclIntPlatDecls.h: 'make genstubs' after changes in + 2001-11-23 commit from Daniel Steffen. 2001-11-24 Mo DeJong - * unix/Makefile.in: Add comments to better describe - TCL_EXE and when it should be available. - * win/Makefile.in: Add TCL_EXE variable to be used - by rules like `make genstubs`. Don't set TCL_LIBRARY - before running `make genstubs` since we will be running - with a tclsh from the PATH not the one we build. + * unix/Makefile.in: Add comments to better describe TCL_EXE and when + it should be available. + * win/Makefile.in: Add TCL_EXE variable to be used by rules like `make + genstubs`. Don't set TCL_LIBRARY before running `make genstubs` since + we will be running with a tclsh from the PATH not the one we build. 2001-11-24 Mo DeJong * win/configure: Regen. - * win/tcl.m4 (SC_CONFIG_CFLAGS): Add comctl32.lib - to wish link libs. This change was originally added - to Tk on 2001-11-09 but was not committed to Tcl. + * win/tcl.m4 (SC_CONFIG_CFLAGS): Add comctl32.lib to wish link libs. + This change was originally added to Tk on 2001-11-09 but was not + committed to Tcl. 2001-11-23 Daniel Steffen @@ -346,17 +333,17 @@ * unix/mkLinks.tcl: * unix/tclLoadDyld.c: * unix/tclMtherr.c: Mac OSX support: build system, dynamic code loading - and support for case-insensitive filesystems in mkLinks (patch #435258) + and support for case-insensitive filesystems in mkLinks. [Patch 435258] 2001-11-23 Daniel Steffen - Up-port to 8.4 of mac code changes for 8.3.3 & various new - changes for 8.4, some already backported to 8.3.4 (patch #435658) + Up-port to 8.4 of mac code changes for 8.3.3 & various new changes for + 8.4, some already backported to 8.3.4. [Patch 435658] * generic/tclObj.c: added #include to fix missing prototype errors * generic/tcl.h: MAC_TCL: addition of ConditionalMacros.h and use of - DLLIMPORT and DLLEXPORT like on other platforms. ( => no longer need + DLLIMPORT and DLLEXPORT like on other platforms. ( => no longer need the .exp files and can remove use of #pragma export that never worked well) removed line continuation in #if clause as this breaks the mac @@ -364,10 +351,10 @@ * mac/tclMacFile.c: fixed bug in permission checking code - * mac/tclMacLoad.c: corrected utf8 handling, comparison of - package names to code fragment names changed to only match on the - length of package name, this allows for fragment names with version - numbers appended + * mac/tclMacLoad.c: corrected utf8 handling, comparison of package + names to code fragment names changed to only match on the length of + package name, this allows for fragment names with version numbers + appended. * mac/tclMacInt.h: * generic/tclInt.h: @@ -402,7 +389,7 @@ platforms, removed use of #pragma export. * mac/tcltkMacBuildSupport.sea.hqx: new archive of mac build support - files & suggested build environment directory hierarchy: + files & suggested build environment directory hierarchy: 'Building MacTclTk' & 'CW Pro6 changes' readme's. projects for MoreFiles 1.5.2 static & shared libraries. project & sources for 'pseudoCarbonSupport', see below. @@ -430,13 +417,13 @@ Highly experimental "pseudoCarbon" support for Tcl only on OS 8/9: binaries in "Build:(Carbon):" link against CarbonLib instead of InterfaceLib, however the actual code has not been carbonized! i.e. it - will not run on OSX and may not even run properly with CarbonLib. + will not run on OSX and may not even run properly with CarbonLib. This should in principle allow you to build & test OS9 CFM Carbon - binaries that need to link with Tcl.shlb. On OSX you can use the + binaries that need to link with Tcl.shlb. On OSX you can use the native Tcl.framework, but you have to build a MachO binary as there is no CFM glue lib for Tcl.framework. - the library pseudoCarbonSupport.shlb manually loads the symbols - from InterfaceLib that are not in CarbonLib but are needed by the + the library pseudoCarbonSupport.shlb manually loads the symbols from + InterfaceLib that are not in CarbonLib but are needed by the uncarbonized code in Tcl.shlb and TclShell. * generic/tclMain.c: MAC_TCL: workaround for broken/non-standard isatty @@ -461,10 +448,10 @@ strings; updated version strings to standard usage; added support for '(Support Libraries)' subfolder for shared runtime libraries in unmerged binaries; commented out demo setting of "Tcl Environment - Variables"; reorganized resources among these files to avoid - multiple copies in applications and shared libraries, the script - libraries are now no longer duplicated in Tclsh but are only included - in the resources of Tcl.shlb. + Variables"; reorganized resources among these files to avoid multiple + copies in applications and shared libraries, the script libraries are + now no longer duplicated in Tclsh but are only included in the + resources of Tcl.shlb. * mac/tclMacChan.c: * mac/tclMacSock.c: cast for *BlockMode @@ -497,52 +484,51 @@ * mac/tclMacUnix.c: added missing (Tcl_Obj ***) cast to Tcl_ListObjGetElements call - * mac/tclMacAlloc.c: modernized TclpSysAlloc() to use temporary - memory instead of system heap memory when available (MacOS - >= 7.5 and possibly earlier, use of system heap has been - discouraged for a long time and has many disadvantages, e.g. memory - isn't paged out, and errors can very easily bring the system down); - fixed crashing bug in TclpSysRealloc() and CleanUpExitProc() where - memory was being accessed after having been deallocated; fixed - memory leak in (de)allocation code (for every block ever allocated - with TclpSysAlloc, a Ptr was leaked), if temporary memory is - available, don't track allocated memory, instead use - RecoverHandle() to get Handle from Ptr, otherwise use doubly linked - list to correctly track memory and free all allocated memory; added - new option for ConfigureMemory: MEMORY_DONT_USE_TEMPMEM, disables - use of temporary memory even when it would be available, only - necessary when writing e.g. a driver (using tcl??); increased - fraction of application heap reserved for OS routines to 512K - - * compat/strftime.c: + * mac/tclMacAlloc.c: modernized TclpSysAlloc() to use temporary memory + instead of system heap memory when available (MacOS >= 7.5 and + possibly earlier, use of system heap has been discouraged for a long + time and has many disadvantages, e.g. memory isn't paged out, and + errors can very easily bring the system down); fixed crashing bug in + TclpSysRealloc() and CleanUpExitProc() where memory was being accessed + after having been deallocated; fixed memory leak in (de)allocation + code (for every block ever allocated with TclpSysAlloc, a Ptr was + leaked), if temporary memory is available, don't track allocated + memory, instead use RecoverHandle() to get Handle from Ptr, otherwise + use doubly linked list to correctly track memory and free all + allocated memory; added new option for ConfigureMemory: + MEMORY_DONT_USE_TEMPMEM, disables use of temporary memory even when it + would be available, only necessary when writing e.g. a driver (using + tcl??); increased fraction of application heap reserved for OS + routines to 512K + + * compat/strftime.c: * mac/tclMacTime.c: * mac/tclMacPort.h: - * generic/tclInt.decls: + * generic/tclInt.decls: * generic/tclIntPlatDecls.h: - * generic/tclStubInit.c: timezone support for mac via - TclpGetTZName() like on windows, using an inverse timezone table - adapted from tclDate.c to map gmtoffset in seconds gotten from - the MacOS APIs to a timezone string, as there is no good way to get - this info from MacOS. I had to make up some unusual timezones and - arbitrarily decide on the most standard of the multiple choices - available for every timezone. - - * generic/tclExecute.c: workaround for a MSL bug/misfeature: for - very small floats, MSL can return errno ERANGE but a - non-zero value ( < LDBL_MIN however) - - * mac/tclMacAppInit.c: support for WASTE text library using - temporary memory, setting has no effect if WASTE is not used. - + * generic/tclStubInit.c: timezone support for mac via TclpGetTZName() + like on windows, using an inverse timezone table adapted from + tclDate.c to map gmtoffset in seconds gotten from the MacOS APIs to a + timezone string, as there is no good way to get this info from MacOS. + I had to make up some unusual timezones and arbitrarily decide on the + most standard of the multiple choices available for every timezone. + + * generic/tclExecute.c: workaround for a MSL bug/misfeature: for very + small floats, MSL can return errno ERANGE but a non-zero value (< + LDBL_MIN however) + + * mac/tclMacAppInit.c: support for WASTE text library using temporary + memory, setting has no effect if WASTE is not used. + * mac/tclMacPanic.c: removed duplicate code from generic/tclPanic.c and added that file to projects instead. * tests/all.tcl: set tcltest::singleProcess 1 as multiple processes are not available on the mac. - - * tests/cmdAH.test: access time not available on the mac, skip the + + * tests/cmdAH.test: access time not available on the mac, skip the atime touch test - + * tests/appendComp.test: * tests/cmdMZ.test: * tests/compile.test: @@ -550,20 +536,20 @@ * tests/fileName.test: * tests/lset.test: * tests/namespace.test: - * tests/tcltest.test: added missing cleanups/tests/catches that - caused tests to fail on the mac. + * tests/tcltest.test: added missing cleanups/tests/catches that caused + tests to fail on the mac. * doc/tclvars.n: doc bug, env(PWD) should be env(HOME) [Bug 463834] - + 2001-11-21 Don Porter * tests/trace.test (trace-8.8): Corrected test for Bug 219393. * generic/tclBasic.c (Tcl_DeleteCommandFromToken,CallCommandTraces): * generic/tclCmdMZ>c (Tcl_UntraceCommand): Added Tcl_Preserve and - Tcl_Release calls to prevent deletion of CommandTrace structures - until all callers are done using them, preventing memory corruption. - [Bug 453805] + Tcl_Release calls to prevent deletion of CommandTrace structures until + all callers are done using them, preventing memory corruption. [Bug + 453805] 2001-11-20 Kevin B. Kenny @@ -575,7 +561,7 @@ * generic/tclUtil.c (TclpGetTime): * generic/tclTest.c (GetTimesCmd): * generic/tclTimer.c (Tcl_CreateTimerHandler, TimerSetupProc, - TimerCheckProc, TimerHandlerEventProc): + (TimerCheckProc, TimerHandlerEventProc): * mac/tclMacNotify.c (Tcl_SetTimer): * mac/tclMacShLib.exp (Tcl_GetTime): * mac/tclMacTime.c (Tcl_GetTime): @@ -586,72 +572,72 @@ * win/tclWinNotify.c (Tcl_Sleep): * win/tclWinTest.c (TestwinclockCmd): * win/tclWinTime.c (TclpGetSeconds, TclpGetClicks, Tcl_GetTime): - Changed all uses of TclpGetTime to Tcl_GetTime. Added Tcl_GetTime - to the Stubs table and the library documentation. Added a - TclpGetTime in tclUtil.c for backward compatibility of - extensions. [Patch #483500, TIP#73] + Changed all uses of TclpGetTime to Tcl_GetTime. Added Tcl_GetTime to + the Stubs table and the library documentation. Added a TclpGetTime in + tclUtil.c for backward compatibility of extensions. [Patch 483500, + TIP#73] * generic/tclCmdMZ.c (Tcl_TimeObjCmd): Corrected an error in the [time] command that caused incorrect results to be returned if the - total duration of all iterations exceeded 2**31 microseconds. - [Bug #478847] + total duration of all iterations exceeded 2**31 microseconds. [Bug + 478847] * generic/tclInt.decls: * generic/tclInt.h: * generic/tclStubInit.h: Reran 'make genstubs' - + 2001-11-20 Miguel Sofer * generic/tclBasic.c - * generic/tclCompile.h: + * generic/tclCompile.h: * generic/tclExecute.c: moving all code relative to bytecodes from tclBasic.c to tclExecute.c - the functions RecordTracebackInfo and Tcl_ExprObj went to tclExecute.c, and new interface function was defined (TclCompEvalObj). - The final objective of this sequence of moves is to provide a - clean, clear-cut interface between Tcl's core and the - compiler/engine subsystem. + The final objective of this sequence of moves is to provide a clean, + clear-cut interface between Tcl's core and the compiler/engine + subsystem. 2001-11-20 Miguel Sofer * generic/tclBasic.c - * generic/tclCompile.h: + * generic/tclCompile.h: * generic/tclExecute.c: factoring out of common code in tclBasic.c - (new function TclInterpReady defined: it resets the interp's - result, then checks that it hasn't been deleted and that the - nesting level is acceptable). Passed the responsibility of calling - it to the *callers* of TclEvalObjvInternal. + (new function TclInterpReady defined: it resets the interp's result, + then checks that it hasn't been deleted and that the nesting level is + acceptable). Passed the responsibility of calling it to the *callers* + of TclEvalObjvInternal. 2001-11-20 Miguel Sofer * generic/tclBasic.c * generic/tclExecute.c: a better variant of the previous-to-last - commit (restoring numLevels computations). The managing of the - levels now has to be done by the *callers* of TclEvalObjvInternal + commit (restoring numLevels computations). The managing of the levels + now has to be done by the *callers* of TclEvalObjvInternal 2001-11-20 Miguel Sofer * generic/tclExecute.c: missing variable declaration under - TCL_COMPILE_DEBUG. + TCL_COMPILE_DEBUG. 2001-11-20 Miguel Sofer * generic/tclExecute.c: - * generic/tclProc.c: restoring the computations of iPtr->numLevels - to the original logic (previous to buggy modifs on 2001-11-16). + * generic/tclProc.c: restoring the computations of iPtr->numLevels to + the original logic (previous to buggy modifs on 2001-11-16). 2001-11-20 Jeff Hobbs * tools/eolFix.tcl (new-file): * unix/Makefile.in: added EOL correction for Windows bat files to - dist target. [Bug #219409] (davygrvy) + dist target. [Bug 219409] (davygrvy) - * unix/tclUnixInit.c (TclpSetInitialEncodings): update of patch - from 2001-11-16 that uses the old Tcl encoding check mechanism as - a fallback to the original. Also added a TCL_DEFAULT_ENCODING - #define (defaults to iso8859-1). Tcl will first try setlocale and - nl_langinfo, and if that fails, guess based on certain LANG|LC_* - env vars. [Patch #418645] + * unix/tclUnixInit.c (TclpSetInitialEncodings): update of patch from + 2001-11-16 that uses the old Tcl encoding check mechanism as a + fallback to the original. Also added a TCL_DEFAULT_ENCODING #define + (defaults to iso8859-1). Tcl will first try setlocale and nl_langinfo, + and if that fails, guess based on certain LANG|LC_* env vars. [Patch + 418645] 2001-11-19 David Gravereaux @@ -667,42 +653,42 @@ * win/tclWinFCmd.c: * win/tclWin32Dll.c: * doc/file.n: - * tests/winFCmd.test: improved speed of file normalization - for Win95/98, and clarified docs on differences in file - normalization between NT/2000 and the older operating systems. - Added test to ensure normalization is correct. - + * tests/winFCmd.test: improved speed of file normalization for + Win95/98, and clarified docs on differences in file normalization + between NT/2000 and the older operating systems. Added test to ensure + normalization is correct. + 2001-11-19 Miguel Sofer * generic/tclBasic.c: * generic/tclParse.c: Code reorganisation. Moved all evaluation - functions from tclParse.c to tclBasic.c, so that now tclParse.c - deals exclusively with parsing and all evaluations are done by - code in tclBasic.c. The functions moved are: TclEvalObjvInternal, + functions from tclParse.c to tclBasic.c, so that now tclParse.c deals + exclusively with parsing and all evaluations are done by code in + tclBasic.c. The functions moved are: TclEvalObjvInternal, Tcl_EvalObjv, Tcl_LogCommandInfo, Tcl_EvalTokensStandard, Tcl_EvalTokens, Tcl_EvalEx, Tcl_Eval, Tcl_EvalObj and - Tcl_GlobalEvalObj. + Tcl_GlobalEvalObj. 2001-11-19 Donal K. Fellows - * tests/trace.test (trace-8.8): Added adapted version of Bug - #219393 as new test; the test won't reliably show up the old - problem unless it is being run under something like Purify, but - something is better than nothing... + * tests/trace.test (trace-8.8): Added adapted version of [Bug 219393] + as new test; the test won't reliably show up the old problem unless it + is being run under something like Purify, but something is better than + nothing... * generic/tclVar.c (Tcl_TraceVar2, Tcl_UntraceVar2): Added missing mask bits for trace result type and a check for a nonsense flag combination. - * generic/tclCmdMZ.c (TraceVarProc): Added missing test for NULL - when deleting a trace that doesn't cause an error. + * generic/tclCmdMZ.c (TraceVarProc): Added missing test for NULL when + deleting a trace that doesn't cause an error. * doc/TraceVar.3: Added documentation for change due to TIP#68. - * generic/tclCmdMZ.c (TraceVarInfo): Removed problematic errMsg - field from structure. + * generic/tclCmdMZ.c (TraceVarInfo): Removed problematic errMsg field + from structure. (TraceVarProc): Removed references to errMsg field and changed handling of errors so that they returned a Tcl_Obj* containing the - error string. This minimizes the number of calls to the memory + error string. This minimizes the number of calls to the memory management subsystem. (TclTraceCommandObjCmd, TraceCommandProc): Removed references to errMsg field which was never used in command traces in any case. @@ -710,14 +696,14 @@ errMsg field and made variable traces register with TCL_TRACE_RESULT_OBJECT bit set. - * generic/tcl.h (TCL_TRACE_RESULT_DYNAMIC,TCL_TRACE_RESULT_OBJECT): - New constants to define how to handle the strings returned from - trace callbacks [TIP#68] + * generic/tcl.h (TCL_TRACE_RESULT_DYNAMIC,TCL_TRACE_RESULT_OBJECT): + New constants to define how to handle the strings returned from trace + callbacks [TIP#68] * generic/tclVar.c (CallTraces, Tcl_GetVar2Ex, TclGetIndexedScalar, - TclGetElementOfIndexedArray, Tcl_SetVar2Ex, TclSetIndexedScalar, - TclSetElementOfIndexedArray, Tcl_UnsetVar2, Tcl_ArrayObjCmd, - TclDeleteVars, TclDeleteCompiledLocalVars, DeleteArray, - TclVarTraceExists): Support for those new trace flags. + (TclGetElementOfIndexedArray, Tcl_SetVar2Ex, TclSetIndexedScalar, + (TclSetElementOfIndexedArray, Tcl_UnsetVar2, Tcl_ArrayObjCmd, + (TclDeleteVars, TclDeleteCompiledLocalVars, DeleteArray, + (TclVarTraceExists): Support for those new trace flags. 2001-11-19 Miguel Sofer @@ -725,14 +711,14 @@ 2001-11-16 Kevin B. Kenny - * generic/tclListObj.c: removed a C++-style comment that - was inadvertently left in the source code. + * generic/tclListObj.c: removed a C++-style comment that was + inadvertently left in the source code. 2001-11-16 Jeff Hobbs - * tests/interp.test: - * generic/tclInterp.c (SlaveObjCmd): Corrected argument checking - for '$interp alias|aliases|issafe'. [Patch #479560] (thoyts, hobbs) + * tests/interp.test: + * generic/tclInterp.c (SlaveObjCmd): Corrected argument checking for + '$interp alias|aliases|issafe'. [Patch 479560] (thoyts, hobbs) * unix/tclUnixInit.c: added HAVE_LANGINFO code block. * unix/configure: regened @@ -740,17 +726,17 @@ * unix/tcl.m4: made SHLIB_LD_LIBS='${LIBS}' for FreeBSD* (meyer) Added modified version of Wagner patch to make use of nl_langinfo where possible to determine Unix platform encoding, instead of the - inflexible built-in system. This is used by default when - possible, and can be disabled with --enable-langinfo=no. - [Patch #418645] (hobbs, wagner) + inflexible built-in system. This is used by default when possible, and + can be disabled with --enable-langinfo=no. [Patch 418645] (hobbs, + wagner) 2001-11-16 Miguel Sofer * generic/tclCompile.h: * generic/tclExecute.c: - * generic/tclObj.c: moved Tcl_GetCommandFromObj and all defining - code for tclCmdNameType objects to tclObj.c (from tclExecute.c). - This code has nothing to do with bytecodes. + * generic/tclObj.c: moved Tcl_GetCommandFromObj and all defining code + for tclCmdNameType objects to tclObj.c (from tclExecute.c). This code + has nothing to do with bytecodes. 2001-11-16 Miguel Sofer @@ -760,18 +746,17 @@ * generic/tclParse.c: * generic/tclProc.c: * tests/stack.test: consolidation of duplicated code (in - TclExecuteByteCode and EvalObjv); renaming of EvalObjv to - TclEvalObjv as it is not static anymore; restored consistency of - level counts between compiled and directly evaled code. - [Bug 480896] + TclExecuteByteCode and EvalObjv); renaming of EvalObjv to TclEvalObjv + as it is not static anymore; restored consistency of level counts + between compiled and directly evaled code. [Bug 480896] 2001-11-12 David Gravereaux * win/makefile.vc: * win/rules.vc: Small bug fixes. - * win/README: added some docs pointing to the docs in makefile.vc - for it's use. + * win/README: added some docs pointing to the docs in makefile.vc for + it's use. 2001-10-17 Kevin B. Kenny @@ -806,17 +791,17 @@ * tests/obj.test: * tests/string.test: * tests/stringComp.test: - Reference implementation of TIP's #22, #33 and #45. Adds the - ability of the [lindex] command to have multiple index arguments, - and adds the [lset] command. Both commands are byte-code compiled. - [Patch #471874] (work by Kenny, commited by Hobbs) + Reference implementation of TIP's #22, #33 and #45. Adds the ability + of the [lindex] command to have multiple index arguments, and adds the + [lset] command. Both commands are byte-code compiled. [Patch 471874] + (work by Kenny, commited by Hobbs) 2001-11-12 David Gravereaux * win/buildall.vc.bat(new): * win/makefile.vc: Small fix with deriving the "OriginalFilename" - string in the .rc scripts. Added a quick batchfile for building - the entire thing. + string in the .rc scripts. Added a quick batchfile for building the + entire thing. 2001-11-12 Jeff Hobbs @@ -827,8 +812,8 @@ 2001-11-10 Mo DeJong * unix/Makefile.in: - * win/Makefile.in: Add "make gdb" target. This target - can run tclsh inside either gdb or insight. + * win/Makefile.in: Add "make gdb" target. This target can run tclsh + inside either gdb or insight. 2001-11-10 David Gravereaux @@ -837,20 +822,19 @@ * win/mkd.bat: * win/rmd.bat: Changes from Llyod Lim for better stability. - [Patch #456759] + [Patch 456759] 2001-11-09 David Gravereaux * win/makefile.vc: - * win/tcl.dsp: winhelp target fixes for non-NT systems. It - seems NMAKE under these remembers changed directories during - commands. A new tcltest feature from Peter Spjuth - to specify a pattern file from the - commandline and redirecting output to a file when not under - NT with it's scrollback console. Then it replays it, piped - through more. Added 2 new static "configurations" to tcl.dsp. - I could keep adding more, but I think we should leave it up to - the user for customizing it. + * win/tcl.dsp: winhelp target fixes for non-NT systems. It seems + NMAKE under these remembers changed directories during commands. A new + tcltest feature from Peter Spjuth to specify a + pattern file from the commandline and redirecting output to a file + when not under NT with it's scrollback console. Then it replays it, + piped through more. Added 2 new static "configurations" to tcl.dsp. + I could keep adding more, but I think we should leave it up to the + user for customizing it. Sticky-points left: 'profile' option. @@ -860,9 +844,9 @@ * doc/StdChannels.3: * doc/file.n: * doc/tcltest.n: - * tools/man2help.tcl: + * tools/man2help.tcl: * tools/man2help2.tcl: fixed winhelp generation problems - [Patch #480268] + [Patch 480268] * unix/configure: * unix/tcl.m4: added -lc to AIX libs, fixed path to ldAix @@ -870,68 +854,64 @@ 2001-11-09 Don Porter * tests/var.test: - * generic/tclVar.c: Corrected bug in [global] when dealing - with variable names matching :*. [Bug 480176] + * generic/tclVar.c: Corrected bug in [global] when dealing with + variable names matching :*. [Bug 480176] 2001-11-08 Mo DeJong - Fixup stack size under OSF1. [Tcl patch 474790] + Fixup stack size under OSF1. [Patch 474790] * unix/configure: Regen. - * unix/tcl.m4: Add HAVE_PTHREAD_ATTR_SETSTACKSIZE define - to EXTRA_CFLAGS to adjust initial stack size. + * unix/tcl.m4: Add HAVE_PTHREAD_ATTR_SETSTACKSIZE define to + EXTRA_CFLAGS to adjust initial stack size. 2001-11-08 Mo DeJong - Enable thread support under FreeBSD. [Tcl bug 473708] + Enable thread support under FreeBSD. [Bug 473708] * unix/configure: Regen. - * unix/tcl.m4 (SC_ENABLE_THREADS): Check for pthread functions - in libc_r and enable thread support if found. - * unix/dltest/Makefile.in: Set SHLIB_LD_LIBS and use it in - the Makefile to properly link a shared library. + * unix/tcl.m4 (SC_ENABLE_THREADS): Check for pthread functions in + libc_r and enable thread support if found. + * unix/dltest/Makefile.in: Set SHLIB_LD_LIBS and use it in the + Makefile to properly link a shared library. 2001-11-08 Mo DeJong * unix/Makefile.in: - * unix/dltest/Makefile.in: - Avoid adding libc to the LIBS variable since it - is not needed when linking with CC. If required - when linking with LD it should be done on a case - by case basis in tcl.m4. + * unix/dltest/Makefile.in: Avoid adding libc to the LIBS variable + since it is not needed when linking with CC. If required when linking + with LD it should be done on a case by case basis in tcl.m4. 2001-11-08 David Gravereaux * win/rules.vc: - * win/makefile.vc: Fixed install target to adjust for the - different build types. Added a 'linkexten' option to link the - win extensions inside the shell when built static. Placed - win/tclAppInit.c patch in SF patch DB for approval. 'profile' - option not hooked in yet. Everything else know is done. + * win/makefile.vc: Fixed install target to adjust for the different + build types. Added a 'linkexten' option to link the win extensions + inside the shell when built static. Placed win/tclAppInit.c patch in + SF patch DB for approval. 'profile' option not hooked in yet. + Everything else know is done. * win/tcl.dsp(new): * win/tcl.dsw(new): Simple MsDev stub project files that calls - makefile.vc. Will help run Tcl in the debugger easier without + makefile.vc. Will help run Tcl in the debugger easier without confusing MsDev for where the .pdb files are. 2001-11-07 Mo DeJong * unix/Makefile.in: - * win/Makefile.in: - Print a message indicating that the user should - run "make genstubs" when the generated tclStubInit.c - file is out of date. We can't regenerate automatically - since there may be no tclsh on the system and that - would cause bootstrap problems. [Tcl bug 465874] + * win/Makefile.in: Print a message indicating that the user should run + "make genstubs" when the generated tclStubInit.c file is out of date. + We can't regenerate automatically since there may be no tclsh on the + system and that would cause bootstrap problems. [Bug 465874] 2001-11-07 Mo DeJong - Define TCL_INCLUDE_SPEC in tclConfig.sh. It should be - included by extensions that need to find Tcl include - headers in the install location. The user can override - the include install dir with --includedir so we need - to record this information for extensions. [Tcl bug 421835] - + Define TCL_INCLUDE_SPEC in tclConfig.sh. It should be included by + extensions that need to find Tcl include headers in the install + location. The user can override the include install dir with + --includedir so we need to record this information for extensions. + [Bug 421835] + * unix/configure: Regen. * unix/configure.in: Define TCL_INCLUDE_SPEC. * unix/tclConfig.sh.in: Define TCL_INCLUDE_SPEC. @@ -942,45 +922,41 @@ 2001-11-07 David Gravereaux * win/rules.vc: - * win/makefile.vc: Dropped the NOMSVCRT macro and put it on the - option list instead. It makes more sense to me this way as - NOMSVCRT=0 would only be the valid setting. Fixed the dde and reg - extension for building static. Improved, but not perfected, the - winhelp target. + * win/makefile.vc: Dropped the NOMSVCRT macro and put it on the option + list instead. It makes more sense to me this way as NOMSVCRT=0 would + only be the valid setting. Fixed the dde and reg extension for + building static. Improved, but not perfected, the winhelp target. 2001-11-07 Mo DeJong - * win/README: Change minimum VC++ version to 5.X since - 4.X is known not to work. - Indicate that Mingw is required and building with Cygwin - gcc is not supported. Include instructions that indicate - how to install Mingw and what URLs folks should use to - download the supported version of Mingw. + * win/README: Change minimum VC++ version to 5.X since 4.X is known + not to work. + Indicate that Mingw is required and building with Cygwin gcc is not + supported. Include instructions that indicate how to install Mingw and + what URLs folks should use to download the supported version of Mingw. * win/configure: Regen. - * win/configure.in: Error out if user tries to compile the - Windows version of Tcl with Cygwin gcc. Users should compile - with Mingw gcc instead. + * win/configure.in: Error out if user tries to compile the Windows + version of Tcl with Cygwin gcc. Users should compile with Mingw gcc + instead. 2001-11-06 Andreas Kupries - * generic/tclIO.c (ReadChars): Fixed bug #478856 reported by - Stuart Cassoff . The bug caused loss - of fileevents when [read]ing less data from the channel than - buffered. Due to an empty input buffer the flag - CHANNEL_NEED_MORE_DATA was set but never reset, causing the I/O - system to wait for more data instead of using a timer to - synthesize fileevents and to flush the pending data out of the - buffers. + * generic/tclIO.c (ReadChars): Fixed [Bug 478856] reported by Stuart + Cassoff . The bug caused loss of + fileevents when [read]ing less data from the channel than buffered. + Due to an empty input buffer the flag CHANNEL_NEED_MORE_DATA was set + but never reset, causing the I/O system to wait for more data instead + of using a timer to synthesize fileevents and to flush the pending + data out of the buffers. 2001-11-06 David Gravereaux * win/rules.vc (new): * win/makefile.vc: Complete over/under rewrite to support numerous - build options all from the commandline itself without needing to - edit the makefile. Now requires vcvars32.bat to be run prior to - running nmake for bootstraping the environment. Fully doc'd usage - for it is in makefile.vc. Commentary welcome. Sticky points left - are: + build options all from the commandline itself without needing to edit + the makefile. Now requires vcvars32.bat to be run prior to running + nmake for bootstraping the environment. Fully doc'd usage for it is in + makefile.vc. Commentary welcome. Sticky points left are: 1) winhelp target shows errors in the converting script. 2) .rc scripts aren't getting the right #defines to build the correct @@ -992,158 +968,153 @@ 2001-11-04 Vince Darley - * library/init.tcl: made filesystem fallback proc - ::tcl::CopyDirectory more robust to vagaries of non-native - filesystems. - + * library/init.tcl: made filesystem fallback proc ::tcl::CopyDirectory + more robust to vagaries of non-native filesystems. + 2001-11-02 Vince Darley * doc/file.n: - * generic/tclIOUtil.c: updated documentation and comments - to clarify behaviour of 'file copy' wrt soft links. - + * generic/tclIOUtil.c: updated documentation and comments to clarify + behaviour of 'file copy' wrt soft links. + 2001-10-29 Vince Darley - * win/tclWinFile.c: fix to '-types {f r}' bug in - TclpMatchInDirectory (which could cause a UMR, as well as - returning wrong results). Also improved API for 'stat' - to resolve [Bug#219258]. + * win/tclWinFile.c: fix to '-types {f r}' bug in TclpMatchInDirectory + (which could cause a UMR, as well as returning wrong results). Also + improved API for 'stat' to resolve [Bug 219258]. * win/tclWin32Dll.c - * win/tclWinInt.h: addition of improved stat API to internal - lookup table. + * win/tclWinInt.h: addition of improved stat API to internal lookup + table. * tests/fileName.test: two new tests for the above bug. * generic/tclIOUtil.c: some cleanup of comments and #ifdefs - + 2001-10-29 Donal K. Fellows - * unix/tclUnixFile.c (TclpMatchInDirectory): Argument to access() - was entryPtr->d_name instead of nativeEntry which failed when - trying to check access for files in other than the current - directory. [Bug 475941, reported by Georgios Petasis] + * unix/tclUnixFile.c (TclpMatchInDirectory): Argument to access() was + entryPtr->d_name instead of nativeEntry which failed when trying to + check access for files in other than the current directory. [Bug + 475941, reported by Georgios Petasis] 2001-10-25 Donal K. Fellows * unix/tclUnixChan.c: Added stateUpdated member to struct TtyState. - (TtyCloseProc,TtySetOptionProc,TtyInit): Use stateUpdated member - of TtyState to decide whether it is necessary to reset a serial - port when Tcl closes it. Blindly resetting can cause Tcl to be - sent an unexpected SIGTSTP when it is executing in the background - [Bug 471374, reported by Chris Nelson] + (TtyCloseProc,TtySetOptionProc,TtyInit): Use stateUpdated member of + TtyState to decide whether it is necessary to reset a serial port when + Tcl closes it. Blindly resetting can cause Tcl to be sent an + unexpected SIGTSTP when it is executing in the background [Bug 471374, + reported by Chris Nelson] -2001-10-22 Andreas Kupries +2001-10-22 Andreas Kupries - * doc/ObjectType.3: Minor documentation fix, reported by David - N. Welton directly to me. + * doc/ObjectType.3: Minor documentation fix, reported by David N. + Welton directly to me. 2001-10-22 Vince Darley - * win/tclWinFCmd.c: fix to stop test suite from hanging process - under some versions of WinNT. [Bug #466102] (Kevin Kenny) - + * win/tclWinFCmd.c: fix to stop test suite from hanging process under + some versions of WinNT. [Bug 466102] (Kevin Kenny) + 2001-10-18 Jeff Hobbs - * tests/clock.test (clock-8.1): - * generic/tclDate.c (RelativeMonth): - * generic/tclGetDate.y (RelativeMonth): corrected off-by-one-day - error in clock scan with relative months and years during swing - hours. [Bug #413397, Patch #414024] (lavana) + * tests/clock.test (clock-8.1): + * generic/tclDate.c (RelativeMonth): + * generic/tclGetDate.y (RelativeMonth): corrected off-by-one-day error + in clock scan with relative months and years during swing hours. [Bug + 413397, Patch 414024] (lavana) 2001-10-18 Vince Darley - * generic/tclIOUtil.c: fix to bug in Tcl_FSChdir shown up - by recent tclkit builds. + * generic/tclIOUtil.c: fix to bug in Tcl_FSChdir shown up by recent + tclkit builds. 2001-10-17 Jeff Hobbs * unix/tclUnixPipe.c (PipeInputProc, PipeOutputProc): do immediate - retry when error is returned with errno == EINTR. - [Bug #415131] (leger) + retry when error is returned with errno == EINTR. [Bug 415131] (leger) 2001-10-16 Jeff Hobbs - * unix/tclLoadAout.c (TclGuessPackageName): removed unused vars - and fixed warnings. [Bug #446622] (lim) + * unix/tclLoadAout.c (TclGuessPackageName): removed unused vars and + fixed warnings. [Bug 446622] (lim) 2001-10-15 Miguel Sofer * generic/tclProc.c: changing a memcmp to strncmp to avoid a memory - error detected by purify (thanks Jeff); modify style to agrre with - the style guide. - -2001-10-15 Andreas Kupries + error detected by purify (thanks Jeff); modify style to agrre with the + style guide. + +2001-10-15 Andreas Kupries * generic/tclInt.decls (TclExpandCodeArray,TclGetInstructionTable): - Added to internal stubs table. Tclcompiler (Tclpro project) - needs them if used as loadable package under Windows. Changed - signatures. We don't want to describe compiler internal - structures in "tclInt.h". + Added to internal stubs table. Tclcompiler (Tclpro project) needs them + if used as loadable package under Windows. Changed signatures. We + don't want to describe compiler internal structures in "tclInt.h". * generic/tclCompile.h: S.a. Removed function declarations. * generic/tclCompile.c: S.a. Adapted to changed signatures. 2001-10-15 Jeff Hobbs - * unix/configure: - * unix/configure.in: - * win/configure: - * win/configure.in: - * win/tcl.m4: reworked to be a little cleaner in comparison to - each other, and to AC_SUBST even empty vars for win/tclConfig.sh + * unix/configure: + * unix/configure.in: + * win/configure: + * win/configure.in: + * win/tcl.m4: reworked to be a little cleaner in comparison to each + other, and to AC_SUBST even empty vars for win/tclConfig.sh * generic/tclFileName.c: minor code cleanup - * generic/tcl.h: moved #define of WIN32 to tcl.h where __WIN32__ - is defined and added #ifndef check. + * generic/tcl.h: moved #define of WIN32 to tcl.h where __WIN32__ is + defined and added #ifndef check. * doc/open.n: moved all fconfigure option docs to fconfigure.n * doc/fconfigure.n: added serial config options * win/tclWinChan.c: * win/tclWinPort.h: - * win/tclWinSerial.c: added TIP #35 Windows enhancements for - serial configuration. [Patch #438509] (schroedter) + * win/tclWinSerial.c: added TIP #35 Windows enhancements for serial + configuration. [Patch 438509] (schroedter) 2001-10-15 Vince Darley * generic/tclFCmd.c: fix to memory leak in TclFileDeleteCmd on certain error conditions. * doc/FileSystem.3: fix to typo. - + 2001-10-12 Jeff Hobbs * library/encoding/ebcdic.enc: * tools/encoding/ebcdic.txt: EBCDIC charset mapping. - [Patch #219323] (nijtmans) + [Patch 219323] (nijtmans) * library/encoding/tis-620.enc: * tools/encoding/tis-620.txt: TIS-620 charset mapping. - [Patch #467423] (poonlap) + [Patch 467423] (poonlap) * tests/http.test: added removeFile for outdata - * tests/ioCmd.test: added catch around file removal, as Windows - file locking throws errors. + * tests/ioCmd.test: added catch around file removal, as Windows file + locking throws errors. * tests/socket.test (socket-7.2): corrected to work on Win2K. 2001-10-12 Miguel Sofer - + * tests/compile.test: new tests for [Bug 467523]; they are only effective if TCL_MEM_DEBUG was set during compilation. 2001-10-11 Miguel Sofer - + * generic/tclLiteral.c (TclReleaseLiteral): insured that self-referential bytecodes are properly cleaned up on interpreter deletion [Bug 467523] (Ronnie Brunner) 2001-10-10 David Gravereaux - * win/tclWinPort.h: #include needed to get moved - to after #include or wierd misunderstandings took - place when -D_WIN32_WINNT=0x0400 is set for outside code that - requires knowledge of Tcl innards. General header macro magic - applied liberally... + * win/tclWinPort.h: #include needed to get moved to + after #include or wierd misunderstandings took place when + -D_WIN32_WINNT=0x0400 is set for outside code that requires knowledge + of Tcl innards. General header macro magic applied liberally... 2001-10-10 Don Porter @@ -1151,20 +1122,20 @@ 2001-10-09 Jeff Hobbs - * generic/tclFileName.c (Tcl_SplitPath): corrected mem leak - intro'd with VFS code where the result obj from Tcl_FSSplitPath - was not getting freed. + * generic/tclFileName.c (Tcl_SplitPath): corrected mem leak intro'd + with VFS code where the result obj from Tcl_FSSplitPath was not + getting freed. 2001-10-09 Miguel Sofer - - * generic/tclLiteral.c: (TclReleaseLiteral) reverted previous - patch for [Bug 467523] - cure is worse than the illness. + + * generic/tclLiteral.c: (TclReleaseLiteral) reverted previous patch + for [Bug 467523] - cure is worse than the illness. 2001-10-05 Miguel Sofer - + * generic/tclLiteral.c: (TclReleaseLiteral) insured that self-referential bytecodes are properly cleaned up on interpreter - deletion [Bug 467523] (Ronnie Brunner) + deletion. [Bug 467523] (Ronnie Brunner) 2001-10-04 Jeff Hobbs @@ -1217,18 +1188,18 @@ * tools/encoding/macIceland.txt: * tools/encoding/macRoman.txt: * tools/encoding/macTurkish.txt: - Updated encodings with latest mappings from www.unicode.org. This - did not include some Mac encodings that have special multi-unichar - translations now (like symbols, dingbats and japanese). Also does - not include big5, gb or euc* as those have different formats in - the latest Unicode version that need new conversion tools. Not - all related .enc files changed as some had been updates separately. + Updated encodings with latest mappings from www.unicode.org. This did + not include some Mac encodings that have special multi-unichar + translations now (like symbols, dingbats and japanese). Also does not + include big5, gb or euc* as those have different formats in the latest + Unicode version that need new conversion tools. Not all related .enc + files changed as some had been updates separately. 2001-10-03 Jeff Hobbs * generic/tclEvent.c (Tcl_FinalizeThread): moved freeing of - tclLibraryPath to before the thread exit handlers are called. - Slight modification to change on 2001-09-24. + tclLibraryPath to before the thread exit handlers are called. Slight + modification to change on 2001-09-24. 2001-10-01 Jeff Hobbs @@ -1245,45 +1216,44 @@ * generic/tclCmdIL.c: * generic/tclCmdMZ.c: * generic/tclParseExpr.c: removed unnecessary inclusion of - tclCompile.h and made a small modification in (InfoBodyCmd) to - improve the isolation of the compiler/engine subsystem. + tclCompile.h and made a small modification in (InfoBodyCmd) to improve + the isolation of the compiler/engine subsystem. 2001-09-29 Vince Darley * generic/tclIOUtil.c: - * doc/FileSystem.3: corrected and clarified documentation - for 'Tcl_FSListVolumes(Proc)'. No code changes. - + * doc/FileSystem.3: corrected and clarified documentation for + 'Tcl_FSListVolumes(Proc)'. No code changes. + 2001-09-28 Miguel Sofer - * doc/FindExec.3: added a comment not to change the working - directory before calling Tcl_GetNameOfExecutable [Bug 219215] + * doc/FindExec.3: added a comment not to change the working directory + before calling Tcl_GetNameOfExecutable. [Bug 219215] 2001-09-28 Kevin Kenny - * generic/tclIO.c: added two more '(ClientData)' casts - on calls to Tcl_Preserve and Tcl_Release -- ones that - Vince apparently missed. - + * generic/tclIO.c: added two more '(ClientData)' casts on calls to + Tcl_Preserve and Tcl_Release -- ones that Vince apparently missed. + 2001-09-28 Donal K. Fellows * doc/lsort.n: Improved doc... * generic/tclCmdIL.c (Tcl_LsortObjCmd, SortCompare): Made - offset-from-end indexing work, and factored out some "magic - numbers" for easier understanding. [Bug #465674] + offset-from-end indexing work, and factored out some "magic numbers" + for easier understanding. [Bug 465674] * tests/cmdIL.test (cmdIL-1.26): Added test for offset-from-end indexing for lsort. 2001-09-28 Vince Darley * win/tclWinFCmd.c: - * unix/tclUnixFCmd.c: fix to performance issue reported - by jcw in which 'access("")' is called unnecessarily when - normalizing any absolute path. + * unix/tclUnixFCmd.c: fix to performance issue reported by jcw in + which 'access("")' is called unnecessarily when normalizing any + absolute path. * generic/tclIO.c: added '(ClientData)' cast to calls to - Tcl_(Preserve|Release) newly introduced, fixing compile - error on Windows. - + Tcl_(Preserve|Release) newly introduced, fixing compile error on + Windows. + 2001-09-27 Don Porter * doc/FileSystem.3 (Tcl_FSLoadFile): @@ -1305,70 +1275,67 @@ * unix/tclLoadShl.c (TclpLoadFile): * win/tclWinLoad.c (TclpLoadFile): * win/tclWinFCmd.c (DoRemoveJustDirectory): More CONST poisoning - fixes from the 2001-09-24 TIP 27 changes. CONST-ified - Tcl_FSLoadFile and TclpLoadFile. Report and patch from Kevin - Kenny. [Bug 465833] + fixes from the 2001-09-24 TIP 27 changes. CONST-ified Tcl_FSLoadFile + and TclpLoadFile. Report and patch from Kevin Kenny. [Bug 465833] - * generic/tclIO.c (ChannelTimerProc): Added Tcl_Preserve() - and Tcl_Release() to fix segfault introduced by the 2001-09-26 - changes. [Bug 465494] + * generic/tclIO.c (ChannelTimerProc): Added Tcl_Preserve() and + Tcl_Release() to fix segfault introduced by the 2001-09-26 changes. + [Bug 465494] - * doc/TCL_MEM_DEBUG.3: Updated out-of-date reference to - #define GUARD_SIZE. + * doc/TCL_MEM_DEBUG.3: Updated out-of-date reference to #define + GUARD_SIZE. * doc/UpVar.3 (Tcl_UpVar,Tcl_UpVar2): * generic/tcl.decls (Tcl_UpVar,Tcl_UpVar2): * generic/tclInt.decls (TclFindProc,TclGetFrame): * generic/tclInt.h (TclFindProc,TclGetFrame,TclLookupVar, - TclPrecTraceProc,TclProcInterpProc}): + (TclPrecTraceProc,TclProcInterpProc}): * generic/tclProc.c (TclGetFrame,TclFindProc): * generic/tclVar.c (Tcl_UpVar,Tcl_UpVar2,MakeUpvar): Updated APIs in - generic/tclProc.c and generic/tclVar.c according to the guidelines - of TIP 27. [Patch 465442] + generic/tclProc.c and generic/tclVar.c according to the guidelines of + TIP 27. [Patch 465442] * generic/tclDecls.h: * generic/tclIntDecls.h: make genstubs -2001-09-26 Andreas Kupries - - * doc/fileevent.n: Accepted [Patch #465279] adding an example to - the fileevent manpage. Minor modifications to get a better - formatting. Report and patch by David N. Welton - . - - * The changes below fix [Bug #462317] where Expect tried to read - more than was in the buffers and then blocked in the OS call as - its pty channel driver provides no blockmodeproc through which - the OS could be notified of blocking-behaviour. Because of this - the general I/O core has to take more care than usual to - preserve the semantics of non-blocking channels. - - The problem was reported by "Kevin O'Gorman" - . - - * generic/tclIO.c (Tcl_ReadRaw): Do not read from the driver if - the channel is non-blocking and the fileevent causing the read - was generated by a timer. We do not know if there is data - available from the OS. Instead of going to the OS for more and - potentially blocking we simply signal EWOULDBLOCK to the higher - levels to cause the system to wait for true fileevents. - (GetInput): Same as before. - (ChannelTimerProc): Added set and clear of CHANNEL_TIMER_FEV. - - * generic/tclIO.h (CHANNEL_TIMER_FEV): New flag for channels. Is - set if a fileevent was generated by a timer, the channel is not - blocking and the driver did not provide a blockmodeproc. In that - case the I/O core has to be especially careful about going to - the driver for more data. +2001-09-26 Andreas Kupries + + * doc/fileevent.n: Accepted [Patch 465279] adding an example to the + fileevent manpage. Minor modifications to get a better formatting. + Report and patch by David N. Welton . + + * The changes below fix [Bug 462317] where Expect tried to read more + than was in the buffers and then blocked in the OS call as its pty + channel driver provides no blockmodeproc through which the OS could be + notified of blocking-behaviour. Because of this the general I/O core + has to take more care than usual to preserve the semantics of + non-blocking channels. + + The problem was reported by "Kevin O'Gorman" . + + * generic/tclIO.c (Tcl_ReadRaw): Do not read from the driver if the + channel is non-blocking and the fileevent causing the read was + generated by a timer. We do not know if there is data available from + the OS. Instead of going to the OS for more and potentially blocking + we simply signal EWOULDBLOCK to the higher levels to cause the system + to wait for true fileevents. + (GetInput): Same as before. + (ChannelTimerProc): Added set and clear of CHANNEL_TIMER_FEV. + + * generic/tclIO.h (CHANNEL_TIMER_FEV): New flag for channels. Is set + if a fileevent was generated by a timer, the channel is not blocking + and the driver did not provide a blockmodeproc. In that case the I/O + core has to be especially careful about going to the driver for more + data. 2001-09-26 Don Porter * doc/SplitPath.3 (Tcl_GetPathType): * generic/tcl.decls (Tcl_GetPathType): * generic/tclFileName.c (Tcl_GetPathType): - * win/tclWinFile.c (TclpMatchInDirectory, NativeStat): Vince - Darley reports the 2001-09-24 TIP 27 changes left the win - directory CONST poisoned. These changes should fix that. + * win/tclWinFile.c (TclpMatchInDirectory, NativeStat): Vince Darley + reports the 2001-09-24 TIP 27 changes left the win directory CONST + poisoned. These changes should fix that. * generic/tclDecls.h: make genstubs @@ -1378,17 +1345,17 @@ * generic/tclInt.h (TclGetLong deleted): * generic/tcl.decls: * generic/tclInt.decls: - * generic/tclGet.c: Updated APIs in generic/tclGet.c - according to the guidelines of TIP 27. [Patch 464674] + * generic/tclGet.c: Updated APIs in generic/tclGet.c according to the + guidelines of TIP 27. [Patch 464674] - * generic/tclDecls.h: + * generic/tclDecls.h: * generic/tclIntDecls.h: make genstubs 2001-09-25 Miguel Sofer * generic/tclVar.c: removed comments referring to unused flag - TCL_PARSE_PART1. - + TCL_PARSE_PART1. + 2001-09-24 Don Porter * doc/Concat.3: @@ -1400,37 +1367,34 @@ * generic/tclEncoding.c (OpenEncodingFile): * generic/tclMain.c (Tcl_Main): * generic/tclUtil.c: - * unix/tclLoadDl.c (TclpLoadFile): Updated APIs in - generic/tclUtil.c according to the guidelines of TIP 27. - [Patch 464553] + * unix/tclLoadDl.c (TclpLoadFile): Updated APIs in generic/tclUtil.c + according to the guidelines of TIP 27. [Patch 464553] - * generic/tclDecls.h: + * generic/tclDecls.h: * generic/tclIntDecls.h: make genstubs 2001-09-24 Andreas Kupries - * The change below fixes [Bug #464380]. The bug was reported by - Ronnie Brunner . He also - provided the patch. - - * generic/tclEvent.c (Tcl_Finalize): Moved release of - 'tclLibraryPath' to Tcl_FinalizeThread. - (Tcl_FinalizeThread): See above, new place for release of - 'tclLibraryPath'. + The change below fixes [Bug 464380]. The bug was reported by Ronnie + Brunner . He also provided the patch. + + * generic/tclEvent.c (Tcl_Finalize): Moved release of 'tclLibraryPath' + to Tcl_FinalizeThread. + (Tcl_FinalizeThread): See above, new place for release of + 'tclLibraryPath'. 2001-09-24 Donal K. Fellows * tools/encoding/cp1252.txt: File was missing part of the encoding - [euro, ZCaron and zcaron]. + [euro, ZCaron and zcaron]. - * doc/OpenFileChnl.3: Add docs for Tcl_OutputBuffered; remove some - old changebars. + * doc/OpenFileChnl.3: Add docs for Tcl_OutputBuffered; remove some old + changebars. 2001-09-21 Jeff Hobbs - * generic/tclExecute.c (TclExecuteByteCode): corrected - INST_STR_CMP else case for strings to pass true utf char length - to Tcl_UtfNCmp. + * generic/tclExecute.c (TclExecuteByteCode): corrected INST_STR_CMP + else case for strings to pass true utf char length to Tcl_UtfNCmp. 2001-09-20 Jeff Hobbs @@ -1439,30 +1403,30 @@ * win/tclWinSock.c (SocketThread): corrected pointer cast for _WIN64. * win/tclWinNotify.c: removed unnecessary winsock include (it is - already in from tclWinPort.h). + already in from tclWinPort.h). - * win/tclWinPort.h: changed winsock.h include to winsock2.h. - Reverses change from 2000-11-16, but is necessary for WIN64. - Extensions should comply with defined OS words, or use #ifndef. + * win/tclWinPort.h: changed winsock.h include to winsock2.h. Reverses + change from 2000-11-16, but is necessary for WIN64. Extensions should + comply with defined OS words, or use #ifndef. 2001-09-20 Donal K. Fellows - * tests/socket.test: removed dependence on being run from same dir - as remote.tcl, which only now needs to be in the same dir as - this file. [Bug #219326] + * tests/socket.test: removed dependence on being run from same dir as + remote.tcl, which only now needs to be in the same dir as this file. + [Bug 219326] 2001-09-19 Jeff Hobbs * generic/tclTest.c (TestcmdtokenCmd): corrected pointer - storage/retrieval for 64bit machines. + storage/retrieval for 64bit machines. * generic/tclCmdAH.c (Tcl_FormatObjCmd): - * generic/tclScan.c (Tcl_ScanObjCmd): corrected handling of format - and scan on 64-bit machines. [Bug #412696] (rmax) + * generic/tclScan.c (Tcl_ScanObjCmd): corrected handling of format and + scan on 64-bit machines. [Bug 412696] (rmax) * unix/configure: regen'ed - * unix/tcl.m4: added --enable-64bit support for HP-11 with the - 64-bit kernel. + * unix/tcl.m4: added --enable-64bit support for HP-11 with the 64-bit + kernel. * tests/basic.test: * tests/cmdInfo.test: improved skip reporting of missing commands @@ -1471,10 +1435,10 @@ * tests/winPipe.test: removed obsolete cat16 tests - * generic/tclExecute.c (TclExecuteByteCode): fixed invalid usage - of valuePtr in TRACE_WITH_OBJ in INST_EVAL_STK case. [Bug #462594] - Changed INST_STR_CMP instruction to promote to Unicode strings - only when one of the strings is already of Unicode type. + * generic/tclExecute.c (TclExecuteByteCode): fixed invalid usage of + valuePtr in TRACE_WITH_OBJ in INST_EVAL_STK case. [Bug 462594] Changed + INST_STR_CMP instruction to promote to Unicode strings only when one + of the strings is already of Unicode type. * generic/tclExecute.c (TclExecuteByteCode): * generic/tclCompile.c (instructionTable): @@ -1486,77 +1450,75 @@ * tests/{for.test,foreach.test,if.test,while.test}: * generic/tclCompCmds.c (TclCompileForCmd, TclCompileForeachCmd, TclCompileIfCmd, TclCompileWhileCmd): Corrected the overaggressive - compiling of loop bodies enclosed in ""s. [Bug #219166] (msofer) + compiling of loop bodies enclosed in ""s. [Bug 219166] (msofer) 2001-09-19 Miguel Sofer - - * generic/tclExecute.c: insured that execution stack errors are - also detected at abnormal returns. + + * generic/tclExecute.c: insured that execution stack errors are also + detected at abnormal returns. 2001-09-19 Donal K. Fellows * doc/socket.n: Added documentation to mention what happens when a - server socket is created with port=0. Removed an old change bar, - and no new change bar because Tcl has always behaved this way as - it is really a poorly-documented standards-defined OS feature. + server socket is created with port=0. Removed an old change bar, and + no new change bar because Tcl has always behaved this way as it is + really a poorly-documented standards-defined OS feature. * tests/util.test (util-8.1): Test derived from code to detect the - problem, but the test always works in the C locale, so beware if - you are maintaining the code. - * generic/tclUtil.c (TclNeedSpace): Rewrote to be UTF-8 aware. - [Bug 411825, but not that patch which would have added extra - spaces if there was a real non-ASCII space involved. ] + problem, but the test always works in the C locale, so beware if you + are maintaining the code. + * generic/tclUtil.c (TclNeedSpace): Rewrote to be UTF-8 aware. [Bug + 411825, but not that patch which would have added extra spaces if + there was a real non-ASCII space involved.] -2001-09-18 Andreas Kupries +2001-09-18 Andreas Kupries * generic/tclIOCmd.c (Tcl_PutsObjCmd): Rewritten to have saner and - faster argument handling. Fixes bug #123552. Patch provided by - Donal K. Fellows : #402564. + faster argument handling. [Bug 123552], [Patch 402564] (fellows) 2001-09-18 Don Porter * unix/configure: Regen. - * unix/tcl.m4 (SC_CONFIG_CFLAGS): On Linux, disable inlining when - one of the compat/*.c routines is to be linked in. [Patch 440891] + * unix/tcl.m4 (SC_CONFIG_CFLAGS): On Linux, disable inlining when one + of the compat/*.c routines is to be linked in. [Patch 440891] 2001-09-17 Jeff Hobbs - * generic/tcl.h: removed forced #define USE_TCLALLOC 1 for - Windows. This means the native system allocator will be used by - default. This should be binary and source compatible with - extensions, as Tcl_Alloc is a properly stubbed function. + * generic/tcl.h: removed forced #define USE_TCLALLOC 1 for Windows. + This means the native system allocator will be used by default. This + should be binary and source compatible with extensions, as Tcl_Alloc + is a properly stubbed function. 2001-09-17 Miguel Sofer - - * generic/tclExecute.c: corrected small bug in [Patch 456668] - - the varFramePtr was not restored in one possible exit. + + * generic/tclExecute.c: corrected small bug in [Patch 456668] - the + varFramePtr was not restored in one possible exit. 2001-09-17 Miguel Sofer - + * doc/tclvars.n: * generic/tclCompile.c: * generic/tclCompile.h: * generic/tclExecute.c: * generic/tclProc.c: disabled all compile and execution tracing - functionality in standard builds; TCL_COMPILE_DEBUG is now - necessary to enable it. [Bug 451858] + functionality in standard builds; TCL_COMPILE_DEBUG is now necessary + to enable it. [Bug 451858] 2001-09-14 Andreas Kupries - * doc/gets.n: - * doc/read.n: - * doc/puts.n: - * doc/flush.n: - * doc/fconfigure.n: - * doc/flush.n: - * doc/eof.n: - * doc/seek.n: - * doc/tell.n: - * doc/close.n: - * doc/fileevent.n: Added references to the Tcl standard - channels. Item [219250], reported by David LeBlanc - . Thanks to Christopher Nelson - for doing editorial work. + * doc/gets.n: + * doc/read.n: + * doc/puts.n: + * doc/flush.n: + * doc/fconfigure.n: + * doc/flush.n: + * doc/eof.n: + * doc/seek.n: + * doc/tell.n: + * doc/close.n: + * doc/fileevent.n: Added references to the Tcl standard channels. Item + [219250], reported by David LeBlanc . Thanks to + Christopher Nelson for doing editorial work. 2001-09-13 Andreas Kupries @@ -1565,56 +1527,52 @@ * win/makefile.bc: * win/makefile.vc: * library/dde/pkgIndex.tcl: Fixed version numbers from bogus tcl - versions to independent versions for dde and registry packages. + versions to independent versions for dde and registry packages. 2001-09-13 Jeff Hobbs * tests/regexp.test (regexp-20.1): * generic/tclCmdMZ.c (Tcl_RegsubObjCmd): had to adjust fix from - 2001-08-06 to actually duplicate the objects in certain cases. - This is really a place where feather would have been essential. - [Bug #461322] + 2001-08-06 to actually duplicate the objects in certain cases. This is + really a place where feather would have been essential. [Bug 461322] * generic/tclUtf.c (Tcl_UtfPrev): corrected to return the proper - location when the middle of a UTF-8 byte was passed in. - [Tk Bug #450504] + location when the middle of a UTF-8 byte was passed in [Tk Bug 450504] * ChangeLog.1999: * ChangeLog: broke changes from 199x into ChangeLog.1999 to reduce - size of the main ChangeLog. + size of the main ChangeLog. 2001-09-13 Andreas Kupries * tests/ioCmd.test: Changed the computation of the result for - iocmd-8.1[123] so that the tests work for single- and - multi-process execution of the testsuite. Depending on the - choice of the user stdout is a tty or not and thus reports - different channel options. Fixes [460993] reported by Don - Porter. + iocmd-8.1[123] so that the tests work for single- and multi-process + execution of the testsuite. Depending on the choice of the user stdout + is a tty or not and thus reports different channel options. Fixes + [460993] reported by Don Porter. 2001-09-13 Miguel Sofer - * doc/ParseCmd.3: + * doc/ParseCmd.3: * generic/tcl.decls: * generic/tclCmdMZ.c (Tcl_SubstObjCmd): * generic/tclDecls.h: * generic/tclParse.c: * generic/tclStubInit.c: - * tests/parse.test: Deprecate the use of Tcl_EvalTokens, replaced - by the new Tcl_EvalTokensStandard. The new function performs the - same duties but adheres to the standard return convention for Tcl + * tests/parse.test: Deprecate the use of Tcl_EvalTokens, replaced by + the new Tcl_EvalTokensStandard. The new function performs the same + duties but adheres to the standard return convention for Tcl evaluations; the deprecated function could only return TCL_OK or - TCL_ERROR, which caused [Bug 219384] and [Bug 455151]. - This patch implements [TIP 56]. - + TCL_ERROR, which caused [Bug 219384] and [Bug 455151]. This patch + implements [TIP 56]. + 2001-09-12 Mo DeJong * unix/configure: Regen. - * unix/tcl.m4: Invert the logic that checks for $GCC. - Instead of checking for "$GCC" = "no" we check for - "$GCC" != "yes" or simply swap the true and false - blocks of code in an if statement. That way if - GCC is set to "" everything will still work. [Bug 460991] + * unix/tcl.m4: Invert the logic that checks for $GCC. Instead of + checking for "$GCC" = "no" we check for "$GCC" != "yes" or simply swap + the true and false blocks of code in an if statement. That way if GCC + is set to "" everything will still work. [Bug 460991] 2001-09-12 Don Porter @@ -1622,8 +1580,8 @@ * tests/lsearch.test: * tests/namespace.test: * tests/rename.test: - * tests/split.test: Corrected tests to better isolate tests in - one file from influencing tests in other files. [Bug 460591] + * tests/split.test: Corrected tests to better isolate tests in one + file from influencing tests in other files. [Bug 460591] 2001-09-12 Miguel Sofer @@ -1633,181 +1591,170 @@ 2001-09-11 Andreas Kupries * doc/OpenFileChnl.3: Added documentation for Tcl_WriteRaw and - Tcl_ReadRaw [#414929]. - - * doc/CrtChannel.3: Added documentation for Tcl_ChannelBuffered - and Tcl_GetTopChannel [#414929]. + Tcl_ReadRaw [Bug 414929]. + + * doc/CrtChannel.3: Added documentation for Tcl_ChannelBuffered and + Tcl_GetTopChannel [Bug 414929]. - * The changes below are a fix for [219253]. + * The changes below are a fix for [Bug 219253]. * tests/socket.test: Removed _most_ instances of hardwired port - numbers for listening sockets. Remaining are the ports in all - tests with constraint 'doTestsWithRemoteServer'. These seem to - be designed for a more controlled environment and are usually - skipped when running the testsuite. + numbers for listening sockets. Remaining are the ports in all tests + with constraint 'doTestsWithRemoteServer'. These seem to be designed + for a more controlled environment and are usually skipped when running + the testsuite. - * tests/io.test: Removed all instances of hardwired port numbers - for listening sockets. + * tests/io.test: Removed all instances of hardwired port numbers for + listening sockets. 2001-09-10 Jeff Hobbs - * generic/tclEvent.c (TclInExit): Corrected handling of tsd in - late stages of finalization. [Bug #419449] (darley) + * generic/tclEvent.c (TclInExit): Corrected handling of tsd in late + stages of finalization. [Bug 419449] (darley) * tests/stack.test: * generic/tclInterp.c (AliasObjCmd): Check the numLevels to ensure - that we aren't hitting some alias loop condition. [Bug #443184] + that we aren't hitting some alias loop condition. [Bug 443184] 2001-09-10 Mo DeJong * unix/configure: Regen. - * unix/tcl.m4 (SC_CONFIG_CFLAGS): Don't include . characters - in the Tcl library name when building on FreeBSD 3.X and later - systems. [Patch 450725] + * unix/tcl.m4 (SC_CONFIG_CFLAGS): Don't include . characters in the + Tcl library name when building on FreeBSD 3.X and later systems. + [Patch 450725] 2001-09-10 Andreas Kupries * doc/tclsh.1: - * doc/Tcl_Main.3: - * doc/CrtChannel.3: - * doc/OpenFileChnl.3: + * doc/Tcl_Main.3: + * doc/CrtChannel.3: + * doc/OpenFileChnl.3: * doc/GetStdChan.3: Enhanced the manpages with cross-references to - the new manpage and more explanations how these functions deal - with the standard channels in various situations. + the new manpage and more explanations how these functions deal with + the standard channels in various situations. - * doc/StdChannels.3: New manpage describing handling of the - standard channels by the Tcl library [402725]. + * doc/StdChannels.3: New manpage describing handling of the standard + channels by the Tcl library. [Bug 402725] 2001-09-10 Don Porter - * unix/mkLinks (Tcl_FSLink): Updated to reflect 2001-08-23 - file system changes. + * unix/mkLinks (Tcl_FSLink): Updated to reflect 2001-08-23 file system + changes. * unix/tclLoadShl.c: Added #include of tclInt.h; access to Tcl - internals, notably TclpUnloadFile(), is required. Thanks to - Bob Techentin for report and patch. [Bug 459305] + internals, notably TclpUnloadFile(), is required. Thanks to Bob + Techentin for report and patch. [Bug 459305] * generic/tclInitScript.h (initScript): * win/tclWinInit.c (TCL_REGISTRY_KEY, TclpSetVariables): Removed - vestiges of Tcl's old initialization from registry variables. - [Bug 455645] + vestiges of Tcl's old initialization from registry variables. [Bug + 455645] 2001-09-10 Andreas Kupries - * generic/tclInt.decls: Also added 'TclWinFlushDirtyChannels' to - the internal platform specific stub table. + * generic/tclInt.decls: Also added 'TclWinFlushDirtyChannels' to the + internal platform specific stub table. * win/tclWinFile.c (TclpObjStat): Now added the call to - 'TclWinFlushDirtyChannels' to this function. I don't know where - my head was last thursday (2001-09-06), but the call was - actually added to 'TclpObjChdir', i.e. the implementation of - [cd]. Corrected this now. Thanks to Vince Darley for spotting - this. + 'TclWinFlushDirtyChannels' to this function. I don't know where my + head was last thursday (2001-09-06), but the call was actually added + to 'TclpObjChdir', i.e. the implementation of [cd]. Corrected this + now. Thanks to Vince Darley for spotting this. 2001-09-10 Miguel Sofer * generic/tclProc.c: - * tests/proc.test: made [proc] bytecompile a no-op for procs - defined with _args_ as single argument and an empty body. - [FQ 451441] - + * tests/proc.test: made [proc] bytecompile a no-op for procs defined + with _args_ as single argument and an empty body. [FRQ 451441] + 2001-09-09 Mo DeJong * unix/Makefile.in: - * win/Makefile.in: Use () around variable name - instead of {}. Use TCLTEST variable directly - instead of depending on the tcltest alias. + * win/Makefile.in: Use () around variable name instead of {}. Use + TCLTEST variable directly instead of depending on the tcltest alias. 2001-09-09 David Gravereaux * generic/tcl.h: - * generic/tclPlatDecls.h: Reminder from David Cuthbert - that I hadn't finished the Borland compatibility stuff. - [Patch: 436116] + * generic/tclPlatDecls.h: Reminder from David Cuthbert + that I hadn't finished the Borland compatibility + stuff. [Patch 436116] 2001-09-09 Mo DeJong - * tests/cmdAH.test: Modify cmdAH-20.5 and cmdAH-24.8 - to display the file atime or mtime results if - the test fails. + * tests/cmdAH.test: Modify cmdAH-20.5 and cmdAH-24.8 to display the + file atime or mtime results if the test fails. 2001-09-08 David Gravereaux * win/mkd.bat: - * win/rmd.bat: made these text files, text files again. - [Patch: 451333] + * win/rmd.bat: made these text files, text files again. [Patch 451333] 2001-09-08 Mo DeJong * win/mkd.bat: - * win/rmd.bat: - Apply binary property (cvs admin -kb) to files and convert - to CRLF linefeed format to fix the VC++ build. [Bug #219409] + * win/rmd.bat: Apply binary property (cvs admin -kb) to files and + convert to CRLF linefeed format to fix the VC++ build. [Bug 219409] 2001-09-08 Vince Darley - * generic/tclInt.h: + * generic/tclInt.h: * generic/tclFCmd.c: * doc/FileSystem.3: - * generic/tclIOUtil.c: removed Tcl_FSCopyFile fallback - to channel copying, since the channels will not have - access to interpreters and the channel copying currently - requires an interp. Code which required cross-platform - copies always has interpreters, so that solves the problem. - Fixes bug in TclKit. - + * generic/tclIOUtil.c: removed Tcl_FSCopyFile fallback to channel + copying, since the channels will not have access to interpreters and + the channel copying currently requires an interp. Code which required + cross-platform copies always has interpreters, so that solves the + problem. Fixes bug in TclKit. + 2001-09-07 David Gravereaux - * win/tcl.m4: Added -link50compat option so a VC6 linker makes - a VC5 (pre sp3) compatible import library. - [Bug: 219257] + * win/tcl.m4: Added -link50compat option so a VC6 linker makes a VC5 + (pre sp3) compatible import library. [Bug 219257] 2001-09-07 Mo DeJong * win/tclWinThrd.c (TclpThreadExit): Cast status argument to - _endthreadex to unsigned instead of DWORD to match the Win32 - function prototype. + _endthreadex to unsigned instead of DWORD to match the Win32 function + prototype. 2001-09-06 Andreas Kupries - * All the changes below serve to fix bug [219148] which reports a - 80x performance hit for file I/O on Win* systems. On my system - it was closer to a 120x hit. Problem report by Uwe Traum . + * All the changes below serve to fix bug [219148] which reports a 80x + performance hit for file I/O on Win* systems. On my system it was + closer to a 120x hit. Problem report by Uwe Traum . - The fix goes like this: The obstacle is 'FlushFileBuffers', - executed whenever Tcl writes data to the OS, as Tcl has to wait - for the disk to complete I/O, and disks are slow. We remove that - obstacle. This opens another problem, [file size] reports back - wrong numbers. So for [file size] we add the call back in. As - optimization we keep track of the channels which were written to - and flush only these. + The fix goes like this: The obstacle is 'FlushFileBuffers', executed + whenever Tcl writes data to the OS, as Tcl has to wait for the disk to + complete I/O, and disks are slow. We remove that obstacle. This opens + another problem, [file size] reports back wrong numbers. So for [file + size] we add the call back in. As optimization we keep track of the + channels which were written to and flush only these. * win/tclWinFile.c (TclpObjStat): Added a call to - 'TclWinFlushDirtyChannels'. This ensures that [file size] and - related commands report the correct size of a file even if Tcl - has recently written to it. Unixoid OS's always report the - correct size even for files with pending data, but Win* - syssystem don't. They only report what is actually on disk. + 'TclWinFlushDirtyChannels'. This ensures that [file size] and related + commands report the correct size of a file even if Tcl has recently + written to it. Unixoid OS's always report the correct size even for + files with pending data, but Win* syssystem don't. They only report + what is actually on disk. - * win/tclWinInt.h: Added declaration of - 'TclWinFlushDirtyChannels', making it available to other parts - of the tcl core. + * win/tclWinInt.h: Added declaration of 'TclWinFlushDirtyChannels', + making it available to other parts of the tcl core. * win/tclWinChan.c (TclWinFlushDirtyChannels): New, internal, - procedure. Goes through the list of open file channels and - forces the OS to flush its file buffers for all which were - written to since the last call of this function. This is an - expensive operation as Tcl has to wait for the OS to complete - actual writes to the disk. + procedure. Goes through the list of open file channels and forces the + OS to flush its file buffers for all which were written to since the + last call of this function. This is an expensive operation as Tcl has + to wait for the OS to complete actual writes to the disk. - (FileInfo): Added dirty flag required by the procedure above. + (FileInfo): Added dirty flag required by the procedure above. - (FileOutputProc): Removed flushing of file buffers, setting the - dirty flag instead. This means that the previously incurred - delays do not happen anymore. + (FileOutputProc): Removed flushing of file buffers, setting the dirty + flag instead. This means that the previously incurred delays do not + happen anymore. - (TclWinOpenFileChannel): Added initialization of 'dirty' flag. + (TclWinOpenFileChannel): Added initialization of 'dirty' flag. 2001-09-06 Jeff Hobbs @@ -1815,48 +1762,48 @@ * tests/http.test: * library/http/pkgIndex.tcl: * library/http/http.tcl (geturl): correctly get charset parameter - and convert text according to specified encoding (if known). RFC - iso8859-1 is used by default. Also recognize Content-encoding to - see if we should do binary translation. Added a CYA -binary - switch for the cases that were missed. [Bug #219211 #219399] + and convert text according to specified encoding (if known). RFC + iso8859-1 is used by default. Also recognize Content-encoding to see + if we should do binary translation. Added a CYA -binary switch for the + cases that were missed. [Bugs 219211, 219399] * tests/ioUtil.test: changed to make better use of constraints and remove knownBug constraints that weren't valid. 2001-09-06 Don Porter - * tests/unixInit.test (unixInit-3.2): Updated test to support - newer HP-UX releases that properly report euc-jp as the system - encoding for Japanese. Bug report and patch verification by Bob - Techentin. [Bug 453883] + * tests/unixInit.test (unixInit-3.2): Updated test to support newer + HP-UX releases that properly report euc-jp as the system encoding for + Japanese. Bug report and patch verification by Bob Techentin. [Bug + 453883] * doc/http.n: * library/http/*.tcl: * tools/tcl.wse.in: * tools/tclmin.wse: * unix/Makefile.in: - * win/{Mm}akefile.*: Updated http package to version 2.4, - reflecting the new features just added. + * win/{Mm}akefile.*: Updated http package to version 2.4, reflecting + the new features just added. 2001-09-06 Vince Darley - * generic/tclTest.c: tests of old-fs hooks no longer cause problems - in threaded builds. Also removed unused unload proc. + * generic/tclTest.c: tests of old-fs hooks no longer cause problems in + threaded builds. Also removed unused unload proc. * generic/tcl.decls: - * generic/tclIOUtilc: added Tcl_FSMountsChanged so that a vfs - can inform the filesystem that the filesystem epoch must be - changed (since cached filesystems may now be incorrect). Fixes - problem running tclvfs extension. - * library/tcltest/tcltest.tcl: if tests aren't in a native - filesystem, then don't use pipes to run them. [Bug 458741] - + * generic/tclIOUtilc: added Tcl_FSMountsChanged so that a vfs can + inform the filesystem that the filesystem epoch must be changed (since + cached filesystems may now be incorrect). Fixes problem running tclvfs + extension. + * library/tcltest/tcltest.tcl: if tests aren't in a native filesystem, + then don't use pipes to run them. [Bug 458741] + 2001-09-06 Donal K. Fellows - * generic/tcl.decls (479 generic): - * generic/tclIO.c (Tcl_Seek,Tcl_Tell,Tcl_OutputBuffered): Added - public function to return the size of the output buffer and - reworked other channel functions to use this shared functionality - and that of Tcl_InputBuffered() too. [TIP#49, Rolf Schroedter] + * generic/tcl.decls (479 generic): + * generic/tclIO.c (Tcl_Seek,Tcl_Tell,Tcl_OutputBuffered): Added public + function to return the size of the output buffer and reworked other + channel functions to use this shared functionality and that of + Tcl_InputBuffered() too. [TIP#49, Rolf Schroedter] 2001-09-05 David Gravereaux @@ -1864,39 +1811,36 @@ support. * win/tclWinPipe.c: - * win/tclWinPort.h: More Borland compatibility fixes. Changed - EDQUOT #define from 49 to 69. Borland had a clash as it was already - using this number. Upon advice from Helmut Giese, EDQUOT has been - found in other header files #defined as 69. - [Patch: 436116] + * win/tclWinPort.h: More Borland compatibility fixes. Changed EDQUOT + #define from 49 to 69. Borland had a clash as it was already using + this number. Upon advice from Helmut Giese, EDQUOT has been found in + other header files #defined as 69. [Patch 436116] * win/.cvsignore: A few more glob patterns added. * win/makefile.bc (new): Borland lives once more! rejoice.. * generic/tclAlloc.c: Small Borland compatibility fix. - * win/tclWinTime.c: More Borland compatibility fixes. - [Patch: 436116] + * win/tclWinTime.c: More Borland compatibility fixes. [Patch 436116] 2001-09-05 Vince Darley - * tests/winFCmd.test: made notWin2000 constraint false if not - running on Windows at all. - + * tests/winFCmd.test: made notWin2000 constraint false if not running + on Windows at all. + 2001-09-04 David Gravereaux - * win/tclWinThrd.c: Revisited _beginthreadex() stuff. Instead - of assuming a c-runtime implimentation of _beginthreadex normal, - I reversed the logic to not assume, and use when is by explicitly + * win/tclWinThrd.c: Revisited _beginthreadex() stuff. Instead of + assuming a c-runtime implimentation of _beginthreadex normal, I + reversed the logic to not assume, and use when is by explicitly needing to add runtimes that support it such as Borland. * generic/tcl.h: - * generic/tclPlatDecls.h: Borland compatibility change so - ClientData was properly typed as a void* and TCHAR would not be - defined twice. + * generic/tclPlatDecls.h: Borland compatibility change so ClientData + was properly typed as a void* and TCHAR would not be defined twice. - * generic/tcl.h: Removed a small mistake from before. Changes to - the EXTERN macro for proper Borland compatibility will have to see - a TIP. What's this with the MS compiler: + * generic/tcl.h: Removed a small mistake from before. Changes to the + EXTERN macro for proper Borland compatibility will have to see a TIP. + What's this with the MS compiler: __declspec(dllexport) int func (int a, int b); @@ -1908,115 +1852,110 @@ 2001-09-04 Don Porter - * compat/strtod.c (strtod): Fixed failure to handle expressions - like 3eq2 and failure to set errno on overflow. [Bug 440894] + * compat/strtod.c (strtod): Fixed failure to handle expressions like + 3eq2 and failure to set errno on overflow. [Bug 440894] 2001-09-04 Miguel Sofer * generic/tclProc.c: - * tests/proc.test: made [proc] check that formal args have - simple names [Bug 458548] + * tests/proc.test: made [proc] check that formal args have simple + names. [Bug 458548] 2001-09-04 Vince Darley - Minor bug fixes in filesystem, plus small vfs changes as a - result of enabling the test filesystem to work properly. + Minor bug fixes in filesystem, plus small vfs changes as a result of + enabling the test filesystem to work properly. * tests/fileName.test: ensure new test cleans up after itself - * doc/filename.n: - * generic/tclFileName.c: improved Mac path handling and document - why [Bug: 421842] on Windows handling of UNC paths is not valid. - Documentation and code now much clearer on what is and is not a - UNC path. + * doc/filename.n: + * generic/tclFileName.c: improved Mac path handling and document why + [Bug 421842] on Windows handling of UNC paths is not valid. + Documentation and code now much clearer on what is and is not a UNC + path. * doc/FileSystem.3: * unix/tclUnixPipe.c: * generic/tclFCmd.c: - * generic/tclIOUtil.c: fixed error message, fixed [Bug: 453512] - about dangerous use of tmpnam, replaced with mkstemp. - Documented all the changes. - * generic/tclTest.c: made test vfs fully functional as a - 'reporting filesystem'. + * generic/tclIOUtil.c: fixed error message, fixed [Bug 453512] about + dangerous use of tmpnam, replaced with mkstemp. Documented all the + changes. + * generic/tclTest.c: made test vfs fully functional as a 'reporting + filesystem'. * generic/tcl.stubs: * generic/tcl.h: - * generic/tclInt.h: + * generic/tclInt.h: * generic/tclIOUtil.c: * doc/file.n: - * various platform-specific 'TclpLoadFile': fixed comments about - unload behaviour, and completed objectification of loading. - Required change to Tcl_Filesystem lookup table, so incompatible - with 8.4a3, but not older versions of Tcl. The change also - allows 'link' and 'reporting' filesystems to function correctly - when loading files. Implementation of 'file delete -force' - copes with case where cwd is inside the directory. Moved - overlooked Tcl_FSGetPathType from internal to external API. - Made sure filesystems which are registered and then unregistered - are only freed when all references to them are gone. + * various platform-specific 'TclpLoadFile': fixed comments about + unload behaviour, and completed objectification of loading. Required + change to Tcl_Filesystem lookup table, so incompatible with 8.4a3, but + not older versions of Tcl. The change also allows 'link' and + 'reporting' filesystems to function correctly when loading files. + Implementation of 'file delete -force' copes with case where cwd is + inside the directory. Moved overlooked Tcl_FSGetPathType from internal + to external API. Made sure filesystems which are registered and then + unregistered are only freed when all references to them are gone. Documented changes. - * unix/tclUnixFCmd.c: when deleting directories recursively, - make sure permissions are ok. Together with the above, this - fixes [Bug: 219139] - * tests/winFCmd.test: differentiated test results for win2k - versus not. This fixes [Bug: 219239] - * tests/fCmd.test: added tests for 'file delete -force' where - the cwd is inside, and when permissions are inadequate. - + * unix/tclUnixFCmd.c: when deleting directories recursively, make sure + permissions are ok. Together with the above, this fixes [Bug 219139] + * tests/winFCmd.test: differentiated test results for win2k versus + not. This fixes [Bug: 219239] + * tests/fCmd.test: added tests for 'file delete -force' where the cwd + is inside, and when permissions are inadequate. + 2001-09-04 Miguel Sofer - * generic/tclCompile.c: fixed incorrect operands for INST_LIST - [Bug: 458241] (David Cuthbert, dacut@users.sourceforge.net) + * generic/tclCompile.c: fixed incorrect operands for INST_LIST [Bug + 458241] (David Cuthbert, dacut@users.sourceforge.net) 2001-09-03 Jeff Hobbs - * generic/tclExecute.c (TclExecuteByteCode): fixed missing comma - in debug macro. + * generic/tclExecute.c (TclExecuteByteCode): fixed missing comma in + debug macro. 2001-09-03 Donal K. Fellows - * doc/ExprLongObj.3: Fixed error in documentation of argument type - to Tcl_ExprObj [Bug: 457435] + * doc/ExprLongObj.3: Fixed error in documentation of argument type to + Tcl_ExprObj [Bug 457435] 2001-09-02 David Gravereaux * win/tclWinThrd.c: Portability fix for Cygwin who's c-runtime, not surprisingly, doesn't have the MSVCRT specific _beginthreadex / - _endthreadex pair. This might have to be revisited for proper - Borland, lcc32, Watcom and other support as well. - [Patch: 444255] + _endthreadex pair. This might have to be revisited for proper Borland, + lcc32, Watcom and other support as well. [Patch 444255] * win/tclWinThrd.c: Moved FinalizeConditionEvent() proto to within the main #ifdef TCL_THREADS block to avoid mingw warning about it being there but unused. - * win/makefile.vc: Added -Zl (zee el) to tclStubLib.c compile line - to make sure the tclstub84.lib static library is built without - requiring a specific C-runtime library at link-time for the end-use - developer. It has been noted on c.l.t that this trips many first - time users trying to make extensions. - [Patch: 403533] + * win/makefile.vc: Added -Zl (zee el) to tclStubLib.c compile line to + make sure the tclstub84.lib static library is built without requiring + a specific C-runtime library at link-time for the end-use developer. + It has been noted on c.l.t that this trips many first time users + trying to make extensions. [Patch 403533] 2001-08-31 Jeff Hobbs * generic/tclInt.h: added TclCompileListCmd header * generic/tclBasic.c: added TclCompileListCmd compile proc - * generic/tclCompCmds.c (TclCompileListCmd): function to compile - the 'list' command at parse time. - * generic/tclExecute.c (TclExecuteByteCode): definition of - INST_LIST bytecode. + * generic/tclCompCmds.c (TclCompileListCmd): function to compile the + 'list' command at parse time. + * generic/tclExecute.c (TclExecuteByteCode): definition of INST_LIST + bytecode. - * doc/StringObj.3: added words of warning to use Tcl_ResetResult - with the Tcl_Append* functions. + * doc/StringObj.3: added words of warning to use Tcl_ResetResult with + the Tcl_Append* functions. * tests/compile.test: added compile-11.* interp result checks - * generic/tclUtil.c (TclGetIntForIndex): added Tcl_ResetResult - before Tcl_AppendStringsToObj to prevent shared object crash when - called from bcc instruction. The Tcl_Append* calls that append to - the result object that are invoked by bcc insts must remember to - call Tcl_ResetResult because the bcc doesn't do this for us. - [Bug #456892] + * generic/tclUtil.c (TclGetIntForIndex): added Tcl_ResetResult before + Tcl_AppendStringsToObj to prevent shared object crash when called from + bcc instruction. The Tcl_Append* calls that append to the result + object that are invoked by bcc insts must remember to call + Tcl_ResetResult because the bcc doesn't do this for us. [Bug 456892] 2001-08-30 Jeff Hobbs - * generic/tclIndexObj.c: fixed some casting problems that upset - Crays. [Bug #419528] (andreasen) + * generic/tclIndexObj.c: fixed some casting problems that upset Crays. + [Bug 419528] (andreasen) 2001-08-30 Don Porter @@ -2024,120 +1963,116 @@ 2001-08-30 Miguel Sofer - * generic/tclExecute.c: allow cached fully-qualified command names - to be usable from different namespaces within the same interpreter - without forcing a new lookup. This speeds up scripts that pass - command names in variables ("this" in some OO packages). - [Patch 456668]. + * generic/tclExecute.c: allow cached fully-qualified command names to + be usable from different namespaces within the same interpreter + without forcing a new lookup. This speeds up scripts that pass command + names in variables ("this" in some OO packages). [Patch 456668] 2001-08-30 Vince Darley - Further fs updates. After examining the most common Tcl - extensions (TclX, BLT, Tk, TclPro, Mktclapp), it has been - determined that only TclpGetCwd and the Access/Stat/Open - insert/delete hooks of the internal fs functions are ever used. - The remaining functions from Tcl's internal interfaces have - therefore been removed, since Tcl now exports a more suitable - public API (Tcl_FS...) - + Further fs updates. After examining the most common Tcl extensions + (TclX, BLT, Tk, TclPro, Mktclapp), it has been determined that only + TclpGetCwd and the Access/Stat/Open insert/delete hooks of the + internal fs functions are ever used. The remaining functions from + Tcl's internal interfaces have therefore been removed, since Tcl now + exports a more suitable public API (Tcl_FS...) + * generic/tclInt.stubs: - * generic/tclInt.h: updated for removed internal functions. - Some new internal functions have been put in tclInt.h (and - not exported in the stub table because good public equivalents - exist). - * generic/tclTest.c: some test functions used the internal private - APIs. These tests have been retained, but modified to use - public APIs. Also objectified the internal filesystem tests. - * win/tclWinFile.c: removed TclpStat, TclpAccess and refactored - code to use NativeAccess, NativeStat. This should speed up - stat, access and glob commands. - * win/tclWinFCmd.c: removed all TclpCopy/Rename/Delete - File/Directory string-based procedures which aren't used any more. - Improved efficiency of some other procedures. Ensure that filename - conversions with a NULL interp do not crash Tcl. + * generic/tclInt.h: updated for removed internal functions. Some new + internal functions have been put in tclInt.h (and not exported in the + stub table because good public equivalents exist). + * generic/tclTest.c: some test functions used the internal private + APIs. These tests have been retained, but modified to use public APIs. + Also objectified the internal filesystem tests. + * win/tclWinFile.c: removed TclpStat, TclpAccess and refactored code + to use NativeAccess, NativeStat. This should speed up stat, access and + glob commands. + * win/tclWinFCmd.c: removed all TclpCopy/Rename/Delete File/Directory + string-based procedures which aren't used any more. Improved + efficiency of some other procedures. Ensure that filename conversions + with a NULL interp do not crash Tcl. * mac/tclMacFCmd.c: wrapped long lines and cleaned up - TclpObjNormalizePath, removed all TclpCopy/Rename/Delete + TclpObjNormalizePath, removed all TclpCopy/Rename/Delete File/Directory string-based procedures which aren't used any more. * mac/tclMacFile.c: removed obsolete TclpStat, TclpAccess, TclpChdir, etc. * unix/tclUnixFCmd.c: removed use of TclpAccess, removed all TclpCopy/Rename/Delete File/Directory string-based procedures which aren't used any more. - * unix/tclUnixFile.c: removed obsolete TclpStat, TclpAccess, TclpChdir, - etc. + * unix/tclUnixFile.c: removed obsolete TclpStat, TclpAccess, + TclpChdir, etc. * tcl(Unix|Mac|Win)Chan.c: objectified TclpOpenFileChannel. * various 'load' implementations all objectified. * generic/tclFileName.c: removed redundant code. * generic/tclIOUtil.c: removed TclStat, TclAccess, TclpListVolumes. - Fix to MatchInDirectory at the root of a volume. Also improved - some documentation, and improved default path joining behaviour - for virtual filesystems, especially regarding '~'. + Fix to MatchInDirectory at the root of a volume. Also improved some + documentation, and improved default path joining behaviour for virtual + filesystems, especially regarding '~'. * tests/fileName.test: added tests to check for bugs fixed above. * doc/FileName.3: improved documentation - + 2001-08-30 David Gravereaux * generic/tclAsync.c: * generic/tclEvent.c: * generic/tclInt.h: Improper cleanup of asyncMutex in tclAsync.c - repaired. TclFinalizeSynchronization() was trying to remove a - registered mutex that was dumped earlier when the TSD it was stored - in was cleared. This was only surfacing on *nix. Windows was being - masked by mutexes not actually being returned to the system! That - was repaired in a previous patch. Needed to add a private + repaired. TclFinalizeSynchronization() was trying to remove a + registered mutex that was dumped earlier when the TSD it was stored in + was cleared. This was only surfacing on *nix. Windows was being masked + by mutexes not actually being returned to the system! That was + repaired in a previous patch. Needed to add a private TclFinalizeAsync() to tclAsync.c and called from Tcl_FinalizeThread(). - Pheww.. Is this done yet? - [Bug: 414419] requested by Rob Ratcliff + Pheww.. Is this done yet? [Bug 414419] requested by Rob Ratcliff + 2001-08-28 Jeff Hobbs * generic/tclCompCmds.c (TclPushVarName): noted 'static' defn. - [Bug #453872] + [Bug 453872] 2001-08-26 Don Porter * library/auto.tcl (tcl_findLibrary): * tests/unixInit.test (unixInit-2.{1,9}): * unix/tclUnixInit.c (TclpInitLibraryPath): - * win/tclWinInit.c (TclpInitLibraryPath): Corrected - inconsistency between the search path for script libraries and - the directory name $DISTNAME into which distributions built - by 'make test' unpack. [Bug 455642] + * win/tclWinInit.c (TclpInitLibraryPath): Corrected inconsistency + between the search path for script libraries and the directory name + $DISTNAME into which distributions built by 'make test' unpack. [Bug + 455642] 2001-08-24 Jeff Hobbs * tests/stringComp.test: added string-1.3 * generic/tclCompCmds.c (TclCompileStringCmd): changed to return TCL_OUT_LINE_COMPILE instead of TCL_ERROR when compiling and an - unknown string method is called. This is necessary as the string + unknown string method is called. This is necessary as the string command may be never called, or not until 'string' is redefined. 2001-08-24 Vince Darley * doc/glob.n: documented windows-style path issue with glob. - [Bug: 219392] + [Bug 219392] * doc/filename.n: documented windows path/file length limitation. - [Bug: 454597] + [Bug 454597] 2001-08-24 Don Porter - * tests/unixInit.test (unixInit-2.9): Corrected expected result - to match Tcl's quirky construction of its init library path. + * tests/unixInit.test (unixInit-2.9): Corrected expected result to + match Tcl's quirky construction of its init library path. 2001-08-23 Andreas Kupries - * win/tclWinPipe.c (BuildCommandLine): Fixed tcl Bug - [432499]. Part of the code used the non-absolute path to the - executable to determine quoting. This failed if the absolute - path contained spaces, but the application name itself not. This - bug caused no trouble on Win NT 5, but does for other variants - in the Win* family. Report and fix due to Ken Poole - . + * win/tclWinPipe.c (BuildCommandLine): Fixed [Bug 432499]. Part of the + code used the non-absolute path to the executable to determine + quoting. This failed if the absolute path contained spaces, but the + application name itself not. This bug caused no trouble on Win NT 5, + but does for other variants in the Win* family. Report and fix due to + Ken Poole . 2001-08-23 Jeff Hobbs * unix/configure: - * unix/tcl.m4: added QNX-6 build support. [Bug #219410] (loverso) + * unix/tcl.m4: added QNX-6 build support. [Bug 219410] (loverso) * unix/tclUnixFCmd.c: * generic/tclIOUtil.c: @@ -2145,97 +2080,93 @@ 2001-08-23 Vince Darley - Variety of small filesystem and vfs issues fixed or improved. - The new fs code allows many new opportunities for efficiency - improvements through the objectified API. The main changes - integrated here are such efficiency improvements. Some - limitations of the original implementation have also now been - lifted. Meanwhile a variety of fs bugs (some old, some new) - have also been fixed. - - * generic/tclFileName.c: Made Tcl_FSSplitPath more efficient, - and removed some static string-based procedures which are no - longer used. Much more objectification. Tcl_FSJoinPath - is now very efficient and more aware of virtual filesystems. - Clarified where the Mac-specific code attempts to interpret - Unix-style paths. Modified TclDoGlob to use lstat not - access to fix [Bug: 434876, L. Virden] + Variety of small filesystem and vfs issues fixed or improved. The new + fs code allows many new opportunities for efficiency improvements + through the objectified API. The main changes integrated here are such + efficiency improvements. Some limitations of the original + implementation have also now been lifted. Meanwhile a variety of fs + bugs (some old, some new) have also been fixed. + + * generic/tclFileName.c: Made Tcl_FSSplitPath more efficient, and + removed some static string-based procedures which are no longer used. + Much more objectification. Tcl_FSJoinPath is now very efficient and + more aware of virtual filesystems. Clarified where the Mac-specific + code attempts to interpret Unix-style paths. Modified TclDoGlob to use + lstat not access to fix [Bug 434876] (L. Virden) + * tcl(Win|Unix|Mac)FCmd.c: * tcl(Win|Unix|Mac)File.c: replaced TclpListVolumes with - TclpObjListVolumes with different signature, updated code due - to more efficient signature of Tcl_FSGetTranslatedPath. Used - cached native paths where possible to improve efficiency -- - this was completed on MacOS, but on Unix and Win the traversal - functions make the task much more complex, so there are still - some improvements possible there. Removed unused - TclpNormalizePath which had been left in tclWinFCmd.c. - Objectified all 'file attributes' functions. Fixed the new - [Bug:451571, Bruce Stephens] which is most obvious on Unix, - but could occur on MacOS or Windows. This bug actually existed - in Tcl 8.3.x but was only made obvious by the recent filesystem - overhaul when the code was exercised more heavily. - * tests/fileName.test: Three new tests to exercise the above bug, - and make sure it is fixed correctly. - * unix/tclUnixFile.c: avoid panic in glob when a link - doesn't point anywhere. It would probably be good to define - exactly what Tcl should do in circumstances like these, and - make sure mac/win/unix all behave accordingly. [Bug: 417111, - Hemang Lavana]. Also fixed misleading/obsolete comment in the code. - * generic/tcl.stubs: changed signature of Tcl_FSGetTranslatedPath - and added Tcl_FSGetTranslatedStringPath. + TclpObjListVolumes with different signature, updated code due to more + efficient signature of Tcl_FSGetTranslatedPath. Used cached native + paths where possible to improve efficiency -- this was completed on + MacOS, but on Unix and Win the traversal functions make the task much + more complex, so there are still some improvements possible there. + Removed unused TclpNormalizePath which had been left in tclWinFCmd.c. + Objectified all 'file attributes' functions. Fixed the new [Bug + 451571, Bruce Stephens] which is most obvious on Unix, but could occur + on MacOS or Windows. This bug actually existed in Tcl 8.3.x but was + only made obvious by the recent filesystem overhaul when the code was + exercised more heavily. + * tests/fileName.test: Three new tests to exercise the above bug, and + make sure it is fixed correctly. + * unix/tclUnixFile.c: avoid panic in glob when a link doesn't point + anywhere. It would probably be good to define exactly what Tcl should + do in circumstances like these, and make sure mac/win/unix all behave + accordingly. [Bug 417111] (Hemang Lavana). Also fixed + misleading/obsolete comment in the code. + * generic/tcl.stubs: changed signature of Tcl_FSGetTranslatedPath and + added Tcl_FSGetTranslatedStringPath. These changes allow further optimisations in the FS code. - * generic/tcl.h: changed signature of Tcl_FSListVolumes so that - it doesn't require a Tcl interpreter plus result. Renamed - Tcl_FSReadLink to Tcl_FSLink with additional argument so - we can support making links in the future. [Patch: 450340] - * generic/tclInt.h: - added declaration for TclpObjListVolumes. Objectified - internal call signatures for 'file attributes' functions, and - added an internal objectified get path type function. - * generic/tclIOUtil.c: added the moved function TclpListVolumes - which calls platform specific code (needed for backwards - compatibility), and improved efficiency of parts of the FS - (particularly file normalization). Much less copying and - memory allocation is required now. added new GetPathType - so that changes in 'file volumes' can actually affect files' - types, and objectified more code. Made current code work - with test suite artificially changing current platform. + * generic/tcl.h: changed signature of Tcl_FSListVolumes so that it + doesn't require a Tcl interpreter plus result. Renamed Tcl_FSReadLink + to Tcl_FSLink with additional argument so we can support making links + in the future. [Patch: 450340] + * generic/tclInt.h: added declaration for TclpObjListVolumes. + Objectified internal call signatures for 'file attributes' functions, + and added an internal objectified get path type function. + * generic/tclIOUtil.c: added the moved function TclpListVolumes which + calls platform specific code (needed for backwards compatibility), and + improved efficiency of parts of the FS (particularly file + normalization). Much less copying and memory allocation is required + now. added new GetPathType so that changes in 'file volumes' can + actually affect files' types, and objectified more code. Made current + code work with test suite artificially changing current platform. Added 'static' keywords where required. * generic/tclIO.c: - * generic/tclTest.c: Added 'static' keywords, fixing - [Bug: 453872, Bob Techentin] - * generic/tclCmdAH.c: file command implementation updated for - API changes, removed unnecessary special-case SplitPath static - function, since it no longer helps prevent code duplication. - Moved setting of interpreter result to each individual location - that actually required it, to avoid very large code separation - between reading and setting the result. - * doc/FileSystem.3: updated documentation for the new or - changed APIs, and clarified some issues. + * generic/tclTest.c: Added 'static' keywords, fixing [Bug 453872] (Bob + Techentin) + * generic/tclCmdAH.c: file command implementation updated for API + changes, removed unnecessary special-case SplitPath static function, + since it no longer helps prevent code duplication. Moved setting of + interpreter result to each individual location that actually required + it, to avoid very large code separation between reading and setting + the result. + * doc/FileSystem.3: updated documentation for the new or changed APIs, + and clarified some issues. * doc/SplitPath.3: added pointer to newer APIs in FileSystem.3 - * doc/filename.n: clarified current implementation of tilde - support on Mac/Win. [Bug:453514, Sergey Kuzmin] - * doc/glob.n: improved documentation for '-directory' and '-path' + * doc/filename.n: clarified current implementation of tilde support on + Mac/Win. [Bug 453514] (Sergey Kuzmin) + * doc/glob.n: improved documentation for '-directory' and '-path' options. - - There are now many private, obsolete, platform-specific 'Tclp' - string-based filesystem APIs which could be removed. We should - check whether any of these are used by extensions and, at least - in Tcl 9, remove them. - - The above changes signify a ***POTENTIAL INCOMPATIBILITY*** - with 8.4a3, since signatures of two functions in the new API - have changed, but not with older versions of Tcl. + + There are now many private, obsolete, platform-specific 'Tclp' + string-based filesystem APIs which could be removed. We should check + whether any of these are used by extensions and, at least in Tcl 9, + remove them. + + The above changes signify a ***POTENTIAL INCOMPATIBILITY*** with + 8.4a3, since signatures of two functions in the new API have changed, + but not with older versions of Tcl. 2001-08-23 Donal K. Fellows - * generic/tclBinary.c (FormatNumber): Extract a long from the - object and not an int, to stop [binary format] from being unable - to format some input numbers on architectures where sizeof(int) is - less than sizeof(long) (particularly Alpha.) [tiprender Bug #441861] + * generic/tclBinary.c (FormatNumber): Extract a long from the object + and not an int, to stop [binary format] from being unable to format + some input numbers on architectures where sizeof(int) is less than + sizeof(long) (particularly Alpha). [tiprender Bug 441861] - * tests/format.test: Converted conditional execution of tests into - a test constraint. + * tests/format.test: Converted conditional execution of tests into a + test constraint. 2001-08-22 Jeff Hobbs @@ -2243,90 +2174,88 @@ * win/makefile.vc: updated install target for dde1.2 * doc/dde.n: fixed dde man page (which was totally incorrect). * tests/winDde.test: - * win/tclWinDde.c (Tcl_DdeObjCmd): added -binary option to dde - request command to allow for returning binary data. [Bug #227482] + * win/tclWinDde.c (Tcl_DdeObjCmd): added -binary option to dde request + command to allow for returning binary data. [Bug 227482] Updated dde to 1.2 - * tests/tcltest.test: added unixExecs constraint to files that - used 'grep' in the test. [Bug #453143] + * tests/tcltest.test: added unixExecs constraint to files that used + 'grep' in the test. [Bug 453143] + + * library/tcltest/tcltest.tcl: fixed stdio constraint test. [Patch + 454050] (stanton) + Simplified unixExecs constraint test. - * library/tcltest/tcltest.tcl: fixed stdio constraint test. - [Patch #454050] (stanton) - Simplified unixExecs constraint test. - 2001-08-22 Don Porter - * tests/ioUtil.test (ioUtil-3.*): Corrected errors in tests - revealed by fix of overagressive compiler. [Bug 451200] + * tests/ioUtil.test (ioUtil-3.*): Corrected errors in tests revealed + by fix of overagressive compiler. [Bug 451200] 2001-08-21 Miguel Sofer * generic/tclCompCmds.c: - * tests/compile.test: Fixed overagressive compilation of [catch]: - it was catching errors at substitution time. [Bug #219184] - + * tests/compile.test: Fixed overagressive compilation of [catch]: it + was catching errors at substitution time. [Bug 219184] + 2001-08-21 Jeff Hobbs - * tests/tcltest.test (tcltest-12.2): fixed test that would break - when env vars weren't Tcl list friendly [Patch #454046] (stanton) + * tests/tcltest.test (tcltest-12.2): fixed test that would break when + env vars weren't Tcl list friendly [Patch 454046] (stanton) 2001-08-20 Jeff Hobbs - * library/http/http.tcl (geturl): added port number to Host: - header to comply with HTTP/1.1 spec (RFC 2068). [Bug #452217] + * library/http/http.tcl (geturl): added port number to Host: header to + comply with HTTP/1.1 spec (RFC 2068). [Bug 452217] 2001-08-16 David Gravereaux * tools/tcl.wse.in: * tools/tcl.hpj.in: * win/tcl.hpj.in: Removed -kb storage in CVS to ensure these text - files are checked-out in the translation mode CVS is in. Setting - these as binary as part of an effort to make sure they are always - in CRLF, no matter what the CVS translation, is bypassing how CVS - works and is confusing. + files are checked-out in the translation mode CVS is in. Setting these + as binary as part of an effort to make sure they are always in CRLF, + no matter what the CVS translation, is bypassing how CVS works and is + confusing. - * tools/genStubs.tcl: Removed LF-only output. Having to reconvert - back to CRLF before committing to CVS was giving me a headache. - [Bug: 451333] + * tools/genStubs.tcl: Removed LF-only output. Having to reconvert + back to CRLF before committing to CVS was giving me a headache. [Bug + 451333] * win/makefile.vc: replaced $(WINDIR) with $(include32) for the - .rc.res inference rule. winver.h wasn't getting included. - [Bug: 445630] + .rc.res inference rule. winver.h wasn't getting included. [Bug 445630] 2001-08-14 Miguel Sofer * generic/tclBasic.c: make the intial maxNestingDepth of an - interpreter be MAX_NESTING_DEPTH instead of a hardwired value - [Bug: 232564] + interpreter be MAX_NESTING_DEPTH instead of a hardwired value. [Bug + 232564] 2001-08-13 Miguel Sofer - * tests/trace.test: Corrected test numbers [Bug: 449794] + * tests/trace.test: Corrected test numbers. [Bug 449794] 2001-08-12 Mo DeJong * unix/configure: Regen. * unix/configure.in: - * unix/tcl.m4: Use GCC variable set by AC_PROG_CC instead - of defining our own using_gcc variable. + * unix/tcl.m4: Use GCC variable set by AC_PROG_CC instead of defining + our own using_gcc variable. 2001-08-11 Vince Darley Variety of small issues introduced by the vfs code fixed: * generic/tclIOUtil.c: uninitialised read. - * generic/tclFCmd.c: possible memory leak in file delete - with error condition. + * generic/tclFCmd.c: possible memory leak in file delete with error + condition. 2001-08-10 Miguel Sofer - * generic/tclVar.c: + * generic/tclVar.c: * tests/trace.test: Insure that [array] traces work correctly for - undefined variables [Bug: 449094] + undefined variables. [Bug 449094] 2001-08-09 Mo DeJong - * unix/Makefile.in: Delete the unused getcwd.o - target. This fixes bug #440942. + * unix/Makefile.in: Delete the unused getcwd.o target. [Bug 440942] 2001-08-08 Don Porter @@ -2340,8 +2269,8 @@ * library/reg/pkgIndex.tcl: * library/tcltest/tcltest.tcl: * library/tcltest/pkgIndex.tcl: Added checks for package dependencies. - Bumped patchlevels of changed packages: http 2.3.2, msgcat 1.2.2, - opt 0.4.3, tcltest 2.0.1. [Patch 448931] + Bumped patchlevels of changed packages: http 2.3.2, msgcat 1.2.2, + opt 0.4.3, tcltest 2.0.1. [Patch 448931] * README: * generic/tcl.h: @@ -2351,9 +2280,9 @@ * unix/tcl.spec: * win/README.binary: * win/configure: - * win/configure.in: Bumped up patchlevel to 8.4a4 to distinguish - CVS snapshots from the 8.4a3 release. This does not necessarily - mean there will be an 8.4a4 release. [Bug 448938]. + * win/configure.in: Bumped up patchlevel to 8.4a4 to distinguish CVS + snapshots from the 8.4a3 release. This does not necessarily mean there + will be an 8.4a4 release. [Bug 448938] 2001-08-06 Jeff Hobbs @@ -2361,64 +2290,63 @@ * changes: * README: - * mac/README: + * mac/README: * unix/README: * win/README.binary: updated for 8.4a3 release - * generic/tclFileName.c (Tcl_FSSplitPath): update to Tcl style - guide. + * generic/tclFileName.c (Tcl_FSSplitPath): update to Tcl style guide. - * generic/tclFCmd.c (FileCopyRename): fixed mem leak in - introduction of vfs code where a new Tcl_Obj wasn't freed. + * generic/tclFCmd.c (FileCopyRename): fixed mem leak in introduction + of vfs code where a new Tcl_Obj wasn't freed. - * generic/tclCmdMZ.c (Tcl_RegexpObjCmd, Tcl_RegsubObjCmd): - reordered the retrieval of arguments to avoid shimmering bug when - the pattern and string referenced the same object. + * generic/tclCmdMZ.c (Tcl_RegexpObjCmd, Tcl_RegsubObjCmd): reordered + the retrieval of arguments to avoid shimmering bug when the pattern + and string referenced the same object. * unix/configure: regenerated - * unix/tcl.m4: added GNU (HURD) configuration target. (brinkmann) - [Patch: #442974] + * unixE/tcl.m4: added GNU (HURD) configuration target. + [Patch 442974] (brinkmann) * win/README: made note of URL for Windows compilation notes - * win/tclWinThrd.c (TclpFinalizeMutex, TclpFinalizeCondition): - added DeleteCriticalSection calls for cleanup [Patch: #419683] + * win/tclWinThrd.c (TclpFinalizeMutex, TclpFinalizeCondition): added + DeleteCriticalSection calls for cleanup [Patch 419683] * unix/tclUnixPipe.c (TclpCreateTempFile): fixed use of tmpnam, - which is dangerous. [Patch: #442636] (lim) + which is dangerous. [Patch 442636] (lim) The use of tmpnam in TclpTempFileName must still be changed. * tests/http.test (http-4.14): fixed variable error return. - [Bug: 424252] + [Bug 424252] 2001-08-03 Jeff Hobbs * win/configure: regenerated * win/tcl.m4: fixed DLLSUFFIX definition to always be ${DBGX}.dll. - This is necessary for TEA compliant builds that build shared - against a static-built Tcl. + This is necessary for TEA compliant builds that build shared against a + static-built Tcl. * win/Makefile.in ($(TCLSH)): added $(TCL_STUB_LIB_FILE) to build target, otherwise it wouldn't get generated in a static build. 2001-08-06 Andreas Kupries - * generic/tclIOCmd.c (Tcl_GetsObjCmd): Applied patch from SF item - [442665] to fix the bug reported by it. The function can corrupt - a freed object if it is called with objc == 3. This is because - it retrieves resultPtr and does not increment its reference - count, but then calls Tcl_ObjSetVar2, which causes the retrieved - resultPtr object to be released. - + * generic/tclIOCmd.c (Tcl_GetsObjCmd): Applied patch from [Bug 442665] + to fix the bug reported by it. The function can corrupt a freed object + if it is called with objc == 3. This is because it retrieves resultPtr + and does not increment its reference count, but then calls + Tcl_ObjSetVar2, which causes the retrieved resultPtr object to be + released. + 2001-08-06 Don Porter - * doc/tclsh.1: Added note that the tclsh program is frequently - installed with the Tcl version numer as part of the name. - [Patch 402725] + * doc/tclsh.1: Added note that the tclsh program is frequently + installed with the Tcl version numer as part of the name. [Patch + 402725] * generic/tclPkg.c: - * tests/pkg.test: [package forget] now forgets all of the - package arguments it receives, not stopping when a package is - not found. [Bug 415273] + * tests/pkg.test: [package forget] now forgets all of the package + arguments it receives, not stopping when a package is not found. [Bug + 415273] 2001-08-02 Jeff Hobbs @@ -2428,141 +2356,133 @@ 2001-08-02 Mo DeJong * generic/tclPlatDecls.h: - * win/tclWinPort.h: - Revert related changes made to improve - Cygwin support on 2001-07-18. This change ended - up breaking the VC++ build because of conflicts - between Windows APIs and internal Tk APIs. + * win/tclWinPort.h: Revert related changes made to improve + Cygwin support on 2001-07-18. This change ended up breaking the VC++ + build because of conflicts between Windows APIs and internal Tk APIs. 2001-08-01 Jeff Hobbs * unix/tclUnixFCmd.c: minor casts to eliminate warnings. (lim) - [Patch: #440218] + [Patch 440218] - * tests/parseOld.test: changed some tests that required - testwordend to exist to skip in a proper tcltest manner. - [Bug: #442663] + * tests/parseOld.test: changed some tests that required testwordend to + exist to skip in a proper tcltest manner. [Bug 442663] - * library/http/http.tcl (http::mapReply): the regsub'ing of \n and - \t to escape them was unnecessary. + * library/http/http.tcl (http::mapReply): the regsub'ing of \n and \t + to escape them was unnecessary. 2001-07-31 Vince Darley Changes from TIP#17 "Redo Tcl's filesystem" The following files were impacted: - * doc/Access.3: - * doc/FileSystem.3: - * doc/OpenFileChnl.3: - * doc/file.n: - * doc/glob.n: - * generic/tcl.decls: - * generic/tcl.h: - * generic/tclCmdAH.c: - * generic/tclCmdIL.c: - * generic/tclCmdMZ.c: - * generic/tclDate.c: - * generic/tclDecls.h: - * generic/tclEncoding.c: - * generic/tclFCmd.c: - * generic/tclFileName.c: - * generic/tclGetDate.y: - * generic/tclIO.c: - * generic/tclIOCmd.c: - * generic/tclIOUtil.c: - * generic/tclInt.decls: - * generic/tclInt.h: - * generic/tclIntDecls.h: - * generic/tclLoad.c: - * generic/tclStubInit.c: - * generic/tclTest.c: - * generic/tclUtil.c: - * library/init.tcl: - * mac/tclMacFCmd.c: - * mac/tclMacFile.c: - * mac/tclMacInit.c: - * mac/tclMacPort.h: - * mac/tclMacResource.c: - * mac/tclMacTime.c: - * tests/cmdAH.test: - * tests/event.test: - * tests/fCmd.test: - * tests/fileName.test: - * tests/io.test: - * tests/ioCmd.test: - * tests/proc-old.test: - * tests/registry.test: - * tests/unixFCmd.test: - * tests/winDde.test: - * tests/winFCmd.test: - * unix/mkLinks: - * unix/tclUnixFCmd.c: - * unix/tclUnixFile.c: - * unix/tclUnixInit.c: - * unix/tclUnixPipe.c: - * win/tclWinFCmd.c: - * win/tclWinFile.c: - * win/tclWinInit.c: - * win/tclWinPipe.c + * doc/Access.3: + * doc/FileSystem.3: + * doc/OpenFileChnl.3: + * doc/file.n: + * doc/glob.n: + * generic/tcl.decls: + * generic/tcl.h: + * generic/tclCmdAH.c: + * generic/tclCmdIL.c: + * generic/tclCmdMZ.c: + * generic/tclDate.c: + * generic/tclDecls.h: + * generic/tclEncoding.c: + * generic/tclFCmd.c: + * generic/tclFileName.c: + * generic/tclGetDate.y: + * generic/tclIO.c: + * generic/tclIOCmd.c: + * generic/tclIOUtil.c: + * generic/tclInt.decls: + * generic/tclInt.h: + * generic/tclIntDecls.h: + * generic/tclLoad.c: + * generic/tclStubInit.c: + * generic/tclTest.c: + * generic/tclUtil.c: + * library/init.tcl: + * mac/tclMacFCmd.c: + * mac/tclMacFile.c: + * mac/tclMacInit.c: + * mac/tclMacPort.h: + * mac/tclMacResource.c: + * mac/tclMacTime.c: + * tests/cmdAH.test: + * tests/event.test: + * tests/fCmd.test: + * tests/fileName.test: + * tests/io.test: + * tests/ioCmd.test: + * tests/proc-old.test: + * tests/registry.test: + * tests/unixFCmd.test: + * tests/winDde.test: + * tests/winFCmd.test: + * unix/mkLinks: + * unix/tclUnixFCmd.c: + * unix/tclUnixFile.c: + * unix/tclUnixInit.c: + * unix/tclUnixPipe.c: + * win/tclWinFCmd.c: + * win/tclWinFile.c: + * win/tclWinInit.c: + * win/tclWinPipe.c: 2001-07-24 Mo DeJong - * win/tclWinThrd.c (Tcl_CreateThread): Close Windows - HANDLE returned by _beginthreadex. The MS documentation - states that this handle is not closed by a later call to - _endthreadex. + * win/tclWinThrd.c (Tcl_CreateThread): Close Windows HANDLE returned + by _beginthreadex. The MS documentation states that this handle is not + closed by a later call to _endthreadex. 2001-07-21 Don Porter * doc/pkgMkindex.n: - * library/package.tcl: Corrected documentation and usage - message of [pkg_mkIndex]. + * library/package.tcl: Corrected documentation and usage message of + [pkg_mkIndex]. 2001-07-18 Mo DeJong - * generic/tclPlatDecls.h: Define TCHAR by including - windows.h instead of tchar.h since Cygwin does not - support the tchar.h header. Include CHECK_UNICODE_CALLS - logic from tclWinPort.h. - * win/tclWinPort.h: Remove CHECK_UNICODE_CALLS logic. - Remove include of windows.h since this now done it - tclPlatDecls.h. + * generic/tclPlatDecls.h: Define TCHAR by including windows.h instead + of tchar.h since Cygwin does not support the tchar.h header. Include + CHECK_UNICODE_CALLS logic from tclWinPort.h. + * win/tclWinPort.h: Remove CHECK_UNICODE_CALLS logic. Remove include + of windows.h since this now done it tclPlatDecls.h. * win/tclWinReg.c: Remove duplicate include of windows.h. 2001-07-18 Andreas Kupries - * generic/tclIO.c: Aftermath to [SF #427196]. Squash empty buffers - if they are smaller than the requested buffersize, to prevent - reusage of old buffers and to honor changes in the requested - buffersize made by the user. + * generic/tclIO.c: Aftermath to [Bug 427196]. Squash empty buffers if + they are smaller than the requested buffersize, to prevent reusage of + old buffers and to honor changes in the requested buffersize made by + the user. 2001-07-17 Mo DeJong - * win/tclWinFile.c (TclpReadlink): Add Cygwin specific definition - for the TclpReadlink function. This method implements reading of - symbolic links when build with Cygwin. + * win/tclWinFile.c (TclpReadlink): Add Cygwin specific definition for + the TclpReadlink function. This method implements reading of symbolic + links when build with Cygwin. 2001-07-17 Mo DeJong - * win/tclWinPort.h: Add Cygwin specific defines for environ - and timezone variables. + * win/tclWinPort.h: Add Cygwin specific defines for environ and + timezone variables. 2001-07-17 Andreas Kupries - * generic/tclIO.c (GetInput): Fixed [SF #427196]. Memory was - overwritten because a buffer was used after a change of the - requested buffersize together with that requested buffersize and - not its actual size, which was smaller. Note that the continous - reuse of the smaller buffer negatively impacts performance. The - system never allocates a buffer with the newly requested bigger - buffersize. + * generic/tclIO.c (GetInput): Fixed [Bug 427196]. Memory was + overwritten because a buffer was used after a change of the requested + buffersize together with that requested buffersize and not its actual + size, which was smaller. Note that the continous reuse of the smaller + buffer negatively impacts performance. The system never allocates a + buffer with the newly requested bigger buffersize. 2001-07-16 Mo DeJong - * generic/tcl.h: Define __WIN32__ when - __CYGWIN__ or __MINGW32__ is defined. - * generic/tclAlloc.c: Define caddr_t when - compiling with VC++ or mingw. This type is - already defined when compiling with Cygwin. + * generic/tcl.h: Define __WIN32__ when __CYGWIN__ or __MINGW32__ is + defined. + * generic/tclAlloc.c: Define caddr_t when compiling with VC++ or + mingw. This type is already defined when compiling with Cygwin. 2001-07-16 Mo DeJong @@ -2571,9 +2491,9 @@ * win/tclWinPort.h: * win/tclWinSerial.c: * win/tclWinThrd.c: - Remove unnecessary #includes of dos.h, direct.h, - and tchar.h. This will help the Cygwin porting - effort since these headers do not exist under Cygwin. + Remove unnecessary #includes of dos.h, direct.h, and tchar.h. This + will help the Cygwin porting effort since these headers do not exist + under Cygwin. 2001-07-16 Jeff Hobbs @@ -2581,74 +2501,70 @@ just the TerminateThread call and waiting for termination. (jsmith) * generic/tclCmdMZ.c: Removed extra copy of the SCAN_* macros - #defined in generic/tclScan.c. (porter) [Bug 441230] + #defined in generic/tclScan.c. [Bug 441230] (porter) 2001-07-12 Donal K. Fellows * tests/unixInit.test (unixInit-2.8): Added extra constraint, - notInstalledInTmp, to stop this test from damaging installations - in /tmp; not much fun to have to reinstall the Tcl library every - time you run the test suite! + notInstalledInTmp, to stop this test from damaging installations in + /tmp; not much fun to have to reinstall the Tcl library every time you + run the test suite! - * tests/subst.test (subst-10.*): Updated tests to check new - behaviour for 'break' in command substitutions. + * tests/subst.test (subst-10.*): Updated tests to check new behaviour + for 'break' in command substitutions. (subst-1.2,subst-7.1): Error messages changed. * doc/SubstObj.3: New file, to document Tcl_SubstObj. - * doc/subst.n: Improved and updated documentation for 'subst' to - help support the changed behaviour. + * doc/subst.n: Improved and updated documentation for 'subst' to help + support the changed behaviour. * generic/tcl.decls (generic-437): Declaration for Tcl_SubstObj * generic/tcl.h (TCL_SUBST_*): Added flags for Tcl_SubstObj. - * generic/tclCmdMZ.c (Tcl_SubstObj,Tcl_SubstObjCmd): Divided into - two parts to allow people to access the innards of 'subst' and - changed the behaviour when command substitutions do a 'break' to - be different from 'continue'. Also now works with objects, which - allows for some nifty optimisations with variable substitutions - and a slight improvement with command substitutions. [TIP#36] + * generic/tclCmdMZ.c (Tcl_SubstObj,Tcl_SubstObjCmd): Divided into two + parts to allow people to access the innards of 'subst' and changed the + behaviour when command substitutions do a 'break' to be different from + 'continue'. Also now works with objects, which allows for some nifty + optimisations with variable substitutions and a slight improvement + with command substitutions. [TIP#36] 2001-07-10 Mo DeJong * unix/Makefile.in: Add AR variable for use in STLIB_LD. * unix/configure: Regen. - * unix/configure.in: Use STLIB_LD when defining MAKE_LIB - and MAKE_STUB_LIB. Subst RANLIB and AR. - * unix/tcl.m4 (SC_CONFIG_CFLAGS): Add doc comment about - STLIB_LD command. Check ${AR} env var when setting - STLIB_LD and delay evaluation until make time. + * unix/configure.in: Use STLIB_LD when defining MAKE_LIB and + MAKE_STUB_LIB. Subst RANLIB and AR. + * unix/tcl.m4 (SC_CONFIG_CFLAGS): Add doc comment about STLIB_LD + command. Check ${AR} env var when setting STLIB_LD and delay + evaluation until make time. * win/configure: Regen. - * win/tcl.m4 (SC_CONFIG_CFLAGS): Delay evaluation of - ${AR} in STLIB_LD and add flags to better match the - Unix implementation. Don't bother defining AR when - using VC++ since it is not used. + * win/tcl.m4 (SC_CONFIG_CFLAGS): Delay evaluation of ${AR} in STLIB_LD + and add flags to better match the Unix implementation. Don't bother + defining AR when using VC++ since it is not used. 2001-07-06 Mo DeJong * win/configure: Regen. - * win/tcl.m4 (SC_CONFIG_CFLAGS): Pass -e _WinMain@16 in - addition to the -mwindows flag to work around a problem - with ld when it incorrectly use main() as the executable - entry point when both WinMain() and main() are available. + * win/tcl.m4 (SC_CONFIG_CFLAGS): Pass -e _WinMain@16 in addition to + the -mwindows flag to work around a problem with ld when it + incorrectly use main() as the executable entry point when both + WinMain() and main() are available. 2001-07-06 Donal K. Fellows - * tests/cmdAH.test: Added leading zero to file modes to work - around fault in HPUX strtol() which ignores the base parameter - [Bug #438808] + * tests/cmdAH.test: Added leading zero to file modes to work around + fault in HPUX strtol() which ignores the base parameter. [Bug 438808] 2001-07-05 Mo DeJong - * win/Makefile.in: Subst DEPARG directly instead - of relying on a variable. This will make Cygwin - builds faster since an extra exec will be avoided. + * win/Makefile.in: Subst DEPARG directly instead of relying on a + variable. This will make Cygwin builds faster since an extra exec will + be avoided. * win/configure: Regen. * win/configure.in: Subst DEPARG. - * win/tcl.m4 (SC_CONFIG_CFLAGS): Move AC_MSG_CHECKING - after the AC_CHECK_PROG so that status messages do - not get mixed together. Set DEPARG based on the - results of the cygpath check so that we avoid using - an extra exec when it is not needed. Use ac_cv_cygwin - status flag instead of looking at the output of - gcc -v, which works in the case where -mno-cygwin is - set in the CFLAGS. + * win/tcl.m4 (SC_CONFIG_CFLAGS): Move AC_MSG_CHECKING after the + AC_CHECK_PROG so that status messages do not get mixed together. Set + DEPARG based on the results of the cygpath check so that we avoid + using an extra exec when it is not needed. Use ac_cv_cygwin status + flag instead of looking at the output of gcc -v, which works in the + case where -mno-cygwin is set in the CFLAGS. 2001-07-04 Jeff Hobbs @@ -2663,32 +2579,30 @@ * win/Makefile.in: Remove PATHTYPE variable. * win/configure: Regen. * win/configure.in: Don't subst PATHTYPE. - * win/tcl.m4 (SC_CONFIG_CFLAGS): Remove PATHTYPE - variable. Set CYGPATH to "cygpath -w" if the - cygpath executable is found on the path. This - approach works for native Cygwin builds and - cross compiles. + * win/tcl.m4 (SC_CONFIG_CFLAGS): Remove PATHTYPE variable. Set CYGPATH + to "cygpath -w" if the cygpath executable is found on the path. This + approach works for native Cygwin builds and cross compiles. 2001-07-03 Jeff Hobbs * tests/var.test: * generic/tclVar.c (Tcl_VariableObjCmd): added patch to check for - number of args. [Patch #426038] + number of args. [Patch 426038] * generic/tclVar.c (Tcl_GetVar2Ex): added ability to recognize - TCL_TRACE_READS flags to cause creation of part1 in TclLookupVar - to make sure newly created array will get read traces triggered - appropriately. This is called by Tcl_ObjGetVar2, Tcl_GetVar, and + TCL_TRACE_READS flags to cause creation of part1 in TclLookupVar to + make sure newly created array will get read traces triggered + appropriately. This is called by Tcl_ObjGetVar2, Tcl_GetVar, and Tcl_GetVar2. - (TclSetIndexedScalar, TclSetElementOfIndexedArray): added read - trace triggering for lappend case. - (Tcl_LappendObjCmd): pass TCL_TRACE_READS to Tcl_ObjGetVar2 to - trigger possible read traces for new arrays. + (TclSetIndexedScalar, TclSetElementOfIndexedArray): added read trace + triggering for lappend case. + (Tcl_LappendObjCmd): pass TCL_TRACE_READS to Tcl_ObjGetVar2 to trigger + possible read traces for new arrays. * generic/tclExecute.c (TclExecuteByteCode): added TCL_TRACE_READS - flag to INST_LAPPEND(_ARRAY)_STK case to trigger read traces for - newly created arrays. Removed unnecessary #ifdef for - TCL_COMPILE_DEBUG in INST_LOAD_SCALAR1 case. + flag to INST_LAPPEND(_ARRAY)_STK case to trigger read traces for newly + created arrays. Removed unnecessary #ifdef for TCL_COMPILE_DEBUG in + INST_LOAD_SCALAR1 case. * tests/append.test: * tests/appendComp.test: added tests for read trace triggering for @@ -2696,98 +2610,96 @@ 2001-07-03 Mo DeJong - * tests/clock.test (clock-2.5): Adjust test so that it passes - when the time slice is 60 msecs, now passes under Windows 98. + * tests/clock.test (clock-2.5): Adjust test so that it passes when the + time slice is 60 msecs, now passes under Windows 98. 2001-07-03 Mo DeJong - * win/tcl.m4 (SC_CONFIG_CFLAGS): Don't pass the v flag - to ${AR} when using gcc, verbose output is not needed. + * win/tcl.m4 (SC_CONFIG_CFLAGS): Don't pass the v flag to ${AR} when + using gcc, verbose output is not needed. 2001-07-03 Don Porter * tests/unixInit.test (unixInit-2.8): Changed test back to using - installation layout, adding comments explaining why the test writes - to the directories it does, and checks to avoid destroying other - files in /tmp. + installation layout, adding comments explaining why the test writes to + the directories it does, and checks to avoid destroying other files in + /tmp. 2001-07-03 Donal K. Fellows * tests/unixInit.test (unixInit-1.2): Fixed faults reported in - Bug#438070 - well, at least enough to work on Solaris - and added + [Bug 438070] - well, at least enough to work on Solaris - and added comments that should make what is going on in the test clearer. 2001-07-02 Jeff Hobbs * tests/util.test: added util-4.6 - * generic/tclUtil.c (Tcl_ConcatObj): Corrected walking backwards - over utf-8 chars. [Bug #227512] + * generic/tclUtil.c (Tcl_ConcatObj): Corrected walking backwards over + utf-8 chars. [Bug 227512] 2001-07-02 Don Porter - * tests/unixInit.test (unixInit-2.8): Corrected test for all - absolute pathnames in library path when executable is installed - near root directory to use correct development directory layout. - [Bug 438014] + * tests/unixInit.test (unixInit-2.8): Corrected test for all absolute + pathnames in library path when executable is installed near root + directory to use correct development directory layout. [Bug 438014] - * tests/unixInit.test (unixInit-2.9): + * tests/unixInit.test (unixInit-2.9): * unix/tclUnixInit.c (TclpInitLibraryPath): * win/tclWinInit.c (TclpInitLibraryPath): Corrected buggy - construction of search path entries relative to executable. - Added test for bad construction. [Bug 438014] + construction of search path entries relative to executable. Added test + for bad construction. [Bug 438014] 2001-06-28 Miguel Sofer - * generic/tclNamesp.c: Correction to faulty patch from [Bug: 231259] + * generic/tclNamesp.c: Correction to faulty patch from [Bug 231259] 2001-06-28 Donal K. Fellows - * tests/unixInit.test (unixInit-1.2): Modified so as not to - require a local echo service, which fails on many systems which - have that turned off for security reasons... + * tests/unixInit.test (unixInit-1.2): Modified so as not to require a + local echo service, which fails on many systems which have that turned + off for security reasons... 2001-06-27 Jeff Hobbs * generic/tclInt.h: * generic/tclObj.c: * unix/Makefile.in: added a -DPURIFY mode that makes Tcl_Obj's - allocated and free singularly (instead of in alloc in blocks and - never free) to allow checkers like Purify to operate better. + allocated and free singularly (instead of in alloc in blocks and never + free) to allow checkers like Purify to operate better. * library/encoding/koi8-u.enc: added koi8-u (Ukranian variant) encoding. * tests/subst.test: - * generic/tclUtf.c (Tcl_UtfBackslash): Corrected backslash - handling of multibyte utf-8 chars. [Bug #217987] + * generic/tclUtf.c (Tcl_UtfBackslash): Corrected backslash handling of + multibyte utf-8 chars. [Bug 217987] - * generic/tclCmdIL.c (InfoProcsCmd): fixed potential mem leak in - info procs that created objects without using them. + * generic/tclCmdIL.c (InfoProcsCmd): fixed potential mem leak in info + procs that created objects without using them. * generic/tclCompCmds.c (TclCompileStringCmd): fixed mem leak when string command failed to parse the subcommand. * doc/interp.n: - * doc/unknown.n: updated notes about what is in a safe interp. - [Bug #218605] + * doc/unknown.n: updated notes about what is in a safe interp. [Bug + 218605] 2001-06-27 Donal K. Fellows - * tests/event.test (event-11.5): Removed hard-coded port number - which could fail on some systems. [Bug #436727] + * tests/event.test (event-11.5): Removed hard-coded port number which + could fail on some systems. [Bug 436727] 2001-06-26 Mo DeJong * unix/Makefile.in: - * win/Makefile.in: Add `make shell` target. This target - will set the proper env vars before invoking tclsh - from the build directory. + * win/Makefile.in: Add `make shell` target. This target will set the + proper env vars before invoking tclsh from the build directory. 2001-06-26 Mo DeJong - * win/Makefile.in: Use : to separate VPATH entries. This - works for both Cygwin builds and cross builds, the VPSEP - variable is simply unneeded complexity. + * win/Makefile.in: Use : to separate VPATH entries. This works for + both Cygwin builds and cross builds, the VPSEP variable is simply + unneeded complexity. * win/configure: Regen. * win/configure.in: Don't subst VPSEP. * win/tcl.m4 (SC_CONFIG_CFLAGS): Remove VPSEP variable. @@ -2795,17 +2707,17 @@ 2001-06-26 Mo DeJong * unix/configure: Regen. - * unix/configure.in: Fix last checkin by removing - export since that only works in bash. + * unix/configure.in: Fix last checkin by removing export since that + only works in bash. * win/configure: Regen. * win/configure.in: Ditto. 2001-06-26 Mo DeJong * unix/configure: Regen. - * unix/configure.in: Set CFLAGS to "" if the user - did not set CFLAGS in the env. This keeps AC_PROG_CC - from adding "-g -O2" to the CFLAGS by default. + * unix/configure.in: Set CFLAGS to "" if the user did not set CFLAGS + in the env. This keeps AC_PROG_CC from adding "-g -O2" to the CFLAGS + by default. * win/configure: Regen. * win/configure.in: Ditto. @@ -2813,28 +2725,27 @@ * win/configure: Regen. * win/configure.in: Use RC_DEFINE flag from tcl.m4. - * win/tcl.m4 (SC_CONFIG_CFLAGS): Set RC_DEFINE - flag based on the compiler in use. - + * win/tcl.m4 (SC_CONFIG_CFLAGS): Set RC_DEFINE flag based on the + compiler in use. + 2001-06-25 Mo DeJong - * win/tcl.m4 (SC_CONFIG_CFLAGS): Link to the - imm32 library when building with mingw gcc. + * win/tcl.m4 (SC_CONFIG_CFLAGS): Link to the imm32 library when + building with mingw gcc. 2001-06-25 Mo DeJong * win/configure: Regen. - * win/tcl.m4 (SC_CONFIG_CFLAGS): When building with - gcc, don't attempt to link with LD or support dllwrap. - Simply require a recent version of Cygwin gcc or Mingw - gcc that supports -shared. When linking, use gcc instead - of ld since gcc automatically includes libs like -lmsvcrt. + * win/tcl.m4 (SC_CONFIG_CFLAGS): When building with gcc, don't attempt + to link with LD or support dllwrap. Simply require a recent version of + Cygwin gcc or Mingw gcc that supports -shared. When linking, use gcc + instead of ld since gcc automatically includes libs like -lmsvcrt. 2001-06-22 Mo DeJong * win/configure: Regen. - * win/configure.in: Add resource compiler fix from - 8.3.3 to fix compiling with mingw. + * win/configure.in: Add resource compiler fix from 8.3.3 to fix + compiling with mingw. 2001-06-22 Mo DeJong @@ -2843,63 +2754,61 @@ 2001-06-22 Mo DeJong - * unix/Makefile.in: Set CFLAGS to @CFLAGS@ and @CFLAGS_DEFAULT@. - Set LDFLAGS to @LDFLAGS@ and @LDFLAGS_DEFAULT@. Add LDFLAGS_DEBUG - and LDFLAGS_OPTIMIZE to match the way CFLAGS_DEFAULT works. - This will support user set CFLAGS or LDFLAGS at configure time. + * unix/Makefile.in: Set CFLAGS to @CFLAGS@ and @CFLAGS_DEFAULT@. Set + LDFLAGS to @LDFLAGS@ and @LDFLAGS_DEFAULT@. Add LDFLAGS_DEBUG and + LDFLAGS_OPTIMIZE to match the way CFLAGS_DEFAULT works. This will + support user set CFLAGS or LDFLAGS at configure time. * unix/configure: Regen. * unix/configure.in: Don't set CFLAGS to CFLAGS_DEFAULT, instead - subst CFLAGS_DEFAULT into the Makefile. Add AC_SUBST for CFLAGS_DEFAULT, - LDFLAGS_DEFAULT, LDFLAGS_DEBUG, and LDFLAGS_OPTIMIZE. - * unix/tcl.m4 (SC_ENABLE_SYMBOLS): Modify LDFLAGS_DEFAULT so that - it uses a Makefile variable just like CFLAGS_DEFAULT. - * win/Makefile.in: Set CFLAGS to @CFLAGS@ and @CFLAGS_DEFAULT@. - Set LDFLAGS to @LDFLAGS@ and @LDFLAGS_DEFAULT@. - This will support user set CFLAGS or LDFLAGS at configure time. + subst CFLAGS_DEFAULT into the Makefile. Add AC_SUBST for + CFLAGS_DEFAULT, LDFLAGS_DEFAULT, LDFLAGS_DEBUG, and LDFLAGS_OPTIMIZE. + * unix/tcl.m4 (SC_ENABLE_SYMBOLS): Modify LDFLAGS_DEFAULT so that it + uses a Makefile variable just like CFLAGS_DEFAULT. + * win/Makefile.in: Set CFLAGS to @CFLAGS@ and @CFLAGS_DEFAULT@. Set + LDFLAGS to @LDFLAGS@ and @LDFLAGS_DEFAULT@. This will support user set + CFLAGS or LDFLAGS at configure time. * win/configure: Regen. * win/configure.in: Don't set CFLAGS or LDFLAGS, instead subst CFLAGS_DEFAULT and LDFLAGS_DEFAULT into the Makefile. - * win/tcl.m4 (SC_ENABLE_SYMBOLS): Modify LDFLAGS_DEFAULT so that - it uses a Makefile variable just like CFLAGS_DEFAULT. + * win/tcl.m4 (SC_ENABLE_SYMBOLS): Modify LDFLAGS_DEFAULT so that it + uses a Makefile variable just like CFLAGS_DEFAULT. 2001-06-22 Mo DeJong * win/configure: - * win/tcl.m4 (SC_CONFIG_CFLAGS): Don't set LDFLAGS_DEBUG - to -g or LDFLAGS_OPTIMIZE to -O when compiling with gcc. - These flags are not needed and can cause problems with - the Cygwin version of ld. + * win/tcl.m4 (SC_CONFIG_CFLAGS): Don't set LDFLAGS_DEBUG to -g or + LDFLAGS_OPTIMIZE to -O when compiling with gcc. These flags are not + needed and can cause problems with the Cygwin version of ld. 2001-06-18 Donal K. Fellows - * tests/unixInit.test (unixInit-1.2,unixInit-2.8): Added test for - code described below, and fixed a couple of errors that caused - problems during testing; the code to determine the installedTcl - constraint was wrong, and test unixInit-2.8 assumed that /tmp/lib - was free for use and could be deleted, which clashed nastily with - my installation and made other tests fail unnecessarily! + * tests/unixInit.test (unixInit-1.2,unixInit-2.8): Added test for code + described below, and fixed a couple of errors that caused problems + during testing; the code to determine the installedTcl constraint was + wrong, and test unixInit-2.8 assumed that /tmp/lib was free for use + and could be deleted, which clashed nastily with my installation and + made other tests fail unnecessarily! * unix/tclUnixChan.c (TtyInit,TclpOpenFileChannel, - Tcl_MakeFileChannel,TclpGetDefaultStdChannel): Alterations so that - the standard channels - stdin, stdout and stderr - have the - correct type and fconfigure options. This required making the - initialisation of serial lines a little more sophisticated to - make the console behave correctly in interactive mode... [Bug - #219137 and duplicates] + (Tcl_MakeFileChannel,TclpGetDefaultStdChannel): Alterations so that + the standard channels - stdin, stdout and stderr - have the correct + type and fconfigure options. This required making the initialisation + of serial lines a little more sophisticated to make the console behave + correctly in interactive mode... [Bug 219137 and duplicates] 2001-06-16 Don Porter * generic/tclInt.decls: - * generic/tclInt.h: + * generic/tclInt.h: * generic/tclPanic.c (Tcl_PanicVA): * mac/tclMacAppInit.c (main): * mac/tclMacPanic.c (TclpPanic): * unix/tclUnixPort.h: - * win/tclWinPort.h: Replaced TclMacSetPanic with TclpPanic - for setting a platform-specific panic handler. TclpPanic - is NULL on Unix and Windows. Fixes broken wish on Mac due - to earlier patches. [Patch 415648] - + * win/tclWinPort.h: Replaced TclMacSetPanic with TclpPanic for setting + a platform-specific panic handler. TclpPanic is NULL on Unix and + Windows. Fixes broken wish on Mac due to earlier patches. [Patch + 415648] + * generic/tclIntPlatDecls.h: * generic/tclStubInit.c: `make gentubs` after above changes. @@ -2912,9 +2821,9 @@ 2001-06-12 Donal K. Fellows - * tests/regexp.test (regexp-18.12): + * tests/regexp.test (regexp-18.12): * generic/tclCmdMZ.c (Tcl_RegexpObjCmd): Fixed so that submatches - that do not match always have index pair {-1 -1} [Bug #219232] + that do not match always have index pair {-1 -1} [Bug 219232] 2001-06-08 Don Porter @@ -2927,11 +2836,10 @@ * mac/tclMacAppInit.c (main): * mac/tclMacBOAAppInit.c (main): * mac/tclMacPanic.c: Modified special Mac implementations of - Tcl_*Panic* to be exact copies of the generic implementations. - Added TclMacSetPanic. The generic implementations should be - used directly, rather than copies, but that requires further - changes by someone familiar with the Mac build systems. - [Patch 415648] + Tcl_*Panic* to be exact copies of the generic implementations. Added + TclMacSetPanic. The generic implementations should be used directly, + rather than copies, but that requires further changes by someone + familiar with the Mac build systems. [Patch 415648] * generic/tclDecls.h: * generic/tclIntPlatDecls.h: @@ -2939,24 +2847,24 @@ * doc/Panic.3: * unix/mkLinks: New file documenting Tcl_*Panic* public interfaces, - followed by `make mklinks`. [Patch 415648, Bug 219170, Bug 414936] + followed by `make mklinks`. [Patch 415648, Bug 219170, Bug 414936] 2001-06-03 Jeff Hobbs * generic/tclUtil.c (Tcl_DStringAppendElement): patch to save an - extra strlen call. [Bug #428572] + extra strlen call. [Bug 428572] 2001-05-30 Donal K. Fellows * generic/tclExecute.c (TclExecuteByteCode): Added two casts to - INST_STR_CMP implementation to get rid of a couple warnings from - the SUNWspro C compiler. - - * generic/tclBasic.c (Tcl_GetMathFuncInfo,Tcl_ListMathFuncs): - * generic/tclCmdIL.c (Tcl_InfoObjCmd,InfoFunctionsCmd): - * generic/tcl.decls (generic table, positions 435+436): - * tests/info.test: - * doc/CrtMathFnc.3: + INST_STR_CMP implementation to get rid of a couple warnings from the + SUNWspro C compiler. + + * generic/tclBasic.c (Tcl_GetMathFuncInfo,Tcl_ListMathFuncs): + * generic/tclCmdIL.c (Tcl_InfoObjCmd,InfoFunctionsCmd): + * generic/tcl.decls (generic table, positions 435+436): + * tests/info.test: + * doc/CrtMathFnc.3: * doc/info.n: Changes due to TIP #15 "Functions to List and Detail Math Functions" @@ -2968,32 +2876,31 @@ * generic/regc_locale.c: updated character class range data for Unicode v3.1.0 compliance. - * generic/tclUniData.c: regenerated from Unicode v3.1.0 data file - (new as of 2001-05-16). This brings Tcl to current unicode - compliance. + * generic/tclUniData.c: regenerated from Unicode v3.1.0 data file (new + as of 2001-05-16). This brings Tcl to current unicode compliance. * tests/utf.test: added tests to check unicode 3 compliance * unix/Makefile.in (tclUtf.o): added tclUniData.c dependency. - * tools/uniClass.tcl: added comments to output format and the - script for clarification. + * tools/uniClass.tcl: added comments to output format and the script + for clarification. - * tools/uniParse.tcl: corrected filename output and GetDelta macro - to use 'info' as param (was 'infO') + * tools/uniParse.tcl: corrected filename output and GetDelta macro to + use 'info' as param (was 'infO') 2001-05-26 Donal K. Fellows * generic/tclVar.c (tclArraySearchType,SetArraySearchObj, - ParseSearchId): Added code to speed up array searching by reducing + (ParseSearchId): Added code to speed up array searching by reducing the amount of parsing needed for searchIds. - * generic/tclObj.c (TclInitObjSubsystem): - * generic/tclIndexObj.c (Tcl_GetIndexFromObjStruct): - * generic/tclNamesp.c (TclInitNamespaceSubsystem): + * generic/tclObj.c (TclInitObjSubsystem): + * generic/tclIndexObj.c (Tcl_GetIndexFromObjStruct): + * generic/tclNamesp.c (TclInitNamespaceSubsystem): * generic/tclInt.h: Moved some Tcl_ObjType initialisation to - TclInitObjSubsystem to be with the bulk of the rest. - [Patch 424851] Committed by Miguel Sofer + TclInitObjSubsystem to be with the bulk of the rest. [Patch 424851] + Committed by Miguel Sofer 2001-05-23 Jeff Hobbs @@ -3015,31 +2922,29 @@ * library/encoding/iso8859-8.enc: * library/encoding/iso8859-10.enc (new): * library/encoding/iso8859-13.enc (new): - * library/encoding/iso8859-14.enc (new): updated encoding tables - based on http://www.unicode.org/Public/MAPPINGS/. (kuhn) + * library/encoding/iso8859-14.enc (new): updated encoding tables based + on http://www.unicode.org/Public/MAPPINGS/. (kuhn) 2001-05-23 Mo DeJong - * unix/tcl.m4 (SC_PATH_TCLCONFIG): Fix comments, - and typo in cached variable name. + * unix/tcl.m4 (SC_PATH_TCLCONFIG): Fix comments, and typo in cached + variable name. 2001-05-23 Mo DeJong - * unix/tcl.m4 (SC_LOAD_TKCONFIG): - Remove use of undefined TCLCONFIG variable and - call AC_MSG_RESULT to print the checking result. + * unix/tcl.m4 (SC_LOAD_TKCONFIG): Remove use of undefined TCLCONFIG + variable and call AC_MSG_RESULT to print the checking result. * win/tcl.m4: Ditto. 2001-05-22 Jeff Hobbs * generic/tclObj.c (TclAllocateFreeObjects): simplified - objSizePlusPadding to use sizeof(Tcl_Obj) (max) - Corrected use of tclObjsAlloced/Freed/Shared in TCL_MEM_DEBUG - compile. + objSizePlusPadding to use sizeof(Tcl_Obj) (max) Corrected use of + tclObjsAlloced/Freed/Shared in TCL_MEM_DEBUG compile. 2001-05-22 Miguel Sofer - * generic/tclExecute.c: removed Tcl_DuplicateObj in INST_DUP + * generic/tclExecute.c: removed Tcl_DuplicateObj in INST_DUP 2001-05-21 Jeff Hobbs @@ -3047,13 +2952,13 @@ getting affected by Windows env handling of empty valued elements. * unix/tcl.m4: added more common install directories in which to - search for *Config.sh [Bug #419812] + search for *Config.sh. [Bug 419812] - * tests/cmdMZ.test (cmdMZ-1.4): added notLinux constraint to test - to prevent failure message on Linux due to OS caching bug. + * tests/cmdMZ.test (cmdMZ-1.4): added notLinux constraint to test to + prevent failure message on Linux due to OS caching bug. - * tests/httpd (httpdRespond): added response to timeout value in - query string. + * tests/httpd (httpdRespond): added response to timeout value in query + string. * tests/http.test: removed unused notLinux constraint setting @@ -3063,61 +2968,58 @@ 2001-05-19 Andreas Kupries * Note that "tclbench" (see project "tcllib") was extended with - performance benchmarks for [fcopy] too. + performance benchmarks for [fcopy] too. * doc/fcopy.n: Updated to reflect the extended behaviour of 'fcopy'. - * tests/io.test: Added tests 'io-52.9', 'io-52.10' and 'io-52.11' - to test the handling of encodings by 'fcopy' / 'TclCopychannel' - [Bug #209210]. + * tests/io.test: Added tests 'io-52.9', 'io-52.10' and 'io-52.11' to + test the handling of encodings by 'fcopy' / 'TclCopychannel'. [Bug + 209210] - * generic/tclIO.c: Split of both 'Tcl_ReadChars' and - 'Tcl_WriteChars' into a public error checking and an internal - working part. The public functions now use the new internal - ones. The new functions are 'DoReadChars' and 'DoWriteChars'. - Extended 'CopyData' to use the new functions 'DoXChars' when - required by the encodings on the input and output channels - [Bug #209210]. + * generic/tclIO.c: Split of both 'Tcl_ReadChars' and 'Tcl_WriteChars' + into a public error checking and an internal working part. The public + functions now use the new internal ones. The new functions are + 'DoReadChars' and 'DoWriteChars'. Extended 'CopyData' to use the new + functions 'DoXChars' when required by the encodings on the input and + output channels. [Bug 209210] 2001-05-16 Jeff Hobbs - * library/history.tcl (tcl::HistAdd): prevent empty calls from - being added to the history (arndt) + * library/history.tcl (tcl::HistAdd): prevent empty calls from being + added to the history (arndt) - * tests/error.test: updated error-1.3 message to account for - string index being compiled at toplevel. + * tests/error.test: updated error-1.3 message to account for string + index being compiled at toplevel. * tests/appendComp.test: * tests/stringComp.test: new files for extended bytecode testing * generic/tclBasic.c: added new CompileProc invocations to basic command initialization. * generic/tclCompCmds.c: added new compile commands for append, - lappend, lindex and llength. Refactored set and incr compile - commands to use new TclPushVarName function for handling the - varname component during compilation (also used by append and - lappend). Changed string compile command to compile toplevel code - as well (when possible). + lappend, lindex and llength. Refactored set and incr compile commands + to use new TclPushVarName function for handling the varname component + during compilation (also used by append and lappend). Changed string + compile command to compile toplevel code as well (when possible). * generic/tclCompile.c: added new instruction enums * generic/tclCompile.h: added debug info for new instructions - * generic/tclExecute.c (TclExecuteByteCode): moved elemPtr to - toplevel var (oft-used). Added definitions for new bytecode - instructions INST_LIST_INDEX, INST_LIST_LENGTH, INST_APPEND_SCALAR1, + * generic/tclExecute.c (TclExecuteByteCode): moved elemPtr to toplevel + var (oft-used). Added definitions for new bytecode instructions + INST_LIST_INDEX, INST_LIST_LENGTH, INST_APPEND_SCALAR1, INST_APPEND_SCALAR4, INST_APPEND_ARRAY1, INST_APPEND_ARRAY4, INST_APPEND_ARRAY_STK, INST_APPEND_STK, INST_LAPPEND_SCALAR1, INST_LAPPEND_SCALAR4, INST_LAPPEND_ARRAY1, INST_LAPPEND_ARRAY4, INST_LAPPEND_ARRAY_STK, INST_LAPPEND_STK. Refactored repititious code for reuse with INST_LOAD_STK (same as - INST_LOAD_SCALAR_STK), INST_STORE_STK (same as - INST_STORE_SCALAR_STK). + INST_LOAD_SCALAR_STK), INST_STORE_STK (same as INST_STORE_SCALAR_STK). Updated INST_STR_CMP with style of fix of 2001-04-06 Fellows - [Bug #219201] as that fix only affected the runtime eval'ed - "string" (string compare is normally byte-compiled now). We - may want to back these out for speed in the future, noting the - problems with \x00 comparisons in the docs. + [Bug 219201] as that fix only affected the runtime eval'ed "string" + (string compare is normally byte-compiled now). We may want to back + these out for speed in the future, noting the problems with \x00 + comparisons in the docs. * generic/tclInt.h: declarations for new compile commands. * generic/tclVar.c: change TclGetIndexedScalar, TclGetElementOfIndexedArray, TclSetElementOfIndexedArray and - TclSetIndexedScalar to use flags. The Set functions now support + TclSetIndexedScalar to use flags. The Set functions now support TCL_APPEND_ELEMENT and TCL_LIST_ELEMENT as well. * generic/tclInt.decls: * generic/tclIntDecls.h: minor signature changes for above. @@ -3126,7 +3028,7 @@ 2001-05-16 Donal K. Fellows - * doc/console.n: Deleted. Put it in the wrong source tree! D'oh! + * doc/console.n: Deleted. Put it in the wrong source tree! D'oh! 2001-05-15 Jeff Hobbs @@ -3136,8 +3038,8 @@ * generic/tclStringObj.c (Tcl_GetUnicodeFromObj): new function to parallel Tcl_GetStringFromObj (fix of an API oversight). - * unix/tclUnixPipe.c: updated pipeChannelType to - TCL_CHANNEL_VERSION_2 type specification. + * unix/tclUnixPipe.c: updated pipeChannelType to TCL_CHANNEL_VERSION_2 + type specification. * tests/fileName.test: corrected tests not to fail on win when a C:/test dir exists. @@ -3146,82 +3048,80 @@ 2001-05-15 Miguel Sofer - * tests/lindex.test: added test for nested braces [Patch: 423617] + * tests/lindex.test: added test for nested braces [Patch 423617] 2001-05-15 Miguel Sofer - * generic/tclInt.h - * generic/tclNamesp.c: invalidate all bytecodes in a namespace if - a new command shadows a bytecoded command. - * tests/namespace.test - Patched from [Bug: 231259] + * generic/tclInt.h: + * generic/tclNamesp.c: invalidate all bytecodes in a namespace if a + new command shadows a bytecoded command. + * tests/namespace.test: + Patched from [Bug 231259] 2001-05-15 Donal K. Fellows - * doc/console.n: Created. It seems very odd to me that the - console implementation is part of the Tcl distribution and not - part of Tk, but given the location of the source, the - documentation must obviously match up... + * doc/console.n: Created. It seems very odd to me that the console + implementation is part of the Tcl distribution and not part of Tk, but + given the location of the source, the documentation must obviously + match up... 2001-05-14 Donal K. Fellows - * generic/tclCmdMZ.c (Tcl_StringObjCmd): - * tests/string.test (string-4.14): Negative string indices should - not be added as offsets to the result of [string first] but - instead be treated as referring to the start of the string. - [Bug: 423581] + * generic/tclCmdMZ.c (Tcl_StringObjCmd): + * tests/string.test (string-4.14): Negative string indices should not + be added as offsets to the result of [string first] but instead be + treated as referring to the start of the string. [Bug 423581] 2001-05-11 Mo DeJong - * unix/Makefile.in: Add a LDFLAGS variable to the - Makefile instead of directly substing @LDFLAGS@. + * unix/Makefile.in: Add a LDFLAGS variable to the Makefile instead of + directly substing @LDFLAGS@. * unix/configure: Regen. - * unix/tcl.m4: Fix CFLAGS_DEFAULT so that the name - of a Makefile variable is passed as @CFLAGS@. - * win/Makefile.in: Move the setting of CFLAGS - higher up in the Makefile. + * unix/tcl.m4: Fix CFLAGS_DEFAULT so that the name of a Makefile + variable is passed as @CFLAGS@. + * win/Makefile.in: Move the setting of CFLAGS higher up in the + Makefile. * win/configure: Regen. - * win/configure.in: Use dnl to comment out macros - so that they are not accidently expanded. - * win/tcl.m4: Fix CFLAGS_DEFAULT so that the name - of a Makefile variable is passed as @CFLAGS@. + * win/configure.in: Use dnl to comment out macros so that they are not + accidently expanded. + * win/tcl.m4: Fix CFLAGS_DEFAULT so that the name of a Makefile + variable is passed as @CFLAGS@. 2001-05-07 Miguel Sofer * generic/tclExecute.c: insure different rand() seeds in different - threads [Bug 416643] + threads. [Bug 416643] 2001-05-03 Jeff Hobbs * tests/tcltest.test: removed extraneous 'c' (doh!) [Bug: 414031] - * tools/tcltk-man2html.tcl: removed use of 'exec' for portability - and fixed up code. + * tools/tcltk-man2html.tcl: removed use of 'exec' for portability and + fixed up code. 2001-05-03 Don Porter * doc/library.n: * library/init.tcl: - * tests/autoMkindex.t*: Modified [auto_import] to apply - pattern matching in the [namespace import] style. [Bug 420186] - ***POTENTIAL INCOMPATIBILITY*** for any callers of [auto_import] - from outside Tcl that expect the pattern matching to be like that - of [string match]. + * tests/autoMkindex.t*: Modified [auto_import] to apply pattern + matching in the [namespace import] style. [Bug 420186] + ***POTENTIAL INCOMPATIBILITY*** for any callers of [auto_import] from + outside Tcl that expect the pattern matching to be like that of + [string match]. 2001-05-03 Miguel Sofer - * generic/tclParse.c: - * tests/namespace.test: Insure consistent behaviour of the - [unknown] command: when a command is unknown, it is always - processed by [::unknown], ignoring any namespace proc which - happens to be called "unknown" [Patch #421166, Bug #420507] + * generic/tclParse.c: + * tests/namespace.test: Insure consistent behaviour of the [unknown] + command: when a command is unknown, it is always processed by + [::unknown], ignoring any namespace proc which happens to be called + "unknown" [Patch 421166, Bug 420507] 2001-05-02 Don Porter - * tools/genStubs.tcl: Add a package require of Tcl 8 - at the beginning of the script so that the script - will print a descriptive error message when run - in an old Tcl 7 shell. + * tools/genStubs.tcl: Add a package require of Tcl 8 at the beginning + of the script so that the script will print a descriptive error + message when run in an old Tcl 7 shell. 2001-04-27 Kevin Kenny @@ -3229,10 +3129,10 @@ * generic/tclInt.h: * generic/tclCmdIL.c: * generic/tclProc.c: - * generic/tclVar.c: Added another collection of missing CONSTs - related to TclGetNamespaceForQualName. + * generic/tclVar.c: Added another collection of missing CONSTs related + to TclGetNamespaceForQualName. * generic/tclIntDecls.h: Regenerated. - + 2001-04-25 Mo DeJong * unix/configure: Regen. @@ -3245,9 +3145,9 @@ 2001-04-25 Mo DeJong * unix/configure: Regen. - * unix/configure.in: Use $@ in MAKE_LIB and MAKE_STUB_LIB - commands instead of using a delayed subst variable. Replace - instances of STUB_LIB_FILE with TCL_STUB_LIB_FILE. + * unix/configure.in: Use $@ in MAKE_LIB and MAKE_STUB_LIB commands + instead of using a delayed subst variable. Replace instances of + STUB_LIB_FILE with TCL_STUB_LIB_FILE. 2001-04-25 Mo DeJong @@ -3259,19 +3159,20 @@ 2001-04-25 Donal K. Fellows * tools/encoding/iso8859-15.txt: - * library/encoding/iso8859-15.enc: Oops! Got the full encoding - wrong. Should be fixed now... + * library/encoding/iso8859-15.enc: Oops! Got the full encoding wrong. + Should be fixed now... * tools/encoding/iso8859-15.txt: * library/encoding/iso8859-15.enc: - * tools/tcl.wse.in: Added ISO 8859-15 (a.k.a. Latin-1 + Euro - currency symbol) support. + * tools/tcl.wse.in: Added ISO 8859-15 (a.k.a. Latin-1 + Euro currency + symbol) support. * generic/tclNamesp.c: - * generic/tclBasic.c (TclRenameCommand): Missing CONST from - several declarations relating to use of TclGetNamespaceForQualName + * generic/tclBasic.c (TclRenameCommand): Missing CONST from several + declarations relating to use of TclGetNamespaceForQualName 2001-04-24 Kevin B. Kenny + * doc/AssocData.3: * doc/CrtCommand.3: * doc/CrtMathFnc.3: @@ -3285,18 +3186,18 @@ * generic/tcl.h: * generic/tclInt.decls: * generic/tclInt.h: (TIP #27) Another round of CONST changes, this - time adding CONST to the API's exported from tclBasic.c. - [Patch #415179] - ***POTENTIAL INCOMPATIBILITY*** from 8.4a2, in which Vince - Darley's changes to command tracing were added. A const has been - added to the type signature of one of the parameters to - Tcl_CommandTraceProc. + time adding CONST to the API's exported from tclBasic.c. [Patch + 415179] + ***POTENTIAL INCOMPATIBILITY*** from 8.4a2, in which Vince Darley's + changes to command tracing were added. A const has been added to the + type signature of one of the parameters to Tcl_CommandTraceProc. 2001-04-10 Kevin B. Kenny + * unix/tclUnixTime.c: Altered code to use memcpy instead of structure assigments in an effort to achieve better K&R compatibility. - + 2001-04-10 Kevin B. Kenny * unix/tclUnixTime.c: Fixed silly typo in calls to 'gmtime' and @@ -3304,125 +3205,122 @@ 2001-04-09 Kevin B. Kenny - * unix/tclLoadShl.c: Added DYNAMIC_PATH to the load flags so that - the SHLIB_PATH will be searched for other libraries. [Bug #219140] - + * unix/tclLoadShl.c: Added DYNAMIC_PATH to the load flags so that the + SHLIB_PATH will be searched for other libraries. [Bug 219140] + 2001-04-09 Kevin B. Kenny - * unix/tcl.m4: Added _REENTRANT to Solaris build so that thread - safe library routines are included. + * unix/tcl.m4: Added _REENTRANT to Solaris build so that thread safe + library routines are included. * unix/configure: Re-ran 'autoconf' with changed tcl.m4 * tclUnixTime.c: Modified for thread safety of 'gmtime' and - 'localtime' system calls [Bugs #219136 and #232558] - + 'localtime' system calls. [Bugs 219136 and 232558] + 2001-04-09 Donal K. Fellows * tests/expr.test (expr-21.*): Tests to check below fix. * generic/tclParseExpr.c (GetLexeme): Now recognises the non-numeric boolean literals for what they are. It no longer makes sense for anyone to create functions with the same name as one of - them, but this was true in 7.* as well [Bug #217777; finally!] + them, but this was true in 7.* as well [Bug 217777; finally!] 2001-04-07 Miguel Sofer - * generic/tclExecute.c: Avoid panic when there are extra items in - the tcl stack [Bug #406709, Patch #414470] + * generic/tclExecute.c: Avoid panic when there are extra items in the + tcl stack. [Bug 406709, Patch 414470] * tests/foreach.test: test to exercise the patch 2001-04-07 Miguel Sofer * doc/namespace.n: document correct functionality * generic/tclNamesp.c: corrected behaviour of [namespace code] - (Bug #219385, Patch #403530) + [Bug 219385, Patch 403530] * library/init.tcl: * tests/namespace-old.test: test correct functionality * tests/namespace.test: test correct functionality 2001-04-07 Andreas Kupries - * unix/Makefile.in (checkdoc): New target, checking the - definitions as found in the compiled library against the - manpages to find undocumented public functionality. + * unix/Makefile.in (checkdoc): New target, checking the definitions as + found in the compiled library against the manpages to find + undocumented public functionality. * unix/mkLinks: Updated to include the new manpage. * doc/UniCharIsAlpha.3: New manpage documenting the Unicode - character classification APIs [Bug #218720]. + character classification APIs. [Bug 218720] 2001-04-07 Andreas Kupries * unix/mkLinks: Updated to incorporate the changes below. * doc/StringObj.3: Added 'Tcl_AttemptSetObjLength' to the NAME - section. [Bug #414435]. + section. [Bug 414435] - * doc/Alloc.3: Added both 'Tcl_AttemptAlloc' and - 'Tcl_AttemptRealloc' to the NAME section. [Bug #414435]. + * doc/Alloc.3: Added both 'Tcl_AttemptAlloc' and 'Tcl_AttemptRealloc' + to the NAME section. [Bug 414435] * doc/Utf.3: Added both 'Tcl_UniCharCaseMatch' and - 'Tcl_UniCharNcasecmp' to the NAME section. [Bug #414435]. + 'Tcl_UniCharNcasecmp' to the NAME section. [Bug 414435] 2001-04-06 Don Porter * library/init.tcl: - * tests/init.test: Modified processing of $::errorInfo by - [unknown] when the auto-loaded command throws an error to better - cover the tracks of auto-loading. [Bug 219280, Patch 403551] + * tests/init.test: Modified processing of $::errorInfo by [unknown] + when the auto-loaded command throws an error to better cover the + tracks of auto-loading. [Bug 219280, Patch 403551] 2001-04-06 Donal K. Fellows * doc/read.n: Added section on "USE WITH SERIAL PORTS" to resolve - [Bug #219402] + [Bug 219402] * tests/string.test (string-2.30): Test for this case * generic/tclCmdMZ.c (Tcl_StringObjCmd, STR_COMPARE branch): Fixed problem caused by Utf-rep of \x00 being more than Utf-rep of \x01 - fooling memcmp by forcing everything through Utf-based - comparisons. Added optimizations for case where objects have a - string/unicode-rep or a bytearray-rep (i.e. where we can perform - comparisons on fixed-size units.) [Bug #219201] + fooling memcmp by forcing everything through Utf-based comparisons. + Added optimizations for case where objects have a string/unicode-rep + or a bytearray-rep (i.e. where we can perform comparisons on + fixed-size units). [Bug 219201] * generic/tclUtf.c (Tcl_UtfNcmp): Corrected seriously erroneous comment. 2001-04-05 Andreas Kupries - * doc/Macintosh.3: Removed duplicates from .SH line - [Bug #413983]. + * doc/Macintosh.3: Removed duplicates from .SH line. [Bug 413983] 2001-04-05 Donal K. Fellows * generic/tclCmdMZ.c (Tcl_StringObjCmd): Fixed so will compile - with K&R compilers [Patch #413844, Bug #413847] + with K&R compilers. [Patch 413844, Bug 413847] 2001-04-04 Don Porter * generic/tclMain.c: Patch from Kevin Kenny to restore support of - pre-ANSI compilers. [Bug 413846, Patch 413842] + pre-ANSI compilers. [Bug 413846, Patch 413842] 2001-04-04 Andreas Kupries * unix/mkLinks: Updated to contain the new manpage. - * doc/Environment.3: New manpage, describes Tcl_PutEnv - [Bug #219171]. + * doc/Environment.3: New manpage, describes Tcl_PutEnv. [Bug 219171] - * doc/Macintosh.3: New manpage describing the macintosh specific - parts of the public API [Bug #219169]. + * doc/Macintosh.3: New manpage describing the macintosh specific parts + of the public API. [Bug 219169] 2001-04-04 Jeff Hobbs * unix/configure: * unix/tcl.m4: extended test of termios vs. termio vs. sgtty to better detect result on Linux and when certain configure - redirections are being used. (max) [Patch #402923; Bug #227412, - #219194] + redirections are being used. [Patch 402923; Bug 227412, 219194] (max) 2001-04-04 Andreas Kupries * generic/tclTest.c: * tests/io.tests: TIP #10 followup correcting a problem with the - original patch because of the lack of 'testthread id' for a - non-threaded compilation. + original patch because of the lack of 'testthread id' for a + non-threaded compilation. 2001-04-04 Kevin Kenny @@ -3440,24 +3338,24 @@ * generic/tclObj.c: * generic/tclPkg.c: * generic/tclStringObj.c: - * generic/tclStubLib.c: - (TIP#27) Changed a number of Tcl API's to accept "CONST char*" - in place of simple "char*". (kennykb) [Patch #404026] + * generic/tclStubLib.c: (TIP#27) Changed a number of Tcl API's to + accept "CONST char*" in place of simple "char*". (kennykb) [Patch + 404026] 2001-04-04 Jeff Hobbs * generic/tclListObj.c (Tcl_SetListObj): set objPtr->length = 0 in empty object case to maintain sanctity of Tcl_Obj bytes/length - pairing. (porter) [Patch #405998] + pairing. [Patch 405998] (porter) 2001-04-03 Andreas Kupries * unix/mkLinks: Added 'Signal.3', 'Tcl_WaitPid'. - * doc/DetachPids.3: Added description of 'Tcl_WaitPid' [Bug #219173]. + * doc/DetachPids.3: Added description of 'Tcl_WaitPid' [Bug 219173]. * doc/Signal.3: New man page describing the public API procedures - 'Tcl_SignalId' and 'Tcl_SignalMsg' [Bug #219172]. + 'Tcl_SignalId' and 'Tcl_SignalMsg'. [Bug 219172] 2001-04-02 Jeff Hobbs @@ -3466,7 +3364,7 @@ * win/README.binary: further notes corrections. * win/configure: - * win/tcl.m4 (SHLIB_LD): added -incremental:no. [Bug #219381] + * win/tcl.m4 (SHLIB_LD): added -incremental:no. [Bug 219381] 2001-04-01 Jeff Hobbs @@ -3474,8 +3372,8 @@ * mac/README: * win/README: * win/README.binary: - * unix/README: updated patchlevel information to 8.4a3 and - updated links and notes. + * unix/README: updated patchlevel information to 8.4a3 and updated + links and notes. * generic/tcl.h: * tools/tcl.wse.in: @@ -3489,18 +3387,17 @@ * generic/tclCkalloc.c (TclFinalizeMemorySubsystem): set curTagPtr to NULL to allow for reuse. - * generic/tclEvent.c (Tcl_Finalize): moved the tsdPtr - initialization inside the subsystemsInitialized check to prevent - it potentially getting called twice during finalization. (wu) - [Patch #403532, Bug #219391] + * generic/tclEvent.c (Tcl_Finalize): moved the tsdPtr initialization + inside the subsystemsInitialized check to prevent it potentially + getting called twice during finalization. + [Patch 403532, Bug 219391] (wu) * generic/tclThreadTest.c (Tcl_ThreadObjCmd): cast fixes - * generic/tclTest.c (TestChannelCmd): added cast to mollify - Windows debug build. + * generic/tclTest.c (TestChannelCmd): added cast to mollify Windows + debug build. * win/tclWinSock.c (SocketEventProc): Fixed race condition in - readability of socket on Windows. - [Patch #410674, Bug #219205 #219333] + readability of socket on Windows. [Patch 410674, Bug 219205, 219333] * win/tcl.m4: added imm32.lib to LIBS_GUI for Tk IME support. @@ -3512,38 +3409,36 @@ 2001-03-30 Andreas Kupries * All of the changes below belong to TIP #10 [Tcl I/O Enhancement: - Thread-Aware Channels]. See also [Patch #403358] at SF. + Thread-Aware Channels]. See also [Patch 403358] at SF. * generic/tclIO.h (struct ChannelState, line 236f): Extended the - structure with a new field of type 'Tcl_ThreadId' to hold the id - of the thread currently managing all channels with this state. + structure with a new field of type 'Tcl_ThreadId' to hold the id of + the thread currently managing all channels with this state. - Note: This structure is shared by all channels in a stack of - transformations. + Note: This structure is shared by all channels in a stack of + transformations. - * generic/tclIO.c (Tcl_CreateChannel, lines 1058-1065): Modified - to store the Id of the current thread in the 'ChannelState' of - the new channel. + * generic/tclIO.c (Tcl_CreateChannel, lines 1058-1065): Modified to + store the Id of the current thread in the 'ChannelState' of the new + channel. - * generic/tclIO.c (Tcl_SpliceChannel, lines 2265-2270): Modified - in the same manner as 'Tcl_CreateChannel' as the channel will be - managed by the current thread afterward. + * generic/tclIO.c (Tcl_SpliceChannel, lines 2265-2270): Modified in + the same manner as 'Tcl_CreateChannel' as the channel will be managed + by the current thread afterward. * generic/tclIO.c (Tcl_GetChannelThread, lines 1478-1503): - * generic/tcl.decls (Tcl_GetChannelThread, lines 1504-1506): New - API function to retrieve the Id of the managing thread from a - channel. Implementation and declaration. + * generic/tcl.decls (Tcl_GetChannelThread, lines 1504-1506): New API + function to retrieve the Id of the managing thread from a channel. + Implementation and declaration. * generic/tclTest.c (TestChannelCmd, lines 4520-4532): Added - subcommand 'mthread' to query a channel about its managing - thread. + subcommand 'mthread' to query a channel about its managing thread. 2001-03-29 Mo DeJong - * tests/interp.test: Print out warning when - testinterpdelete command is not defined. - Add tests that checks to make sure a - child interp inherits the parent's cwd. + * tests/interp.test: Print out warning when testinterpdelete command + is not defined. Add tests that checks to make sure a child interp + inherits the parent's cwd. 2001-03-29 Jeff Hobbs @@ -3553,35 +3448,34 @@ * unix/tclUnixPipe.c (TclpCreateTempFile): prevent potential race condition and security leak in tmp filename creation. - (max) [Patch #402924] + [Patch 402924] (max) * unix/configure: * unix/tcl.m4: corrected IRIX-5.x config to not use -n32. - (english) [Patch #403626] + [Patch 403626] (english) - * unix/tclUnixThrd.c (Tcl_ConditionWait): fixed handling of - timeout for threads (corrects excessive CPU usage issue for Tk on - Unix in threaded Tcl environment). (ruppert) [Bug #411603] + * unix/tclUnixThrd.c (Tcl_ConditionWait): fixed handling of timeout + for threads (corrects excessive CPU usage issue for Tk on Unix in + threaded Tcl environment). [Bug 411603] (ruppert) 2001-03-29 Donal K. Fellows * doc/lsort.n: Added some notes that clarify the behaviour of - [lsort] as well as a whole bunch of examples. [Bug #219202] + [lsort] as well as a whole bunch of examples. [Bug 219202] 2001-03-27 Jeff Hobbs - * doc/Alloc.3: corrected docs to note that Tcl_Attempt* return - char *'s, not ints. [Bug #411388] + * doc/Alloc.3: corrected docs to note that Tcl_Attempt* return char + *'s, not ints. [Bug 411388] * tests/regexp.test (regexp-19.1): - * generic/tclCmdMZ.c (Tcl_RegsubObjCmd): fixed handling of nulls - in subspec value. + * generic/tclCmdMZ.c (Tcl_RegsubObjCmd): fixed handling of nulls in + subspec value. 2001-03-26 Don Porter - * generic/tclDecls.h (Tcl_InitCustomHashTable): Correction to - patch from 2001-01-18; tclDecls.h was not generated using - 'make genstubs'. + * generic/tclDecls.h (Tcl_InitCustomHashTable): Correction to patch + from 2001-01-18; tclDecls.h was not generated using 'make genstubs'. 2001-03-26 Donal K. Fellows @@ -3590,11 +3484,11 @@ 2001-03-23 Jeff Hobbs - * generic/tclVar.c (Tcl_ArrayObjCmd): Corrected retrieval of - resultPtr to prevent possible corruption. + * generic/tclVar.c (Tcl_ArrayObjCmd): Corrected retrieval of resultPtr + to prevent possible corruption. * generic/tclNamesp.c (Tcl_Import): Correctly freed a DString. - (lavana) [Patch #403755] + [Patch 403755] (lavana) 2001-03-15 Donal K. Fellows @@ -3603,134 +3497,131 @@ 2001-03-14 Don Porter - * library/package.tcl (pkg_mkIndex): Added patch from Vince - Darley to make [pkg_mkIndex -verbose] even more verbose. - [Bug 219349, Patch 403529] + * library/package.tcl (pkg_mkIndex): Added patch from Vince Darley to + make [pkg_mkIndex -verbose] even more verbose. [Bug 219349, Patch + 403529] 2001-03-13 Donal K. Fellows - * doc/info.n: Improved documentation for [info hostname]. - [Bug #403840] + * doc/info.n: Improved documentation for [info hostname]. [Bug 403840] * generic/tclVar.c (Tcl_UnsetObjCmd): Made command behave as - documented [issue remaining from bug #405769] + documented [issue remaining from Bug 405769] - * generic/tclCmdMZ.c (Tcl_StringObjCmd): A missing - {return TCL_OK;} was causing memory corruption. [Bug #408002] + * generic/tclCmdMZ.c (Tcl_StringObjCmd): A missing {return TCL_OK;} + was causing memory corruption. [Bug 408002] * generic/tclExecute.c (TclDeleteExecEnv, GrowEvaluationStack, - TclExecuteByteCode): Added some casts to ClientData that are + (TclExecuteByteCode): Added some casts to ClientData that are apparently needed on some architectures. 2001-03-12 Donal K. Fellows * tests/string.test: Fixed some test numberings and added a test. - [Patch #403229] + [Patch 403229] 2001-03-06 Donal K. Fellows - * generic/tclVar.c (Tcl_UnsetObjCmd): Rewrote argument parser to - avoid a read off the end of the argument array that could occur - when executing something like [unset -nocomplain] was executed. - Improved the error message given when too few arguments are given - (-nocomplain should obviously be *before* --, not after it) and - also modified the test suite to take account of that and the - documentation to use the same improvement. [Bug 405769] + * generic/tclVar.c (Tcl_UnsetObjCmd): Rewrote argument parser to avoid + a read off the end of the argument array that could occur when + executing something like [unset -nocomplain] was executed. Improved + the error message given when too few arguments are given (-nocomplain + should obviously be *before* --, not after it) and also modified the + test suite to take account of that and the documentation to use the + same improvement. [Bug 405769] 2001-03-02 Donal K. Fellows - * generic/tclExecute.c (TclExecuteByteCode): Fixed bug that could - pass pointers to freed memory to command implementations, which - most obviously caused some weird behaviour with [info level], but - could have caused problems with user code and command traces too. - [Bug 404865, Patch 405436] + * generic/tclExecute.c (TclExecuteByteCode): Fixed bug that could pass + pointers to freed memory to command implementations, which most + obviously caused some weird behaviour with [info level], but could + have caused problems with user code and command traces too. [Bug + 404865, Patch 405436] 2001-02-23 msofer + * no changes; fixing up the missing comment in the previous one. Sorry. 2001-02-23 msofer - * /cvsroot/tcl/tcl/tests/execute.test: - added test for evaluation of an expression in a variable; evals once - by compiling, second time using the previous compilation + * /cvsroot/tcl/tcl/tests/execute.test: added test for evaluation of an + expression in a variable; evals once by compiling, second time using + the previous compilation 2001-02-18 Kevin B. Kenny * doc/clock.n: Updated documentation to reflect the addition of - compat/strftime.c, including the correct formatting of - ISO-8601:1988 fiscal week number (%V). - + compat/strftime.c, including the correct formatting of ISO-8601:1988 + fiscal week number (%V). + 2001-02-15 Donal K. Fellows * generic/tclCmdMZ.c (Tcl_SplitObjCmd): Improved efficiency of - splitting strings into individual characters by adding hash so - that only one Tcl_Obj per character is created. Improves - performance of splitting of short strings and makes a huge - difference to splitting of long strings, such as is done in the - mime package in tcllib. [Bug #131523] + splitting strings into individual characters by adding hash so that + only one Tcl_Obj per character is created. Improves performance of + splitting of short strings and makes a huge difference to splitting of + long strings, such as is done in the mime package in tcllib. [Bug + 131523] 2001-01-31 Don Porter - * win/makefile.vc (install-libraries): Corrected misdirected - install directory for the msgcat 1.2 package. + * win/makefile.vc (install-libraries): Corrected misdirected install + directory for the msgcat 1.2 package. 2001-01-30 Don Porter - * generic/tclIO.c (CopyData): Moved code that updates the count - of how many bytes are left to copy. Corrects bug that when - writing occurs in the background, the copy loop could be - escaped without updating the count, causing CopyData() to try - to copy more bytes than the toRead value originally passed to - TclCopyChannel(), leading to hangs and misreporting of number - of bytes copied. [Bug 118203, Patch 103432] + * generic/tclIO.c (CopyData): Moved code that updates the count of how + many bytes are left to copy. Corrects bug that when writing occurs in + the background, the copy loop could be escaped without updating the + count, causing CopyData() to try to copy more bytes than the toRead + value originally passed to TclCopyChannel(), leading to hangs and + misreporting of number of bytes copied. [Bug 118203, Patch 103432] 2001-01-18 Andreas Kupries - * Everything below belongs together, it fixes bug #123153. + Everything below belongs together, it fixes [Bug 123153] - * generic/tcl.h (line 342): A bit more explanation about the - default value for TCL_PRESERVE_BINARY_COMPATABILITY. + * generic/tcl.h (line 342): A bit more explanation about the default + value for TCL_PRESERVE_BINARY_COMPATABILITY. - * generic/tcl.h (line 1208): Define the macro 'Tcl_InitHashTable' - only when TCL_PRESERVE_BINARY_COMPATIBILITY is not set - as it kills binary compatibility to 8.3 and earlier - versions. This is the main part of the patch/change. + * generic/tcl.h (line 1208): Define the macro 'Tcl_InitHashTable' only + when TCL_PRESERVE_BINARY_COMPATIBILITY is not set as it kills binary + compatibility to 8.3 and earlier versions. This is the main part of + the patch/change. * generic/tcl.decls (line 1469): * generic/tclHash.c (Tcl_InitHashTable): * generic/tclHash.c (Tcl_InitHashTableEx): * generic/tclObj.c (Tcl_InitObjHashTable): Changed - 'Tcl_InitHashTableEx' to 'Tcl_InitCustomHashTable'. This change - is more of an estethical nature, replacing the ubiquitous 'Ex' - suffix with a more meaningful name. The introduced binary - incompatibility is deemed acceptable as it is between alpha - versions. Updated callers. + 'Tcl_InitHashTableEx' to 'Tcl_InitCustomHashTable'. This change is + more of an estethical nature, replacing the ubiquitous 'Ex' suffix + with a more meaningful name. The introduced binary incompatibility is + deemed acceptable as it is between alpha versions. Updated callers. * doc/Hash.3: * unix/mkLinks: Changed 'Tcl_InitHashTableEx' to - 'Tcl_InitCustomHashTable'. + 'Tcl_InitCustomHashTable'. 2001-01-10 Donal K. Fellows - * tests/winPipe.test (winpipe-1.20): - * tests/winDde.test (createChildProcess): - * tests/pkgMkIndex.test (pkgtest::createIndex): Removed - assumption that paths contain no spaces which causes problems with - both [eval] and [open |...] due to the well-known differences - between lists and strings. Fixes bug #119406 + * tests/winPipe.test (winpipe-1.20): + * tests/winDde.test (createChildProcess): + * tests/pkgMkIndex.test (pkgtest::createIndex): Removed assumption + that paths contain no spaces which causes problems with both [eval] + and [open |...] due to the well-known differences between lists and + strings. Fixes [Bug 119406] 2001-01-04 Don Porter * tests/unixInit.test: * unix/tclUnixInit.c (TclpInitLibraryPath): - * win/tclWinInit.c (TclpInitLibraryPath): Several entries in - the library path ($tcl_libPath) are determined relative to the - absolute path of the executable. When the executable is - installed in or near the root directory of the file system, - relative pathnames were being incorrectly generated, and in - the worst case, memory access violations were crashing the program. - [Bug 119416, Patch 102972] + * win/tclWinInit.c (TclpInitLibraryPath): Several entries in the + library path ($tcl_libPath) are determined relative to the absolute + path of the executable. When the executable is installed in or near + the root directory of the file system, relative pathnames were being + incorrectly generated, and in the worst case, memory access violations + were crashing the program. [Bug 119416, Patch 102972] ****************************************************************** *** CHANGELOG ENTRIES FOR 2000 IN "ChangeLog.2000" *** diff --git a/ChangeLog.2002 b/ChangeLog.2002 index 53550bd..30b8b17 100644 --- a/ChangeLog.2002 +++ b/ChangeLog.2002 @@ -5,24 +5,23 @@ 2002-12-17 Jeff Hobbs - * generic/tclNotify.c (TclFinalizeNotifier, Tcl_SetServiceMode): - (Tcl_ThreadAlert): Check that the stub functions are non-NULL - before calling them. They could be set to NULL by Tcl_SetNotifier. + * generic/tclNotify.c (TclFinalizeNotifier, Tcl_SetServiceMode): + (Tcl_ThreadAlert): Check that the stub functions are non-NULL before + calling them. They could be set to NULL by Tcl_SetNotifier. 2002-12-16 David Gravereaux * generic/tclPipe.c (TclCleanupChildren): * tests/winPipe.test: * win/tclWinPipe.c (Tcl_WaitPid): - * win/tclWinTest.c: Gave Tcl_WaitPid the ability to return a - Win32 exception code translated into a posix style SIG*. This - allows [close] to report "CHILDKILLED" without the meaning - getting lost in a truncated exit code. In TclCleanupChildren(), - TclpGetPid() had to get moved to before Tcl_WaitPid() as the - the handle is removed from the list taking away the ability - to get the process id after the wait is done. This shouldn't - effect the unix implimentaion unless waitpid is called with - a pid of zero, meaning "any". I don't think it is.. + * win/tclWinTest.c: Gave Tcl_WaitPid the ability to return a Win32 + exception code translated into a posix style SIG*. This allows [close] + to report "CHILDKILLED" without the meaning getting lost in a + truncated exit code. In TclCleanupChildren(), TclpGetPid() had to get + moved to before Tcl_WaitPid() as the the handle is removed from the + list taking away the ability to get the process id after the wait is + done. This shouldn't effect the unix implimentaion unless waitpid is + called with a pid of zero, meaning "any". I don't think it is.. 2002-12-13 Don Porter @@ -34,28 +33,27 @@ 2002-12-11 Don Porter - * generic/tclProc.c (ProcessProcResultCode): Fix failure to - propagate negative return codes up the call stack. [Bug 647307] + * generic/tclProc.c (ProcessProcResultCode): Fix failure to propagate + negative return codes up the call stack. [Bug 647307] * tests/proc.test (proc-6.1): Test for Bug 647307 - * generic/tclParseExpr.c (TclParseInteger): Return 1 for the - string "0x" (recognize leading "0" as an integer). [Bug 648441]. + * generic/tclParseExpr.c (TclParseInteger): Return 1 for the string + "0x" (recognize leading "0" as an integer). [Bug 648441] * tests/parseExpr.test (parseExpr-19.1): Test for Bug 648441. 2002-12-09 Jeff Hobbs * win/tclWinThrd.c (TclpMasterUnlock): - * generic/tclThread.c (TclFinalizeThreadData): TclpMasterUnlock - must exist and be called unconditional of TCL_THREADS. [Bug #651139] + * generic/tclThread.c (TclFinalizeThreadData): TclpMasterUnlock must + exist and be called unconditional of TCL_THREADS. [Bug 651139] 2002-12-08 David Gravereaux * win/tclWinSock.c (SocketThreadExitHandler, InitSockets): Check - that the tsdPtr is valid before dereferencing as we call it from - the exit handler, too [Bug 650353]. Another WSAStartup() loaded - version comparison byte swap issue fixed. Although 0x0101 byte - swapped is still 0x0101, properly claiming which is major/minor - is more correct. + that the tsdPtr is valid before dereferencing as we call it from the + exit handler, too [Bug 650353]. Another WSAStartup() loaded version + comparison byte swap issue fixed. Although 0x0101 byte swapped is + still 0x0101, properly claiming which is major/minor is more correct. 2002-12-06 Jeff Hobbs @@ -65,46 +63,45 @@ * win/tclWin32Dll.c (TclWinResetInterfaces): * win/tclWinInit.c (TclpSetInitialEncodings, WinEncodingsCleanup): - add exit handler that resets the encoding information to a state - where we can reuse Tcl. Following these changes, it is possible - to reuse Tcl (following Tcl_FindExecutable or Tcl_CreateInterp) - following a Tcl_Finalize. + add exit handler that resets the encoding information to a state where + we can reuse Tcl. Following these changes, it is possible to reuse Tcl + (following Tcl_FindExecutable or Tcl_CreateInterp) following a + Tcl_Finalize. - * generic/tclIOUtil.c (TclFinalizeFilesystem): reset statics to - their original values on finalize to allow reuse of the library. + * generic/tclIOUtil.c (TclFinalizeFilesystem): reset statics to their + original values on finalize to allow reuse of the library. 2002-12-04 David Gravereaux * win/tclWinPipe.c: reverted back to -r1.27 due to numerous test - failures that need to be resolved first. The idea was good, - but the details aren't. - + failures that need to be resolved first. The idea was good, but the + details aren't. + 2002-12-04 David Gravereaux * win/tclWinPipe.c (Tcl_WaitPid): When a process exits with an - exception, pass this notice on to the caller with a SIG* code - rather than truncating the exit code and missing the meaning. - This allows TclCleanupChildren() to report "CHILDKILLED". + exception, pass this notice on to the caller with a SIG* code rather + than truncating the exit code and missing the meaning. This allows + TclCleanupChildren() to report "CHILDKILLED". - This has a different behavior than unix in that closing the - read pipe to a process sends the SIGPIPE signal which is - returned as a SIGPIPE exit status. On windows, we send the - process a CTRL_BREAK_EVENT and get back a CONTROL_C_EXIT which - is documented to mean a SIGINT which seems wrong as a system, - but is the correct exit status. + This has a different behavior than unix in that closing the read pipe + to a process sends the SIGPIPE signal which is returned as a SIGPIPE + exit status. On windows, we send the process a CTRL_BREAK_EVENT and + get back a CONTROL_C_EXIT which is documented to mean a SIGINT which + seems wrong as a system, but is the correct exit status. 2002-12-04 Vince Darley - * generic/tclIOUtil.c: fix to redirected 'load' in virtual - filesystem for some Unix systems. + * generic/tclIOUtil.c: fix to redirected 'load' in virtual filesystem + for some Unix systems. + + * generic/tclEvent.c: the filesystem must be cleaned up before the + encoding subsystem because it needs access to encodings. Fixes crash + on exit observed in embedded applications. - * generic/tclEvent.c: the filesystem must be cleaned up before - the encoding subsystem because it needs access to encodings. - Fixes crash on exit observed in embedded applications. + * generic/tclTestObj.c: patch omitted from previous change of + 2002-11-13 - * generic/tclTestObj.c: patch omitted from previous change - of 2002-11-13 - 2002-12-03 Jeff Hobbs * generic/tclStubLib.c (Tcl_InitStubs): prevent the cached check of @@ -113,15 +110,15 @@ 2002-12-03 David Gravereaux - * win/tclAppInit.c (sigHandler): Protect from trying to close a - NULL handle. + * win/tclAppInit.c (sigHandler): Protect from trying to close a NULL + handle. - * win/tclWinPipe.c (PipeClose2Proc, TclpCreateProcess): Send a - real Win32 signal (CTRL_C_EVENT) when the read channel is brought - down to alert the child to close on its side. Start the process - with CREATE_NEW_PROCESS_GROUP to allow the ability to send these - signals. The following test case now brings down the child - without the use of an external [kill] command. + * win/tclWinPipe.c (PipeClose2Proc, TclpCreateProcess): Send a real + Win32 signal (CTRL_C_EVENT) when the read channel is brought down to + alert the child to close on its side. Start the process with + CREATE_NEW_PROCESS_GROUP to allow the ability to send these signals. + The following test case now brings down the child without the use of + an external [kill] command. % set p [open "|[info name]" w+] file8d5380 @@ -130,26 +127,25 @@ % close $p <- now doesn't block in Tcl_WaitPid() % - * win/tclWinPipe.c (PipeClose2Proc): Changed CTRL_C_EVENT - to CTRL_BREAK_EVENT as it can't be ignored by the child and - proved to work on [open "|netstat 1" w+] where CTRL_C_EVENT - didn't. + * win/tclWinPipe.c (PipeClose2Proc): Changed CTRL_C_EVENT to + CTRL_BREAK_EVENT as it can't be ignored by the child and proved to + work on [open "|netstat 1" w+] where CTRL_C_EVENT didn't. 2002-11-27 David Gravereaux - * win/tclWinPort.h: Don't turn off winsock prototypes! - TclX didn't like it. Even though the core doesn't use the - prototypes, do offer them. + * win/tclWinPort.h: Don't turn off winsock prototypes! TclX didn't + like it. Even though the core doesn't use the prototypes, do offer + them. - * win/tclWinSock.c: Removed shutdown() from the function - table as it wasn't referenced anywhere and cleaned-up some - casting that that wasn't needed. + * win/tclWinSock.c: Removed shutdown() from the function table as it + wasn't referenced anywhere and cleaned-up some casting that that + wasn't needed. - * win/tclWinSock.c: WSAStartup() loaded version comparison - error which resulted in 2.0 looking less than 1.1. + * win/tclWinSock.c: WSAStartup() loaded version comparison error which + resulted in 2.0 looking less than 1.1. - * win/tclWinChan.c (Tcl_MakeFileChannel): return of - DuplicateHandle() incorrectly used [Bug 618852]. + * win/tclWinChan.c (Tcl_MakeFileChannel): return of DuplicateHandle() + incorrectly used. [Bug 618852] 2002-11-26 Jeff Hobbs @@ -168,18 +164,16 @@ * win/tclWinPort.h: * win/tclWinSock.c: This patch does two things: - 1) Cleans-up the winsock typedefs by using the typedefs - provided by winsock2.h. This has no effect on how winsock - is initialized; just makes the source code easier to read. - [Patch 561305 561301] - - 2) Revamps how the socket message handler thread is brought - up and down to allow for cleaner exits without the use of - TerminateThread(). TerminateThread is evil. No attempt has - been made to resolve [Bug 593810] which may need a new - channel driver version for adding a registering function - within the transfered thread to init the handler thread. - IOW, initialization of the TSD structure is getting bypassed + 1) Cleans-up the winsock typedefs by using the typedefs provided by + winsock2.h. This has no effect on how winsock is initialized; just + makes the source code easier to read. [Patch 561305 561301] + + 2) Revamps how the socket message handler thread is brought up and + down to allow for cleaner exits without the use of TerminateThread(). + TerminateThread is evil. No attempt has been made to resolve [Bug + 593810] which may need a new channel driver version for adding a + registering function within the transfered thread to init the handler + thread. IOW, initialization of the TSD structure is getting bypassed through the thread extension's [thread::transfer] command. 2002-11-26 David Gravereaux @@ -189,20 +183,19 @@ * win/tclWinSerial.c: * win/tclWinSock.c: * win/tclWinThrd.c: - * win/tclWinTime.c: General cleanup of all worker threads used - by the channel drivers. Eliminates the normal case where the - worker thread is terminated ('cept the winsock one). Instead, - use kernel events to signal a clean exit. Only when the worker - thread is blocked on an I/O call is the thread terminated. - Essentially, this makes all other channel worker threads behave - like the PipeReaderThread() function for it's cleaner exit - behavior. This appears to fix [Bug 597924] but needs 3rd party - confirmation to close the issue. + * win/tclWinTime.c: General cleanup of all worker threads used by the + channel drivers. Eliminates the normal case where the worker thread is + terminated ('cept the winsock one). Instead, use kernel events to + signal a clean exit. Only when the worker thread is blocked on an I/O + call is the thread terminated. Essentially, this makes all other + channel worker threads behave like the PipeReaderThread() function for + it's cleaner exit behavior. This appears to fix [Bug 597924] but needs + 3rd party confirmation to close the issue. 2002-11-26 Mo DeJong - * win/README: Update msys build env URL. This - release #4 build both tcl and tk without problems. + * win/README: Update msys build env URL. This release #4 build both + tcl and tk without problems. 2002-11-22 Jeff Hobbs @@ -210,8 +203,8 @@ * library/opt/optparse.tcl: string compare * tests/interp.test: interp-14.4 - * generic/tclInterp.c (TclPreventAliasLoop): prevent seg fault - when creating an alias command over the interp name. [Bug #641195] + * generic/tclInterp.c (TclPreventAliasLoop): prevent seg fault when + creating an alias command over the interp name. [Bug 641195] 2002-11-18 Jeff Hobbs @@ -220,17 +213,17 @@ * generic/get.test: * generic/string.test: - * generic/tclObj.c (SetIntFromAny, SetWideIntFromAny): - * generic/tclGet.c (TclGetLong, Tcl_GetInt): simplify sign - handling before calling strtoul(l). [Bug #634856] + * generic/tclObj.c (SetIntFromAny, SetWideIntFromAny): + * generic/tclGet.c (TclGetLong, Tcl_GetInt): simplify sign handling + before calling strtoul(l). [Bug 634856] 2002-11-18 David Gravereaux - * win/tclWinThrd.c (Tcl_CreateThread/TclpThreadExit): Fixed - improper compiler macros that missed the VC++ compiler. This - resulted in VC++ builds using CreateThread()/ExitThread() in place - of the proper _beginthreadex()/_endthreadex(). This was a large - error and am surprised I missed seeing it earlier. + * win/tclWinThrd.c (Tcl_CreateThread/TclpThreadExit): Fixed improper + compiler macros that missed the VC++ compiler. This resulted in VC++ + builds using CreateThread()/ExitThread() in place of the proper + _beginthreadex()/_endthreadex(). This was a large error and am + surprised I missed seeing it earlier. 2002-11-13 Jeff Hobbs @@ -243,20 +236,19 @@ 2002-11-13 Vince Darley * generic/tclCmdMZ.c: - * tests/trace.test: applied patch from Hemang Levana to fix - [Bug #615043] in execution traces with 'return -code error'. - + * tests/trace.test: applied patch from Hemang Levana to fix [Bug + 615043] in execution traces with 'return -code error'. + * generic/tclTestObj.c: * tests/stringObj.test: added 'knownBug' test for [Bug 635200] * generic/tclStringObj.c: corrected typos in comments * generic/tclFileName.c: - * tests/fileName.test: applied patch for bug reported against - tclvfs concerning handling of Windows serial ports like 'com1', - 'lpt3' by the virtual filesystem code. + * tests/fileName.test: applied patch for bug reported against tclvfs + concerning handling of Windows serial ports like 'com1', 'lpt3' by the + virtual filesystem code. - * doc/RegExp.3: clarification of the 'extendMatch' return - values. + * doc/RegExp.3: clarification of the 'extendMatch' return values. 2002-11-11 Jeff Hobbs @@ -264,63 +256,61 @@ (Tcl_StringCaseMatch): use TclUtfToUniChar and add further optimizations for the one-byte/char case. - * generic/tclUtf.c: make use of TclUtfToUniChar macro throughout - the functions, and add extra optimization to Tcl_NumUtfChars for + * generic/tclUtf.c: make use of TclUtfToUniChar macro throughout the + functions, and add extra optimization to Tcl_NumUtfChars for one-byte/char case. * generic/tclVar.c (DisposeTraceResult, CallVarTraces): add proper static declarations. - * generic/tclStringObj.c (Tcl_GetCharLength): optimize for the - ascii char case. + * generic/tclStringObj.c (Tcl_GetCharLength): optimize for the ascii + char case. (Tcl_GetUniChar): remove unnecessary use of Tcl_UtfToUniChar. (FillUnicodeRep): Use TclUtfToUniChar. - * generic/tclHash.c (HashStringKey): move string++ lower to save - an instruction. + * generic/tclHash.c (HashStringKey): move string++ lower to save an + instruction. - * generic/tclExecute.c (TclExecuteByteCode): improve INST_STR_CMP - to use memcmp in the one-byte/char case, also use direct index for + * generic/tclExecute.c (TclExecuteByteCode): improve INST_STR_CMP to + use memcmp in the one-byte/char case, also use direct index for INST_STR_INDEX in that case. - * generic/tclEncoding.c (UtfToUtfProc, UtfToUnicodeProc): + * generic/tclEncoding.c (UtfToUtfProc, UtfToUnicodeProc): (TableFromUtfProc, EscapeFromUtfProc): Use TclUtfToUniChar. - (UnicodeToUtfProc, TableToUtfProc): add 1-byte char optimizations - for Tcl_UniCharToUtf call. These improve encoded channel - conversion speeds by up to 20%. + (UnicodeToUtfProc, TableToUtfProc): add 1-byte char optimizations for + Tcl_UniCharToUtf call. These improve encoded channel conversion speeds + by up to 20%. * tests/split.test: added 1-char string split tests - * generic/tclCmdMZ.c (Tcl_SplitObjCmd): Use TclUtfToUniChar. - Also added a special case for single-ascii-char splits. - (Tcl_StringObjCmd): Use TclUtfToUniChar. - For STR_RANGE, support getting ranges of ByteArrays (reverts - change from 2000-05-26). + * generic/tclCmdMZ.c (Tcl_SplitObjCmd): Use TclUtfToUniChar. Also + added a special case for single-ascii-char splits. + (Tcl_StringObjCmd): Use TclUtfToUniChar. For STR_RANGE, support + getting ranges of ByteArrays (reverts change from 2000-05-26). (TraceExecutionProc) add proper static declaration. * generic/tclInt.h: add macro version of Tcl_UtfToUniChar (TclUtfToUniChar) that does the one-byte utf-char check without - calling Tcl_UtfToUniChar, for use by the core. This brings - notable speedups for primarily ascii string handling. + calling Tcl_UtfToUniChar, for use by the core. This brings notable + speedups for primarily ascii string handling. * generic/tcl.h (TCL_PATCH_LEVEL): bump to 8.4.1.1 for patchlevel - only. This interim number will only be reflected by - [info patchlevel]. + only. This interim number will only be reflected by [info patchlevel]. 2002-11-11 Kevin Kenny - * doc/Tcl.n: Corrected indentation of the new language. Oops. - + + * doc/Tcl.n: Corrected indentation of the new language. Oops. + 2002-11-10 Kevin Kenny - * doc/Tcl.n: Added language to the Endekalogue to make it clear - that substitutions always take place from left to right. [Bug - #635644] + * doc/Tcl.n: Added language to the Endekalogue to make it clear that + substitutions always take place from left to right. [Bug 635644] 2002-11-06 Mo DeJong * changes: Note TclInExit TclInThreadExit changes. - * generic/tclEvent.c (TclInExit, TclInThreadExit): - Split out functionality of TclInExit to make it - clear which one should be called in each situation. + * generic/tclEvent.c (TclInExit, TclInThreadExit): Split out + functionality of TclInExit to make it clear which one should be called + in each situation. * generic/tclInt.decls: Declare TclInThreadExit. * generic/tclIntDecls.h: Regen. * generic/tclStubInit.c: Regen. @@ -329,18 +319,17 @@ * win/tclWinChan.c (FileCloseProc): * win/tclWinConsole.c (ConsoleCloseProc): * win/tclWinPipe.c (TclpCloseFile): - * win/tclWinSerial.c (SerialCloseProc): Invoke the - new TclInThreadExit method instead of TclInExit. + * win/tclWinSerial.c (SerialCloseProc): Invoke the new TclInThreadExit + method instead of TclInExit. 2002-11-06 Mo DeJong * unix/configure: Regen. - * unix/tcl.m4 (SC_CONFIG_CFLAGS): Generate a fatal - configure error if no ar program can be found on the - path. [Bug #582039] + * unix/tcl.m4 (SC_CONFIG_CFLAGS): Generate a fatal configure error if + no ar program can be found on the path. [Bug 582039] * win/configure: Regen. - * win/configure.in: Check that AR, RANLIB, and RC - are found on the path when building with gcc. + * win/configure.in: Check that AR, RANLIB, and RC are found on the + path when building with gcc. 2002-11-03 David Gravereaux @@ -350,58 +339,58 @@ * win/makefile.vc: * win/rules.vc: linkexten option now sets the TCL_USE_STATIC_PACKAGES macro which also adds the registry and dde object files to the link - of the shell. [Patch 479697] Also factored some additional macros - that will be helpful for extension authors. Version grepping of tcl.h - will need to be added to complete this. + of the shell. [Patch 479697] Also factored some additional macros that + will be helpful for extension authors. Version grepping of tcl.h will + need to be added to complete this. * win/buildall.vc.bat: Added more descriptive commentary. 2002-11-01 David Gravereaux - * win/tclWinReg.c: Changed the Tcl_PkgProvide() line to declare - the registry extension at version 1.1 from 1.0. + * win/tclWinReg.c: Changed the Tcl_PkgProvide() line to declare the + registry extension at version 1.1 from 1.0. 2002-10-31 Andreas Kupries - * library/word.tcl: Changed $tcl_platform to $::tcl_platform to - avoid possible scope trouble. + * library/word.tcl: Changed $tcl_platform to $::tcl_platform to avoid + possible scope trouble. 2002-10-29 Vince Darley * win/tclWinInt.h: * win/tclWin32Dll.c: added comments about certain NULL function - pointers which will be filled in when Tcl_FindExecutable is - called, so that users don't report invalid bugs on this topic. - (No code changes at all). - + pointers which will be filled in when Tcl_FindExecutable is called, so + that users don't report invalid bugs on this topic. (No code changes + at all). + 2002-10-29 Daniel Steffen - * unix/tclLoadDyld.c (TclpFindSymbol): pass all dyld error - messages upstream [Bug #627546]. + * unix/tclLoadDyld.c (TclpFindSymbol): pass all dyld error messages + upstream [Bug 627546]. 2002-10-28 Andreas Kupries * library/dde/pkgIndex.tcl: - * library/reg/pkgIndex.tcl: Changed the hardwired debug suffix - (d) to the correct suffix (g). + * library/reg/pkgIndex.tcl: Changed the hardwired debug suffix (d) to + the correct suffix (g). 2002-10-28 Don Porter * library/auto.tcl: Converted the Mac-specific [package unknown] * library/init.tcl: behavior to use a chaining mechanism to extend - * library/package.tcl: the default [tclPkgUnknown]. [Bug 627660] + * library/package.tcl: the default [tclPkgUnknown]. [Bug 627660] * library/tclIndex: [Patch 624509] (steffen) 2002-10-26 David Gravereaux * win/makefile.vc: xcopy on NT 4.0 doesn't support the /Y switch - (overwrite). Added logic to handle this. [Bug 618019] + (overwrite). Added logic to handle this. [Bug 618019] 2002-10-23 Donal K. Fellows - * generic/tclInt.h: Removed definitions of obsolete HistoryEvent - and HistoryRev structures (the history mechanism has been written - in Tcl for some time now.) + * generic/tclInt.h: Removed definitions of obsolete HistoryEvent and + HistoryRev structures (the history mechanism has been written in Tcl + for some time now.) 2002-10-22 Jeff Hobbs @@ -419,20 +408,20 @@ * library/auto.tcl (tcl_findLibrary): * library/package.tcl (tclPkgUnknown): on macosx, search inside the - Resources/Scripts subdirectory of any potential package directory - * macosx/Tcl.pbproj/project.pbxproj: add standard Frameworks dirs - to TCL_PACKAGE_PATH make argument. + Resources/Scripts subdirectory of any potential package directory. + * macosx/Tcl.pbproj/project.pbxproj: add standard Frameworks dirs to + TCL_PACKAGE_PATH make argument. * unix/tclUnixInit.c (TclpSetVariables): on macosx, add embedded framework dirs to tcl_pkgPath: @executable_path/../Frameworks and - @executable_path/../PrivateFrameworks (if they exist), as well as - the dirs in DYLD_FRAMEWORK_PATH (if set). [Patch #624509] + @executable_path/../PrivateFrameworks (if they exist), as well as the + dirs in DYLD_FRAMEWORK_PATH (if set). [Patch 624509] use standard MAXPATHLEN instead of literal 1024 2002-10-22 Donal K. Fellows - * doc/StringObj.3, doc/Object.3: Documented that Tcl_Obj's - standard string form is a modified UTF-8; apparently, this was not - mentioned anywhere in the main docs, and lead to [Bug 624919]. + * doc/StringObj.3, doc/Object.3: Documented that Tcl_Obj's standard + string form is a modified UTF-8; apparently, this was not mentioned + anywhere in the main docs, and lead to [Bug 624919]. 2002-10-21 Daniel Steffen @@ -449,50 +438,50 @@ * win/makefile.vc: * win/makefile.bc: Updated to reg1.1 - * doc/registry.n: Added support for broadcasting changes to - * tests/registry.test: the registry Environment. Noted proper code - * win/tclWinReg.c: in the docs. [Patch #625453] + * doc/registry.n: Added support for broadcasting changes to the + * tests/registry.test: registry Environment. Noted proper code in the + * win/tclWinReg.c: docs. [Patch 625453] * unix/Makefile.in (dist): add any mac/tcl*.sea.hqx files 2002-10-17 Don Porter * generic/tclVar.c: Fixed code that check for proper # of args to - * tests/var.test: [array names]. Added test. [Bug 624755] + * tests/var.test: [array names]. Added test. [Bug 624755] 2002-10-16 Jeff Hobbs * win/configure: add workaround for cygwin windres - * win/tcl.m4 (SC_CONFIG_CFLAGS): problem. [Patch #624010] (howell) + * win/tcl.m4 (SC_CONFIG_CFLAGS): problem. [Patch 624010] (howell) 2002-10-15 Jeff Hobbs * README: added archives.tcl.tk note * unix/configure: - * unix/tcl.m4: Correct AIX-5 ppc build flags. - Correct HP 11 64-bit gcc building. [Patch #601051] (martin) + * unix/tcl.m4: Correct AIX-5 ppc build flags. Correct HP 11 64-bit gcc + building. [Patch 601051] (martin) 2002-10-15 Vince Darley * generic/tclCmdMZ.c: - * tests/trace.test: applied patch from Hemang Levana to fix - [Bug #615043] in execution traces with idle tasks firing. + * tests/trace.test: applied patch from Hemang Levana to fix [Bug + 615043] in execution traces with idle tasks firing. 2002-10-14 Jeff Hobbs - * generic/tclEnv.c (Tcl_PutEnv): correct possible mem leak. - [Patch #623269] (brouwers) + * generic/tclEnv.c (Tcl_PutEnv): correct possible mem leak. [Patch + 623269] (brouwers) 2002-10-11 Donal K. Fellows * generic/tcl.h: Need a different strategy through the maze of - #defines to let people building with Cygwin build correctly. Also - made some comments less misleading... + #defines to let people building with Cygwin build correctly. Also made + some comments less misleading... 2002-10-10 Jeff Hobbs - * README: fixed minor nits [Bug #607776] (virden) + * README: fixed minor nits [Bug 607776] (virden) * win/configure: * win/tcl.m4: enable USE_THREAD_ALLOC (new threaded allocator) by @@ -500,10 +489,10 @@ 2002-10-10 Don Porter - * doc/Tcl.n: Clarified that namespace separators are legal in - the variable names during $-subtitution. [Bug 615139] - - * doc/regexp.n: Typo correction. Thanks Ronnie Brunner. [Bug 606826] + * doc/Tcl.n: Clarified that namespace separators are legal in the + variable names during $-subtitution. [Bug 615139] + + * doc/regexp.n: Typo correction. Thanks Ronnie Brunner. [Bug 606826] 2002-10-10 Vince Darley @@ -514,10 +503,9 @@ * unix/tclLoadNext.c * unix/tclLoadOSF.c * unix/tclLoadShl.c - * win/tclWinLoad.c: allow either full paths or simply dll names - to be specified when loading files (the latter will be looked - up by the OS on your PATH/LD_LIBRARY_PATH as appropriate). - Fixes [Bug 611108] + * win/tclWinLoad.c: allow either full paths or simply dll names to be + specified when loading files (the latter will be looked up by the OS + on your PATH/LD_LIBRARY_PATH as appropriate). Fixes [Bug 611108] 2002-10-09 Jeff Hobbs @@ -530,10 +518,9 @@ 2002-10-09 Kevin B. Kenny - * win/tclWinTime.c: Added code to set an exit handler that - terminates the thread that calibrates the performance counter, so - that the thread won't outlive unloading the Tcl DLL. [Tcl bug - 620735]. + * win/tclWinTime.c: Added code to set an exit handler that terminates + the thread that calibrates the performance counter, so that the thread + won't outlive unloading the Tcl DLL. [Bug 620735] 2002-10-09 Donal K. Fellows @@ -551,19 +538,19 @@ * generic/tclStubInit.c: regen. * generic/tclCompile.h: added prototype for TclCompileVariableCmd. - * mac/tclMacPort.h: removed incorrect definitions - and obsolete definitions. - * mac/tclMacChan.c: removed obsolete GetOpenMode() and replaced - associated constants with the analogues (they existing - defs were inconsistent with which was causing havoc when + * mac/tclMacPort.h: removed incorrect definitions and + obsolete definitions. + * mac/tclMacChan.c: removed obsolete GetOpenMode() and replaced + associated constants with the analogues (they existing defs + were inconsistent with which was causing havoc when Tcl_GetOpenMode was used instead of private GetOpenMode). - * mac/tclMacFCmd.c: removed GenerateUniqueName(), use equivalent - (and identically named) routine from MoreFiles instead. + * mac/tclMacFCmd.c: removed GenerateUniqueName(), use equivalent (and + identically named) routine from MoreFiles instead. * mac/tclMacLoad.c: CONSTification, fixes to Vince's last changes. - * mac/tclMacFile.c: + * mac/tclMacFile.c: * mac/tclMacTest.c: * mac/tclMacUnix.c: CONSTification. @@ -571,14 +558,14 @@ fix for missing autoname token from TclOSACompileCmd. (bdesgraupes) * mac/AppleScript.html(AppleScript delete): doc fix. (bdesgraupes) - * mac/tcltkMacBuildSupport.sea.hqx: updated MoreFiles to 1.5.3, + * mac/tcltkMacBuildSupport.sea.hqx: updated MoreFiles to 1.5.3, updated build instructions for 8.4. * mac/tclMacProjects.sea.hqx: rebuilt archive. 2002-10-09 Donal K. Fellows - * doc/Alloc.3: Added a note to mention that attempting to allocate - a zero-length block can return NULL. [Tk bug 619544] + * doc/Alloc.3: Added a note to mention that attempting to allocate a + zero-length block can return NULL. [Tk Bug 619544] 2002-10-04 Donal K. Fellows @@ -590,18 +577,18 @@ 2002-10-03 Don Porter - * doc/tcltest.n: fixed typo [Bug 618018]. Thanks to "JJM". + * doc/tcltest.n: fixed typo [Bug 618018]. Thanks to "JJM". 2002-10-03 Donal K. Fellows - * tools/man2help2.tcl: - * tests/http.test, tests/httpd, tests/httpold.test: - * tests/env.test, tests/binary.test, tests/autoMkindex.test: - * library/init.tcl, library/http/http.tcl: [info exist] should - really be [info exists]. [Bug 602566] + * tools/man2help2.tcl: + * tests/http.test, tests/httpd, tests/httpold.test: + * tests/env.test, tests/binary.test, tests/autoMkindex.test: + * library/init.tcl, library/http/http.tcl: [info exist] should really + be [info exists]. [Bug 602566] - * doc/lsearch.n: Better specification of what happens when -sorted - is mixed with other options. [Bug 617816] + * doc/lsearch.n: Better specification of what happens when -sorted is + mixed with other options. [Bug 617816] 2002-10-01 Jeff Hobbs @@ -611,33 +598,33 @@ 2002-10-01 Donal K. Fellows - * doc/socket.n: Mentioned that ports may be specified as serivce - names as well as integers. [Bug 616843] + * doc/socket.n: Mentioned that ports may be specified as serivce names + as well as integers. [Bug 616843] 2002-09-30 Jeff Hobbs - * generic/tclCompCmds.c (TclCompileRegexpCmd): correct the - checking for bad re's that didn't terminate the re string. - Resultant compiles were correct, but much slower than necessary. + * generic/tclCompCmds.c (TclCompileRegexpCmd): correct the checking + for bad re's that didn't terminate the re string. Resultant compiles + were correct, but much slower than necessary. 2002-09-29 David Gravereaux * win/tclAppInit.c: Added proper exiting conditions using Win32 - console signals. This handles the existing lack of a Ctrl+C exit - to call exit handlers when built for thread support. Also, properly + console signals. This handles the existing lack of a Ctrl+C exit to + call exit handlers when built for thread support. Also, properly handles exits from other conditions such as CTRL_CLOSE_EVENT, - CTRL_LOGOFF_EVENT, and CTRL_SHUTDOWN_EVENT signals. In all cases, - exit handlers will be called. [Bug 219355] + CTRL_LOGOFF_EVENT, and CTRL_SHUTDOWN_EVENT signals. In all cases, + exit handlers will be called. [Bug 219355] - * win/makefile.vc: Added missing tclThreadAlloc.c to the build - rules and defines USE_THREAD_ALLOC when TCL_THREADS is defined - to get the new behavior by default. + * win/makefile.vc: Added missing tclThreadAlloc.c to the build rules + and defines USE_THREAD_ALLOC when TCL_THREADS is defined to get the + new behavior by default. 2002-09-27 Don Porter - * README: Bumped to version 8.4.1 to avoid confusion - * generic/tcl.h: of CVS snapshots with the actual 8.4.0 - * tools/tcl.wse.in: release. + * README: Bumped to version 8.4.1 to avoid confusion of + * generic/tcl.h: CVS snapshots with the actual 8.4.0 release. + * tools/tcl.wse.in: * unix/configure.in: * unix/tcl.spec: * win/configure.in: @@ -650,17 +637,17 @@ * unix/configure: regen. * unix/tcl.m4: improve AIX-4/5 64bit compilation support. - * generic/tclProc.c (Tcl_ProcObjCmd): correct overeager - optimization of noop proc to handle the precompiled case. (sofer) + * generic/tclProc.c (Tcl_ProcObjCmd): correct overeager optimization + of noop proc to handle the precompiled case. (sofer) * unix/ldAix (nmopts): add -X32_64 to make it work for 32 or 64bit mode compilation. - * library/encoding/koi8-u.enc: removed extraneous spaces that - confused encoding reader. [Bug #615115] + * library/encoding/koi8-u.enc: removed extraneous spaces that confused + encoding reader. [Bug 615115] - * unix/Makefile.in: generate source dists with -src designator and - do not generate .Z anymore (just .gz and .zip). + * unix/Makefile.in: generate source dists with -src designator and do + not generate .Z anymore (just .gz and .zip). 2002-09-18 Mumit Khan @@ -669,39 +656,38 @@ * win/tcl.m4 (SC_PATH_TCLCONFIG): Support one-tree build. (SC_PATH_TKCONFIG): Likewise. (SC_PROG_TCLSH): Likewise. - (SC_CONFIG_CFLAGS): Assume real Cygwin port and remove -mno-cygwin - flags. Add -mwin32 to extra_cflags and extra_ldflags. - Remove ``-e _WinMain@16'' from LDFLAGS_WINDOW. + (SC_CONFIG_CFLAGS): Assume real Cygwin port and remove -mno-cygwin + flags. Add -mwin32 to extra_cflags and extra_ldflags. Remove ``-e + _WinMain@16'' from LDFLAGS_WINDOW. * win/configure.in: Allow Cygwin build. (SEH test): Define to be 1 instead of empty value. (EXCEPTION_DISPOSITION): Add test. * win/configure: Regenerate. - * generic/tcl.h: Don't explicitly define __WIN32__ for Cygwin, let - the user decide whether to use Windows or POSIX personality. - (TCL_WIDE_INT_TYPE, TCL_LL_MODIFIER, struct Tcl_StatBuf): Define - for Cygwin. - * generic/tclEnv.c (Tcl_CygwinPutenv): putenv replacement for + * generic/tcl.h: Don't explicitly define __WIN32__ for Cygwin, let the + user decide whether to use Windows or POSIX personality. + (TCL_WIDE_INT_TYPE, TCL_LL_MODIFIER, struct Tcl_StatBuf): Define for Cygwin. - * generic/tclFileName.c (Tcl_TranslateFileName): Convert POSIX - to native format. + * generic/tclEnv.c (Tcl_CygwinPutenv): putenv replacement for Cygwin. + * generic/tclFileName.c (Tcl_TranslateFileName): Convert POSIX to + native format. (TclDoGlob): Likewise. * generic/tclPlatDecls.h (TCHAR): Define for Cygwin. - * win/tclWinPort.h (putenv, TclpSysAlloc, TclpSysFree, - TclpSysRealloc): Define for Cygwin. + * win/tclWinPort.h (putenv, TclpSysAlloc, TclpSysFree, + (TclpSysRealloc): Define for Cygwin. 2002-09-26 Daniel Steffen - * macosx/Makefile: preserve environment value of INSTALL_ROOT. - When embedding only use deployment build. Force relink before - embedded build to ensure new linker flags are picked up. + * macosx/Makefile: preserve environment value of INSTALL_ROOT. When + embedding only use deployment build. Force relink before embedded + build to ensure new linker flags are picked up. - * macosx/Tcl.pbproj/project.pbxproj: add symbolic links to - debug lib, stub libs and tclConfig.sh in framework toplevel. - Configure target dependency fix. Fix to 'clean' action. Added - private tcl headers to framework. Install tclsh symbolic link. - Html doc build works when no installed tclsh available. Made - html doc structure in framework more like in Apple frameworks. + * macosx/Tcl.pbproj/project.pbxproj: add symbolic links to debug lib, + stub libs and tclConfig.sh in framework toplevel. Configure target + dependency fix. Fix to 'clean' action. Added private tcl headers to + framework. Install tclsh symbolic link. Html doc build works when no + installed tclsh available. Made html doc structure in framework more + like in Apple frameworks. 2002-09-24 Donal K. Fellows @@ -709,52 +695,49 @@ detection to close [Bug 613117] on more systems. * generic/tclCompile.c (TclPrintSource): More CONSTifying. - * generic/tclExecute.c (EvalStatsCmd): Object-ify to reduce - warnings. Thanks to 'CoderX2' on the chat for bringing this to my - attention... + * generic/tclExecute.c (EvalStatsCmd): Object-ify to reduce warnings. + Thanks to 'CoderX2' on the chat for bringing this to my attention... * unix/tcl.m4: Forgot to define TCL_WIDE_INT_IS_LONG at the - appropriate moment. I believe this is the cause of [Bug 613117] + appropriate moment. I believe this is the cause of [Bug 613117] - * doc/lset.n: Changed 'list' to 'varName' for consistency with - lappend documentation. Thanks to Glenn Jackman [Bug 611719] + * doc/lset.n: Changed 'list' to 'varName' for consistency with lappend + documentation. Thanks to Glenn Jackman [Bug 611719] 2002-09-22 Don Porter * library/tcltest/tcltest.tcl: Corrected [puts -nonewline] within - test bodies. Thanks to Harald Kirsch. [Bug 612786, Patch 612788] - Also corrected reporting of body return code. Thanks to David - Taback [Bug 611922] + test bodies. Thanks to Harald Kirsch. [Bug 612786, Patch 612788] Also + corrected reporting of body return code. Thanks to David Taback [Bug + 611922] * library/tcltest/pkgIndex.tcl: Bump to version 2.2.1. * tests/tcltest.test: added tests for these bugs. 2002-09-15 Mo DeJong * unix/configure: Regen. - * unix/tcl.m4 (SC_CONFIG_CFLAGS): Add PEEK_XCLOSEIM - define under Linux. This is used by Tk to double - check that an X input context is cleaned up - before it is closed. + * unix/tcl.m4 (SC_CONFIG_CFLAGS): Add PEEK_XCLOSEIM define under + Linux. This is used by Tk to double check that an X input context is + cleaned up before it is closed. 2002-09-12 David Gravereaux - * win/coffbase.txt: Added BLT to the virtual base address - listings table should BLT's build tools decide to use it. + * win/coffbase.txt: Added BLT to the virtual base address listings + table should BLT's build tools decide to use it. 2002-09-12 Daniel Steffen * generic/tcl.h: * mac/tclMacApplication.r: * mac/tclMacLibrary.r: - * mac/tclMacResource.r: unified use of the two equivalent - resource compiler header inclusion defines RC_INVOKED and - RESOURCE_INCLUDED, now use RC_INVOKED throughout. + * mac/tclMacResource.r: unified use of the two equivalent resource + compiler header inclusion defines RC_INVOKED and RESOURCE_INCLUDED, + now use RC_INVOKED throughout. 2002-09-10 Mo DeJong - * unix/README: Add note about building extensions - with the same compiler Tcl was built with. - [Tk Bug 592096] + * unix/README: Add note about building extensions with the same + compiler Tcl was built with. [Tk Bug 592096] 2002-09-10 Daniel Steffen @@ -763,8 +746,8 @@ 2002-09-10 Daniel Steffen - * unix/Makefile.in: added DYLIB_INSTALL_DIR variable for macosx - and set it to default value ${LIB_RUNTIME_DIR} + * unix/Makefile.in: added DYLIB_INSTALL_DIR variable for macosx and + set it to default value ${LIB_RUNTIME_DIR} * unix/tcl.m4 (Darwin): use DYLIB_INSTALL_DIR instead of LIB_RUNTIME_DIR in the -install_name argument to ld. * unix/configure: regen. @@ -774,7 +757,7 @@ framework, i.e. using an dyld install_name containing @executable_path/../Frameworks via the new DYLIB_INSTALL_DIR unix/Makefile variable. - + 2002-09-10 Jeff Hobbs *** 8.4.0 TAGGED FOR RELEASE *** @@ -796,38 +779,38 @@ * generic/tclBasic.c (TclRenameCommand,CallCommandTraces): * tests/trace.test (trace-27.1): Corrected memory leak when a rename - trace deleted the command being traced. Test added. Thanks to - Hemang Lavana for the fix. [Bug 604609] + trace deleted the command being traced. Test added. Thanks to Hemang + Lavana for the fix. [Bug 604609] * generic/tclVar.c (TclDeleteVars): Corrected logic for setting the TCL_INTERP_DESTROYED flag when calling variable traces. [Tk Bug 605121] 2002-09-04 Miguel Sofer - * generic/tclVar.c (DeleteArray): leak plug [Bug 604239]. Thanks - to dkf and dgp for the long and difficult discussion in the chat. + * generic/tclVar.c (DeleteArray): leak plug [Bug 604239]. Thanks to + dkf and dgp for the long and difficult discussion in the chat. 2002-09-03 Jeff Hobbs * generic/tclVar.c (Tcl_UpVar2): code cleanup to not use goto * unix/configure: remove -pthread from LIBS on FreeBSD in thread - * unix/tcl.m4: enabled build. [Bug #602849] + * unix/tcl.m4: enabled build. [Bug 602849] 2002-09-03 Miguel Sofer * generic/tclInterp.c (AliasCreate): a Tcl_Obj was leaked on error return from TclPreventAliasLoop. - + 2002-09-03 Daniel Steffen - * macosx/Tcl.pbproj/project.pbxproj: Bumped version number to - 8.4.0 and updated copyright info. + * macosx/Tcl.pbproj/project.pbxproj: Bumped version number to 8.4.0 + and updated copyright info. 2002-09-03 Miguel Sofer - * generic/tclVar.c (Tcl_UpVar2): a Tcl_Obj was being leaked on - error return from TclGetFrame. + * generic/tclVar.c (Tcl_UpVar2): a Tcl_Obj was being leaked on error + return from TclGetFrame. 2002-09-03 Don Porter @@ -835,15 +818,15 @@ 2002-09-02 Jeff Hobbs - * unix/tclUnixFile.c (TclpObjLink): removed unnecessary/unfreed - extra native char*. + * unix/tclUnixFile.c (TclpObjLink): removed unnecessary/unfreed extra + native char*. * unix/tclUnixChan.c (Tcl_MakeTcpClientChannel): make sure to init flags field of TcpState ptr to 0. * unix/configure: * unix/tcl.m4: added 64-bit gcc compilation support on HP-11. - [Patch #601051] (martin) + [Patch 601051] (martin) * README: Bumped version number to 8.4.0 * generic/tcl.h: @@ -856,12 +839,12 @@ * win/configure.in: * generic/tclInterp.c (SlaveCreate): make sure that the memory and - checkmem commands are initialized in non-safe slave interpreters - when TCL_MEM_DEBUG is used. [Bug #583445] + checkmem commands are initialized in non-safe slave interpreters when + TCL_MEM_DEBUG is used. [Bug 583445] - * win/tclWinConsole.c (ConsoleCloseProc): only wait on writable - pipe if there was something to write. This may prevent infinite - wait on exit. + * win/tclWinConsole.c (ConsoleCloseProc): only wait on writable pipe + if there was something to write. This may prevent infinite wait on + exit. * tests/exec.test: marked exec-18.1 unixOnly until the Windows incompatability (in the test, not the core) can be resolved. @@ -881,60 +864,60 @@ 2002-08-31 Daniel Steffen - *** macosx-8-4-branch merged into the mainline [tcl patch #602770] *** + *** macosx-8-4-branch merged into the mainline [Patch 602770] *** * generic/tcl.decls: added new macosx specific entry to stubs table. * tools/genStubs.tcl: added generation of platform guards for - macosx. This is a little more complex than it seems, because MacOS - X IS "unix" plus a little bit, for the purposes of Tcl. BUT - unfortunately, Tk uses "unix" to mean X11. So added platform keys - for macosx (the little added to "unix"), "aqua" and "x11" to - distinguish these for Tk. - - * generic/tcl.h: added a #ifnded RESOURCE_INCLUDED so that tcl.h - can be passed to the resource compiler. - + macosx. This is a little more complex than it seems, because MacOS X + IS "unix" plus a little bit, for the purposes of Tcl. BUT + unfortunately, Tk uses "unix" to mean X11. So added platform keys for + macosx (the little added to "unix"), "aqua" and "x11" to distinguish + these for Tk. + + * generic/tcl.h: added a #ifnded RESOURCE_INCLUDED so that tcl.h can + be passed to the resource compiler. + * generic/tcl.h: * generic/tclNotify.c: added a few Notifier procs, to be able to - modify more bits of the Tcl notifier dynamically. Required to get - Mac OS X Tk to live on top of the Tcl Unix threaded notifier. - Changes the size of the Tcl_NotifierProcs structure, but doesn't - move any elements around. + modify more bits of the Tcl notifier dynamically. Required to get Mac + OS X Tk to live on top of the Tcl Unix threaded notifier. Changes the + size of the Tcl_NotifierProcs structure, but doesn't move any elements + around. * unix/tclUnixNotfy.c: moved the call to Tcl_ConditionNotify till - AFTER we are done mucking with the pointer swap. Fixes cases where - the thread waiting on the condition wakes & accesses the - waitingListPtr before it gets reset, causing a hang. + AFTER we are done mucking with the pointer swap. Fixes cases where the + thread waiting on the condition wakes & accesses the waitingListPtr + before it gets reset, causing a hang. - * library/auto.tcl (tcl_findLibrary): added checking the - directories in the tcl_pkgPath for library files on macosx to - enable support of the standard Mac OSX library locations + * library/auto.tcl (tcl_findLibrary): added checking the directories + in the tcl_pkgPath for library files on macosx to enable support of + the standard Mac OSX library locations. * unix/Makefile.in: * unix/configure.in: - * unix/tcl.m4: added MAC_OSX_DIR. Added PLAT_OBJS to the OBJS: - there are some MacOS X specific files now for Tcl, and when I get - he resource & applescript stuff ported over, and restore support - for FindFiles, etc, there will be a few more. - Added LD_LIBRARY_PATH_VAR configure variable to avoid having to set - all possible LD_LIBRARY_PATH analogues on all platforms. - LD_LIBRARY_PATH_VAR is "LD_LIBRARY_PATH" by default, "LIBPATH" on - AIX, "SHLIB_PATH" on HPUX and "DYLD_LIBRARY_PATH" on Mac OSX. - Added configure option to package Tcl as a framework on Mac OSX. + * unix/tcl.m4: added MAC_OSX_DIR. Added PLAT_OBJS to the OBJS: there + are some MacOS X specific files now for Tcl, and when I get the + resource & applescript stuff ported over, and restore support for + FindFiles, etc, there will be a few more. Added LD_LIBRARY_PATH_VAR + configure variable to avoid having to set all possible LD_LIBRARY_PATH + analogues on all platforms. LD_LIBRARY_PATH_VAR is "LD_LIBRARY_PATH" + by default, "LIBPATH" on AIX, "SHLIB_PATH" on HPUX and + "DYLD_LIBRARY_PATH" on Mac OSX. Added configure option to package Tcl + as a framework on Mac OSX. * macosx/tclMacOSXBundle.c (new): support for finding Tcl extension packaged as 'bundles' in the standard Mac OSX library locations. - * unix/tclUnixInit.c: added support for findig the tcl script - library inside Tcl packaged as a framework on Mac OSX. + * unix/tclUnixInit.c: added support for findig the tcl script library + inside Tcl packaged as a framework on Mac OSX. * macosx/Tcl.pbproj/jingham.pbxuser (new): * macosx/Tcl.pbproj/project.pbxproj (new): project for Apple's ProjectBuilder IDE. - * macosx/Makefile (new): simple makefile for building the project - from the command line via the ProjectBuilder tool 'pbxbuild'. + * macosx/Makefile (new): simple makefile for building the project from + the command line via the ProjectBuilder tool 'pbxbuild'. * unix/configure: * generic/tclStubInit.c: @@ -943,19 +926,18 @@ 2002-08-29 Andreas Kupries * win/tclWinThrd.c (TclpFinalizeThreadData, TclWinFreeAllocCache): - Applied patch for bug #599428, provided by Miguel Sofer - . + Applied patch for [Bug 599428], provided by Miguel Sofer + . 2002-08-28 David Gravereaux * generic/tclEnv.c: * unix/configure.in: - * win/tclWinPort.h: putenv() on some systems copies the buffer - rather than taking reference to it. This causes memory leaks - and is know to effect mswindows (msvcrt) and NetBSD 1.5.2 . This - patch tests for this behavior and turns on -DHAVE_PUTENV_THAT_COPIES=1 - when approriate. Thanks to David Welton for assistance. - [Bug 414910] + * win/tclWinPort.h: putenv() on some systems copies the buffer rather + than taking reference to it. This causes memory leaks and is know to + effect mswindows (msvcrt) and NetBSD 1.5.2 . This patch tests for this + behavior and turns on -DHAVE_PUTENV_THAT_COPIES=1 when approriate. + Thanks to David Welton for assistance. [Bug 414910] * unix/configure: regen'd @@ -963,47 +945,47 @@ * doc/eval.n: Added mention of list command and corrected "SEE ALSO". - * unix/configure.in: Cache handling of ac_cv_type_socklen_t was - wrong. [Bug 600931] reported by John Ellson. Fixed by putting the - brackets where they belong. + * unix/configure.in: Cache handling of ac_cv_type_socklen_t was wrong. + [Bug 600931] reported by John Ellson. Fixed by putting the brackets + where they belong. 2002-08-26 Miguel Sofer - * generic/tclCompCmds.c: fix for [Bug 599788] (error in element - name causing segfault), reported by Tom Wilkason. Fixed by copying - the tokens instead of the source string. + * generic/tclCompCmds.c: fix for [Bug 599788] (error in element name + causing segfault), reported by Tom Wilkason. Fixed by copying the + tokens instead of the source string. 2002-08-26 Miguel Sofer - * generic/tclThreadAlloc.c: small optimisation, reducing the - new allocator's overhead. - + * generic/tclThreadAlloc.c: small optimisation, reducing the new + allocator's overhead. + 2002-08-23 Miguel Sofer - * generic/tclObj.c (USE_THREAD_ALLOC): fixed leak [Bug 597936]. - Thanks to Zoran Vasiljevic. + * generic/tclObj.c (USE_THREAD_ALLOC): fixed leak [Bug 597936]. Thanks + to Zoran Vasiljevic. 2002-08-23 Miguel Sofer - * generic/tclThreadAlloc.c (USE_THREAD_ALLOC): moving objects - between caches as a block, instead of one-by-one. + * generic/tclThreadAlloc.c (USE_THREAD_ALLOC): moving objects between + caches as a block, instead of one-by-one. 2002-08-22 Miguel Sofer * generic/tclBasic.c: - * generic/tclCmdMZ.c: fix for freed memory r/w in delete traces - [Bug 589863], patch by Hemang Lavana. + * generic/tclCmdMZ.c: fix for freed memory r/w in delete traces [Bug + 589863], patch by Hemang Lavana. 2002-08-20 Andreas Kupries - * win/Makefile.in (CFLAGS): + * win/Makefile.in (CFLAGS): * unix/Makefile.in (MEM_DEBUG_FLAGS): Added usage of @MEM_DEBUG_FLAGS@. * win/configure.in: * unix/configure.in: Added usage of SC_ENABLE_MEMDEBUG. * win/tcl.m4: * unix/tcl.m4: Added macro SC_ENABLE_MEMDEBUG. Allows a user of - configure to (de)activate memory validation and debugging - (TCL_MEM_DEBUG). No need to modify the makefile anymore. + configure to (de)activate memory validation and debugging + (TCL_MEM_DEBUG). No need to modify the makefile anymore. 2002-08-20 Don Porter @@ -1021,9 +1003,9 @@ * win/configure: * library/http/http.tcl: Corrected installation directory of - * library/msgcat/msgcat.tcl: the package tcltest 2.2. Added + * library/msgcat/msgcat.tcl: the package tcltest 2.2. Added * library/opt/optparse.tcl: comments in other packages to remind - * library/tcltest/tcltest.tcl: that installation directories need + * library/tcltest/tcltest.tcl: that installation directories need * unix/Makefile.in: updates to match increasing version * win/Makefile.in: numbers. [Bug 597450] * win/makefile.bc: @@ -1031,50 +1013,48 @@ 2002-08-19 Andreas Kupries - * unix/tclUnixTest.c (TestfilehandlerCmd): Changed - readable/writable to the more common readable|writable. - - Fixes SF #596034 reported by Larry Virden - . + * unix/tclUnixTest.c (TestfilehandlerCmd): Changed readable/writable + to the more common readable|writable. Fixes [Bug 596034] reported by + Larry Virden . 2002-08-16 Donal K. Fellows * tests/fCmd.test: Added test to make sure that the cause of the problem is detectable with an unpatched Tcl. - * doc/ObjectType.3: Added note on the root cause of this problem - to the documentation, since it is possible for user code to - trigger this sort of behaviour too. + * doc/ObjectType.3: Added note on the root cause of this problem to + the documentation, since it is possible for user code to trigger this + sort of behaviour too. * generic/tclIOUtil.c (SetFsPathFromAny): Objects should only have their old representation deleted when we know that we are about to - install a new one. This stops a weird TclX bug under Linux with - certain kinds of memory debugging enabled which essentally came - down to a double-free of a string. + install a new one. This stops a weird TclX bug under Linux with + certain kinds of memory debugging enabled which essentally came down + to a double-free of a string. 2002-08-14 Miguel Sofer * generic/tclInt.h: - * generic/tclObj.c: (code cleanup) factored the parts in the macros + * generic/tclObj.c: (code cleanup) factored the parts in the macros TclNewObj() / TclDecrRefCount() into a common part for all memory allocators and two new macros TclAllocObjStorage() / TclFreeObjStorage() that are specific to each allocator and fully describe the differences. Removed allocator-specific code from tclObj.c by using the macros. - + 2002-08-12 Miguel Sofer * generic/tclCmdMZ.c: fixing UMR in delete traces, [Bug 589863]. - + 2002-08-08 David Gravereaux - * tools/man2help.tcl: Fixed $argv handling bug where if -bitmap - wasn't specified $argc was off by one. + * tools/man2help.tcl: Fixed $argv handling bug where if -bitmap wasn't + specified $argc was off by one. 2002-08-08 Miguel Sofer * tests/uplevel.test: added 6.1 to test [uplevel] with shadowed commands [Bug 524383] - * tests/subst.test: added 5.8-10 as further tests for [Bug 495207] + * tests/subst.test: added 5.8-10 as further tests for [Bug 495207] 2002-08-08 Don Porter @@ -1089,10 +1069,9 @@ * tests/fCmd.test: * tests/unixFCmd.test: updated tests for new link copy behavior. * generic/tclFCmd.c (CopyRenameOneFile): changed the behavior to - follow links to endpoints and copy that file/directory instead of - just copying the surface link. This means that trying to copy a - link that has no endpoint (danling link) is an error. - [Patch #591647] (darley) + follow links to endpoints and copy that file/directory instead of just + copying the surface link. This means that trying to copy a link that + has no endpoint (danling link) is an error. [Patch 591647] (darley) (CopyRenameOneFile): this is currently disabled by default until further issues with such behavior (like relative links) can be handled correctly. @@ -1102,32 +1081,32 @@ 2002-08-07 Miguel Sofer * docs/BoolObj.3: added description of valid string reps for a - boolean object [Bug 584794] + boolean object. [Bug 584794] * generic/tclObj.c: optimised Tcl_GetBooleanFromObj and SetBooleanFromAny to avoid parsing the string rep when it can be - avoided [Bugs 584650, 472576] - + avoided. [Bugs 584650, 472576] + 2002-08-07 Miguel Sofer * generic/tclCompile.h: - * generic/tclObj.c: making tclCmdNameType static ([Bug 584567], - Don Porter). - + * generic/tclObj.c: making tclCmdNameType static ([Bug 584567], Don + Porter). + 2002-08-07 Miguel Sofer * generic/tclObj.c (Tcl_NewObj): added conditional code for USE_THREAD_ALLOC; objects allocated through Tcl_NewObj() were otherwise being leaked. [Bug 587488] reported by Sven Sass. - + 2002-08-06 Daniel Steffen * generic/tclInt.decls: * unix/tclUnixThrd.c: Added stubs and implementations for non-threaded build for the tclUnixThrd.c procs TclpReaddir, - TclpLocaltime, TclpGmtime and TclpInetNtoa. - Fixes link errors in stubbed & threaded extensions that include - tclUnixPort.h and use any of the procs readdir, localtime, - gmtime or inet_ntoa (e.g. TclX 8.4) [Bug 589526] + TclpLocaltime, TclpGmtime and TclpInetNtoa. Fixes link errors in + stubbed & threaded extensions that include tclUnixPort.h and use any + of the procs readdir, localtime, gmtime or inet_ntoa (e.g. TclX 8.4) + [Bug 589526] * generic/tclIntPlatDecls.h: * generic/tclStubInit.c: Regen. @@ -1135,57 +1114,57 @@ * library/tcltest/tcltest.tcl: The setup and cleanup scripts are now * library/tcltest/pkgIndex.tcl: skipped when a test is skipped, fixing - * tests/tcltest.test: [Bug 589859]. Test for bug added, and + * tests/tcltest.test: [Bug 589859]. Test for bug added, and corrected tcltest package bumped to version 2.2. - * generic/tcl.decls: Restored Tcl_Concat to return (char *). Like + * generic/tcl.decls: Restored Tcl_Concat to return (char *). Like * generic/tclDecls.h: Tcl_Merge, it transfers ownership of a dynamic * generic/tclUtil.c: allocated string to the caller. 2002-08-04 Don Porter - * doc/CmdCmplt.3: Applied Patch 585105 to fully CONST-ify - * doc/Concat.3: all remaining public interfaces of Tcl. - * doc/CrtCommand.3: Notably, the parser no longer writes on - * doc/CrtSlave.3: the string it is parsing, so it is no - * doc/CrtTrace.3: longer necessary for Tcl_Eval() to be - * doc/Eval.3: given a writable string. Also, the - * doc/ExprLong.3: refactoring of the Tcl_*Var* routines - * doc/LinkVar.3: by Miguel Sofer is included, so that the - * doc/ParseCmd.3: "part1" argument for them no longer needs - * doc/SetVar.3: to be writable either. + * doc/CmdCmplt.3: Applied Patch 585105 to fully CONST-ify all + * doc/Concat.3: remaining public interfaces of Tcl. Notably, + * doc/CrtCommand.3: the parser no longer writes on the string it + * doc/CrtSlave.3: is parsing, so it is no longer necessary for + * doc/CrtTrace.3: Tcl_Eval() to be given a writable string. Also + * doc/Eval.3: the refactoring of the Tcl_*Var* routines by + * doc/ExprLong.3: by Miguel Sofer is included, so that the + * doc/LinkVar.3: "part1" argument for them no longer needs to + * doc/ParseCmd.3: be writable either. + * doc/SetVar.3: * doc/TraceVar.3: * doc/UpVar.3: Compatibility support has been enhanced so - * generic/tcl.decls that a #define of USE_NON_CONST will remove - * generic/tcl.h all possible source incompatibilities with - * generic/tclBasic.c the 8.3 version of the header file(s). - * generic/tclCmdMZ.c The new #define of USE_COMPAT_CONST now does - * generic/tclCompCmds.c what USE_NON_CONST used to do -- disable - * generic/tclCompExpr.c only those new CONST's that introduce - * generic/tclCompile.c irreconcilable incompatibilities. - * generic/tclCompile.h - * generic/tclDecls.h Several bugs are also fixed by this patch. - * generic/tclEnv.c [Bugs 584051,580433] [Patches 585105,582429] - * generic/tclEvent.c - * generic/tclInt.decls - * generic/tclInt.h - * generic/tclIntDecls.h - * generic/tclInterp.c - * generic/tclLink.c - * generic/tclObj.c - * generic/tclParse.c - * generic/tclParseExpr.c - * generic/tclProc.c - * generic/tclTest.c - * generic/tclUtf.c - * generic/tclUtil.c - * generic/tclVar.c - * mac/tclMacTest.c - * tests/expr-old.test - * tests/parseExpr.test - * unix/tclUnixTest.c - * unix/tclXtTest.c - * win/tclWinTest.c + * generic/tcl.decls: that a #define of USE_NON_CONST will remove + * generic/tcl.h: all possible source incompatibilities with the + * generic/tclBasic.c: 8.3 version of the header file(s). The new + * generic/tclCmdMZ.c: #define of USE_COMPAT_CONST now does what + * generic/tclCompCmds.c:USE_NON_CONST used to do -- disable only those + * generic/tclCompExpr.c:new CONST's that introduce irreconcilable + * generic/tclCompile.c: incompatibilities. + * generic/tclCompile.h: + * generic/tclDecls.h: Several bugs are also fixed by this patch. + * generic/tclEnv.c: [Bugs 584051,580433] [Patches 585105,582429] + * generic/tclEvent.c: + * generic/tclInt.decls: + * generic/tclInt.h: + * generic/tclIntDecls.h: + * generic/tclInterp.c: + * generic/tclLink.c: + * generic/tclObj.c: + * generic/tclParse.c: + * generic/tclParseExpr.c: + * generic/tclProc.c: + * generic/tclTest.c: + * generic/tclUtf.c: + * generic/tclUtil.c: + * generic/tclVar.c: + * mac/tclMacTest.c: + * tests/expr-old.test: + * tests/parseExpr.test: + * unix/tclUnixTest.c: + * unix/tclXtTest.c: + * win/tclWinTest.c: 2002-08-01 Miguel Sofer @@ -1195,28 +1174,27 @@ 2002-08-01 Miguel Sofer * generic/tclExecute.c: added a reference count for the complete - execution stack, instead of Tcl_Preserve/Tcl_Release. + execution stack, instead of Tcl_Preserve/Tcl_Release. 2002-08-01 Mo DeJong - * generic/tclCkalloc.c (TclFinalizeMemorySubsystem): - Don't lock the ckalloc mutex before invoking the - Tcl_DumpActiveMemory function since it also - locks the same mutex. This code is only executed - when "memory onexit filename" has been executed - and Tcl is compiled with -DTCL_MEM_DEBUG. + * generic/tclCkalloc.c (TclFinalizeMemorySubsystem): Don't lock the + ckalloc mutex before invoking the Tcl_DumpActiveMemory function since + it also locks the same mutex. This code is only executed when "memory + onexit filename" has been executed and Tcl is compiled with + -DTCL_MEM_DEBUG. 2002-08-01 Reinhard Max - * win/tclWinPort.h: The windows headers don't provide socklen_t, - so we have to do it. + * win/tclWinPort.h: The windows headers don't provide socklen_t, so we + have to do it. 2002-07-31 Miguel Sofer * generic/tclInt.h (USE_THREAD_ALLOC): for unshared objects, TclDecrRefCount now frees the internal rep before the string rep - - just like the non-macro Tcl_DecrRefCount/TclFreeObj [Bug 524802]. - For the other allocators the fix was done on 2002-03-06. + just like the non-macro Tcl_DecrRefCount/TclFreeObj [Bug 524802]. For + the other allocators the fix was done on 2002-03-06. 2002-07-31 Miguel Sofer @@ -1230,134 +1208,125 @@ * unix/tcl.m4 (SC_BUGGY_STRTOD): Solaris 2.8 still has a buggy strtod() implementation; make sure we detect it. - * tests/expr.test (expr-22.*): Marked as non-portable because it - seems that these tests have an annoying tendency to fail in - unexpected ways. [Bugs 584825, 584950, 585986] + * tests/expr.test (expr-22.*): Marked as non-portable because it seems + that these tests have an annoying tendency to fail in unexpected ways. + [Bugs 584825, 584950, 585986] 2002-07-30 Andreas Kupries - * tests/io.test: + * tests/io.test: * generic/tclIO.c (WriteChars): Added flag to break out of loop if - nothing of the input is consumed at all, to prevent infinite - looping of called with a non-UTF-8 string. Fixes Bug 584603 - (partially). Added new test "io-60.1". Might need additional - changes to Tcl_Main so that unprintable results are printed as - binary data. + nothing of the input is consumed at all, to prevent infinite looping + of called with a non-UTF-8 string. Fixes Bug 584603 (partially). Added + new test "io-60.1". Might need additional changes to Tcl_Main so that + unprintable results are printed as binary data. 2002-07-29 Mo DeJong - * unix/Makefile.in: Use CC_SEARCH_FLAGS instead of - LD_SEARCH_FLAGS when linking with ${CC}. + * unix/Makefile.in: Use CC_SEARCH_FLAGS instead of LD_SEARCH_FLAGS + when linking with ${CC}. * unix/configure: Regen. - * unix/configure.in: Don't subst CC_SEARCH_FLAGS or - LD_SEARCH_FLAGS since this is now done in tcl.m4. - * unix/tcl.m4 (SC_CONFIG_CFLAGS): Document and - set CC_SEARCH_FLAGS whenever LD_SEARCH_FLAGS is set. - [Tcl patch 588290] + * unix/configure.in: Don't subst CC_SEARCH_FLAGS or LD_SEARCH_FLAGS + since this is now done in tcl.m4. + * unix/tcl.m4 (SC_CONFIG_CFLAGS): Document and set CC_SEARCH_FLAGS + whenever LD_SEARCH_FLAGS is set. [Patch 588290] 2002-07-29 Reinhard Max * unix/tcl.m4 (SC_SERIAL_PORT): Fixed detection for cases when configure's stdin is not a tty. - - * unix/tclUnixPort.h: + + * unix/tclUnixPort.h: * generic/tclIOSock.c: Changed size_t to socklen_t in socket-related function calls. * unix/configure.in: Added test and fallback definition for socklen_t. - + * unix/configure: generated. 2002-07-29 Miguel Sofer * generic/tclObj.c: fixed a comment - * generic/tcl.h: - * generic/tclBasic.c: - * generic/tclInterp.c: added the new flag TCL_EVAL_INVOKE to - the interface of the Tcl_Eval* functions, removing the - TCL_EVAL_NO_TRACEBACK added yesterday: alias invocations not only - require no tracebacks, but also look up the command name in the - global scope - see new test interp-9.4 - * tests/interp.test: added 9.3 to test for safety of aliases to - hidden commands, 9.4 to test for correct command lookup scope. + * generic/tcl.h: + * generic/tclBasic.c: + * generic/tclInterp.c: added the new flag TCL_EVAL_INVOKE to the + interface of the Tcl_Eval* functions, removing the + TCL_EVAL_NO_TRACEBACK added yesterday: alias invocations not only + require no tracebacks, but also look up the command name in the global + scope - see new test interp-9.4 + * tests/interp.test: added 9.3 to test for safety of aliases to hidden + commands, 9.4 to test for correct command lookup scope. 2002-07-29 Donal K. Fellows * generic/regc_locale.c (cclass): [[:xdigit:]] is only a defined - concept on western characters, so should not allow any unicode - digit, and hence number of ranges in [[:xdigit:]] is fixed. + concept on western characters, so should not allow any unicode digit, + and hence number of ranges in [[:xdigit:]] is fixed. * tests/reg.test: Added test to detect the bug. * generic/regc_cvec.c (newcvec): Corrected initial size value in - character vector structure. [Bug 578363] Many thanks to + character vector structure. [Bug 578363] Many thanks to pvgoran@users.sf.net for tracking this down. 2002-07-28 Miguel Sofer - * generic/tcl.h: - * generic/tclBasic.c: added the new flag TCL_EVAL_NO_TRACEBACK to - the interface of the Tcl_Eval* functions. Modified the error - message for too many nested evaluations. + * generic/tcl.h: + * generic/tclBasic.c: added the new flag TCL_EVAL_NO_TRACEBACK to the + interface of the Tcl_Eval* functions. Modified the error message for + too many nested evaluations. * generic/tclInterp.h: changed the Alias struct to be of variable - length and store the prefix arguments directly (instead of a - pointer to a Tcl_Obj list). Made AliasObjCmd call Tcl_EvalObjv - instead of TclObjInvoke - thus making aliases trigger execution - traces [Bug 582522]. + length and store the prefix arguments directly (instead of a pointer + to a Tcl_Obj list). Made AliasObjCmd call Tcl_EvalObjv instead of + TclObjInvoke - thus making aliases trigger execution traces [Bug + 582522]. * tests/interp.test: * tests/stack.test: adapted to the new error message. - * tests/trace.test: added tests for aliases firing the exec - traces. + * tests/trace.test: added tests for aliases firing the exec traces. 2002-07-27 Mo DeJong - * unix/Makefile.in: Revert fix for Tcl bug 529801 - since it was incorrect and broke the build on - other systems. Fix Tcl bug 587299. - Add MAJOR_VERSION, MINOR_VERSION, PATCH_LEVEL, - SHLIB_LD_FLAGS, SHLIB_LD_LIBS, CC_SEARCH_FLAGS, - LD_SEARCH_FLAGS, and LIB_FILE variables to support - more generic library build/install rules. + * unix/Makefile.in: Revert fix for Tcl bug 529801 since it was + incorrect and broke the build on other systems. Fix [Bug 587299]. Add + MAJOR_VERSION, MINOR_VERSION, PATCH_LEVEL, SHLIB_LD_FLAGS, + SHLIB_LD_LIBS, CC_SEARCH_FLAGS, LD_SEARCH_FLAGS, and LIB_FILE + variables to support more generic library build/install rules. * unix/configure: Regen. - * unix/configure.in: Move AC_PROG_RANLIB into - tcl.m4. Move shared build test and setting - of MAKE_LIB and MAKE_STUB_LIB into tcl.m4. - Move subst of a number of variables into - tcl.m4 where they are defined. - * unix/tcl.m4 (SC_ENABLE_SYMBOLS, SC_CONFIG_CFLAGS): - Subst vars where they are defined. Add MAKE_LIB, - MAKE_STUB_LIB, INSTALL_LIB, and INSTALL_STUB_LIB - rules to deal with the ugly details of running - ranlib on static libs at build and install time. - Replace TCL_SHLIB_LD_EXTRAS with SHLIB_LD_FLAGS - and use it when building a shared library. + * unix/configure.in: Move AC_PROG_RANLIB into tcl.m4. Move shared + build test and setting of MAKE_LIB and MAKE_STUB_LIB into tcl.m4. Move + subst of a number of variables into tcl.m4 where they are defined. + * unix/tcl.m4 (SC_ENABLE_SYMBOLS, SC_CONFIG_CFLAGS): Subst vars where + they are defined. Add MAKE_LIB, MAKE_STUB_LIB, INSTALL_LIB, and + INSTALL_STUB_LIB rules to deal with the ugly details of running ranlib + on static libs at build and install time. Replace TCL_SHLIB_LD_EXTRAS + with SHLIB_LD_FLAGS and use it when building a shared library. * unix/tclConfig.sh.in: Add TCL_CC_SEARCH_FLAGS. 2002-07-26 Miguel Sofer - * generic/tclExecute.c: fixed Tcl_Obj leak in code corresponding - to the macro NEXT_INST_V(x, 0, 1) [Bug 587495]. - + * generic/tclExecute.c: fixed Tcl_Obj leak in code corresponding to + the macro NEXT_INST_V(x, 0, 1) [Bug 587495]. + 2002-07-26 Miguel Sofer - * generic/tclVar.c (TclObjLookupVar): leak fix and improved - comments. + * generic/tclVar.c (TclObjLookupVar): leak fix and improved comments. 2002-07-26 Jeff Hobbs * generic/tclVar.c (TclLookupVar): removed early returns that - prevented the parens from being restored. also removed goto label - as it was not necessary. + prevented the parens from being restored. Also removed goto label as + it was not necessary. 2002-07-24 Miguel Sofer - * generic/tclExecute.c: + * generic/tclExecute.c: * tests/expr-old.test: fix for erroneous error messages in [expr], - [Bug 587140] reported by Martin Lemburg. + [Bug 587140] reported by Martin Lemburg. 2002-07-25 Joe English - * generic/tclProc.c: fix for Tk Bug #219218 "error handling - with bgerror in Tk" + + * generic/tclProc.c: fix for [Tk Bug 219218] "error handling with + bgerror in Tk" 2002-07-24 Miguel Sofer @@ -1366,21 +1335,21 @@ 2002-07-24 Don Porter - * tests/unixInit.test: relaxed unixInit-3.1 to accept iso8859-15 - as a valid C encoding. [Bug 575336] + * tests/unixInit.test: relaxed unixInit-3.1 to accept iso8859-15 as a + valid C encoding. [Bug 575336] 2002-07-24 Miguel Sofer - * generic/tclExecute.c: restoring the tcl_traceCompile - functionality while I repair tcl_traceExec. The core now compiles - and runs also under TCL_COMPILE_DEBUG, but execution in the - bytecode engine can still not be traced. + * generic/tclExecute.c: restoring the tcl_traceCompile functionality + while I repair tcl_traceExec. The core now compiles and runs also + under TCL_COMPILE_DEBUG, but execution in the bytecode engine can + still not be traced. 2002-07-24 Daniel Steffen * unix/Makefile.in: - * unix/configure.in: corrected fix for [Bug 529801]: ranlib - only needed for static builds on Mac OS X. + * unix/configure.in: corrected fix for [Bug 529801]: ranlib only + needed for static builds on Mac OS X. * unix/configure: Regen. * unix/tclLoadDyld.c: fixed small bugs introduced by Vince, implemented library unloading correctly (needs OS X 10.2). @@ -1390,43 +1359,42 @@ * doc/OpenFileChnl.3: (Updates from Larry Virden) * doc/open.n: * doc/tclsh.1: Fix section numbers in Unix man page references. - * doc/lset.n: In EXAMPLES section, include command to set the - initial value used in subsequent examples. + * doc/lset.n: In EXAMPLES section, include command to set the initial + value used in subsequent examples. * doc/http.n: Package version updated to 2.4. 2002-07-23 Mo DeJong * unix/configure: Regen. - * unix/tcl.m4 (SC_CONFIG_CFLAGS): Enable 64 bit compilation - when using the native compiler on a 64 bit version of IRIX. - [Tcl bug 219220] + * unix/tcl.m4 (SC_CONFIG_CFLAGS): Enable 64 bit compilation when using + the native compiler on a 64 bit version of IRIX. [Bug 219220] 2002-07-23 Mo DeJong - * unix/Makefile.in: Combine ranlib tests and - avoid printing unless ranlib is actually run. + * unix/Makefile.in: Combine ranlib tests and avoid printing unless + ranlib is actually run. 2002-07-23 Mo DeJong - * unix/tcl.m4 (SC_PATH_X): Set XINCLUDES to "" instead - of "# no special path needed" or "# no include files found" - when x headers cannot be located. + * unix/tcl.m4 (SC_PATH_X): Set XINCLUDES to "" instead of "# no + special path needed" or "# no include files found" when x headers + cannot be located. 2002-07-22 Vince Darley - * generic/tclIOUtil.c: made tclNativeFilesystem static - (since 07-19 changes removed its usage elsewhere), and - added comments about its usage. + * generic/tclIOUtil.c: made tclNativeFilesystem static (since 07-19 + changes removed its usage elsewhere), and added comments about its + usage. * generic/tclLoad.c: * generic/tcl.h: - * generic/tcl.decls: - * doc/FileSystem.3: converted last load-related ClientData - parameter to Tcl_LoadHandle opaque structure, removing a - couple of casts in the process. - - * generic/tclInt.h: removed tclNativeFilesystem declaration - since it is now static again. - + * generic/tcl.decls: + * doc/FileSystem.3: converted last load-related ClientData parameter + to Tcl_LoadHandle opaque structure, removing a couple of casts in the + process. + + * generic/tclInt.h: removed tclNativeFilesystem declaration since it + is now static again. + 2002-07-22 Donal K. Fellows * tests/expr.test (expr-22.*): Added tests to help detect the @@ -1444,34 +1412,33 @@ * generic/tclIOUtil.c: fix to GetFilesystemRecord * win/tclWinFile.c: - * unix/tclUnixFile.c: fix to subtle problem with links shown - up by latest tclkit builds. + * unix/tclUnixFile.c: fix to subtle problem with links shown up by + latest tclkit builds. 2002-07-19 Mo DeJong * unix/configure: * unix/configure.in: * win/configure: - * win/configure.in: Add AC_PREREQ(2.13) in an attempt - to make it more clear that the configure scripts - must be generated with autoconf version 2.13. - [Bug 583573] + * win/configure.in: Add AC_PREREQ(2.13) in an attempt to make it more + clear that the configure scripts must be generated with autoconf + version 2.13. [Bug 583573] 2002-07-19 Vince Darley - * unix/Makefile.in: fix to build on MacOS X [Bug 529801], bug - report and fix from jcw. + * unix/Makefile.in: fix to build on MacOS X [Bug 529801], bug report + and fix from jcw. 2002-07-19 Donal K. Fellows * win/tclWinSerial.c (no_timeout): Made this variable static. - * generic/tclExecute.c, generic/tclCompile.c, generic/tclBasic.c: + * generic/tclExecute.c, generic/tclCompile.c, generic/tclBasic.c: * generic/tclCompile.h (builtinFuncTable, instructionTable): Added prefix to these symbols because they are visible outside the Tcl library. - * generic/tclCompExpr.c (operatorTable): + * generic/tclCompExpr.c (operatorTable): * unix/tclUnixTime.c (tmKey): * generic/tclIOUtil.c (theFilesystemEpoch, filesystemWantToModify, filesystemIteratorsInProgress, filesystemOkToModify): Made these @@ -1480,18 +1447,18 @@ * unix/tclUnixFile.c: Renamed nativeFilesystem to * win/tclWinFile.c: tclNativeFilesystem and declared * generic/tclIOUtil.c: it properly in tclInt.h - * generic/tclInt.h: + * generic/tclInt.h: * generic/tclUtf.c (totalBytes): Made this array static and const. * generic/tclParse.c (typeTable): Made this array static and const. - (Tcl_ParseBraces): Simplified error handling case so that scans - are only performed when needed, and flags are simpler too. + (Tcl_ParseBraces): Simplified error handling case so that scans are + only performed when needed, and flags are simpler too. * license.terms: Added AS to list of copyright holders; it's only fair for the current gatekeepers to be listed here! - * tests/cmdMZ.test: Renamed constraint for clarity. [Bug#583427] + * tests/cmdMZ.test: Renamed constraint for clarity. [Bug 583427] Added tests for the [time] command, which was previously only indirectly tested! @@ -1499,41 +1466,39 @@ * generic/tclInt.h: * generic/tcl.h: - * */*Load*.c: added comments on changes of 07/17 and - replaced clientData with Tcl_LoadHandle in all locations. + * */*Load*.c: added comments on changes of 07/17 and replaced + clientData with Tcl_LoadHandle in all locations. * generic/tclFCmd.c: - * tests/fileSystem.test: fixed a 'knownBug' with 'file - attributes ""' - * tests/winFCmd.test: + * tests/fileSystem.test: fixed a 'knownBug' with 'file attributes ""' + * tests/winFCmd.test: * tests/winPipe.test: * tests/fCmd.test: - * tessts/winFile.test: added 'pcOnly' constraint to some - tests to make for more useful 'tests skipped' log from - running all tests on non-Windows platforms. - + * tessts/winFile.test: added 'pcOnly' constraint to some tests to make + for more useful 'tests skipped' log from running all tests on + non-Windows platforms. + 2002-07-17 Miguel Sofer - * generic/tclBasic.c (CallCommandTraces): delete traces now - receive the FQ old name of the command. - [Bug 582532] (Don Porter) + * generic/tclBasic.c (CallCommandTraces): delete traces now receive + the FQ old name of the command. [Bug 582532] (Don Porter) 2002-07-18 Vince Darley - * tests/ioUtil.test: added constraints to 1.4,2.4 so they - don't run outside of tcltest. [Bugs 583276,583277] - + * tests/ioUtil.test: added constraints to 1.4,2.4 so they don't run + outside of tcltest. [Bugs 583276, 583277] + 2002-07-17 Miguel Sofer - * generic/tclVar.c (DupParsedVarName): nasty bug fixed, reported - by Vince Darley. + * generic/tclVar.c (DupParsedVarName): nasty bug fixed, reported by + Vince Darley. 2002-07-17 Miguel Sofer * generic/tclVar.c (TclPtrIncrVar): missing CONST in declarations, - inconsistent with tclInt.h. Thanks to Vince Darley for reporting, - boo to gcc for not complaining. - + inconsistent with tclInt.h. Thanks to Vince Darley for reporting, boo + to gcc for not complaining. + 2002-07-17 Vince Darley * generic/tclInt.h: @@ -1547,16 +1512,16 @@ * unix/tclLoadOSF.c: * unix/tclLoadShl.c: * mac/tclMacLoad.c: - * win/tclWinLoad.c: modified to move more functionality - to the generic code and avoid duplication. Partial replacement - of internal uses of clientData with opaque Tcl_LoadHandle. A - little further work still needed, but significant changes are done. + * win/tclWinLoad.c: modified to move more functionality to the generic + code and avoid duplication. Partial replacement of internal uses of + clientData with opaque Tcl_LoadHandle. A little further work still + needed, but significant changes are done. 2002-07-17 D. Richard Hipp - * library/msgcat/msgcat.tcl: fix a comment that was causing - problems for programs (ex: mktclapp) that embed the initialization - scripts in strings. + * library/msgcat/msgcat.tcl: fix a comment that was causing problems + for programs (ex: mktclapp) that embed the initialization scripts in + strings. 2002-07-17 Miguel Sofer @@ -1565,17 +1530,17 @@ * generic/tclStubInit.c: * generic/tclVar.c: removing the now redundant functions to access indexed variables: Tcl(Get|Set|Incr)IndexedScalar() and - Tcl(Get|Set|Incr)ElementOfIndexedArray(). + Tcl(Get|Set|Incr)ElementOfIndexedArray(). 2002-07-17 Donal K. Fellows - * generic/tclExecute.c (TclExecuteByteCode): Minor fixes to make - this file compile with SunPro CC... + * generic/tclExecute.c (TclExecuteByteCode): Minor fixes to make this + file compile with SunPro CC... 2002-07-17 Miguel Sofer - * generic/tclExecute.c: modified to do variable lookup explicitly, - and then either inlining the variable access or else calling the new + * generic/tclExecute.c: modified to do variable lookup explicitly, and + then either inlining the variable access or else calling the new TclPtr(Set|Get|Incr)Var functions in tclVar.c * generic/tclInt.h: declare some functions previously local to tclVar.c for usage by TEBC. @@ -1586,21 +1551,20 @@ ** WARNING FOR BYTECODE MAINTAINERS ** TCL_COMPILE_DEBUG is currently not functional; will be fixed ASAP. - + 2002-07-16 Mo DeJong * unix/Makefile.in: - * win/Makefile.in: Add a more descriptive warning - in the event `make genstubs` needs to be rerun. + * win/Makefile.in: Add a more descriptive warning in the event `make + genstubs` needs to be rerun. 2002-07-16 Mo DeJong - * unix/Makefile.in: Use dltest.marker file - to keep track of when the dltest package - is up to date. This fixes [Tcl bug 575768] - since tcltest is no longer linked every time. - * unix/dltest/Makefile.in: Create ../dltest.marker - after a successful `make all` run in dltest. + * unix/Makefile.in: Use dltest.marker file to keep track of when the + dltest package is up to date. This fixes [Bug 575768] since tcltest is + no longer linked every time. + * unix/dltest/Makefile.in: Create ../dltest.marker after a successful + `make all` run in dltest. 2002-07-16 Mo DeJong @@ -1610,33 +1574,32 @@ 2002-07-15 Miguel Sofer * generic/tclVar.c: inaccurate comment fixed - + 2002-07-15 Miguel Sofer * generic/tclBasic.c (Tcl_AddObjErrorInfo): * generic/tclExecute.c (TclUpdateReturnInfo): - * generic/tclInt.h: - * generic/tclProc.c: - Added two Tcl_Obj to the ExecEnv structure to hold the fully - qualified names "::errorInfo" and "::errorCode" to cache the - addresses of the corresponding variables. The two most frequent - setters of these variables now profit from the new variable name - caching. + * generic/tclInt.h: + * generic/tclProc.c: + Added two Tcl_Obj to the ExecEnv structure to hold the fully qualified + names "::errorInfo" and "::errorCode" to cache the addresses of the + corresponding variables. The two most frequent setters of these + variables now profit from the new variable name caching. 2002-07-15 Miguel Sofer * generic/tclVar.c: refactorisation to reuse already looked-up Var - pointers; definition of three new Tcl_Obj types to cache variable - name parsing and lookup for later reuse; modification of internal - functions to profit from the caching. - + pointers; definition of three new Tcl_Obj types to cache variable name + parsing and lookup for later reuse; modification of internal functions + to profit from the caching. + * generic/tclInt.decls: * generic/tclInt.h: * generic/tclIntDecls.h: * generic/tclNamesp.c: adding CONST qualifiers to variable names - passed to Tcl_FindNamespaceVar and to variable resolvers; adding - CONST qualifier to the 'msg' argument to TclLookupVar. Needed to - avoid code duplication in the new tclVar.c code. + passed to Tcl_FindNamespaceVar and to variable resolvers; adding CONST + qualifier to the 'msg' argument to TclLookupVar. Needed to avoid code + duplication in the new tclVar.c code. * tests/set-old.test: * tests/var.test: slight modification of error messages due to the @@ -1644,27 +1607,27 @@ 2002-07-15 Don Porter - * tests/unixInit.test: Improved constraints to protect /tmp. - [Bug 581403] + * tests/unixInit.test: Improved constraints to protect /tmp. [Bug + 581403] 2002-07-15 Vince Darley - * tests/winFCmd.test: renamed 'win2000' and 'notWin2000' to - more appropriate constraint names. + * tests/winFCmd.test: renamed 'win2000' and 'notWin2000' to more + appropriate constraint names. * win/tclWinFile.c: updated comments to reflect 07-11 changes. - * win/tclWinFCmd.c: made ConvertFileNameFormat static again, - since no longer used in tclWinFile.c - * mac/tclMacFile.c: completed TclpObjLink implementation which - was previously lacking. + * win/tclWinFCmd.c: made ConvertFileNameFormat static again, since no + longer used in tclWinFile.c + * mac/tclMacFile.c: completed TclpObjLink implementation which was + previously lacking. * generic/tclIOUtil.c: comment cleanup and code speedup. - + 2002-07-14 Don Porter * generic/tclInt.h: Removed declarations that duplicated entries - in the (internal) stub table. - + in the (internal) stub table. + * library/tcltest/tcltest.tcl: Corrected errors in handling of - configuration options -constraints and -limitconstraints. + configuration options -constraints and -limitconstraints. * README: Bumped HEAD to version 8.4b2 so we can * generic/tcl.h: distinguish it from the 8.4b1 release. @@ -1677,11 +1640,11 @@ 2002-07-11 Vince Darley * doc/file.n: - * win/tclWinFile.c: on Win 95/98/ME the long form of the path - is used as a normalized form. This is required because short - forms are not a robust representation. The file normalization - function has been sped up, but more performance gains might be - possible, if speed is still an issue on these platforms. + * win/tclWinFile.c: on Win 95/98/ME the long form of the path is used + as a normalized form. This is required because short forms are not a + robust representation. The file normalization function has been sped + up, but more performance gains might be possible, if speed is still an + issue on these platforms. 2002-07-11 Don Porter @@ -1692,16 +1655,16 @@ 2002-07-11 Donal K. Fellows - * generic/tclCkalloc.c: ckalloc() and friends take the block size - as an unsigned, so we should use %ud when reporting it in fprintf() - and panic(). + * generic/tclCkalloc.c: ckalloc() and friends take the block size as + an unsigned, so we should use %ud when reporting it in fprintf() and + panic(). 2002-07-11 Miguel Sofer - * generic/tclCompile.c: now setting local vars undefined at - compile time, instead of waiting until the proc is initialized. - * generic/tclProc.c: use macro TclSetVarUndefined instead of - directly etting the flag. + * generic/tclCompile.c: now setting local vars undefined at compile + time, instead of waiting until the proc is initialized. + * generic/tclProc.c: use macro TclSetVarUndefined instead of directly + setting the flag. 2002-07-11 Donal K. Fellows @@ -1710,10 +1673,10 @@ 2002-07-10 Donal K. Fellows - * tests/unixFCmd.test, tests/fileName.test: + * tests/unixFCmd.test, tests/fileName.test: * tests/fCmd.test: Removed [exec] of Unix utilities that have - equivalents in standard Tcl. [Bug 579268] Also simplified some - of unixFCmd.test while I was at it. + equivalents in standard Tcl. [Bug 579268] Also simplified some of + unixFCmd.test while I was at it. 2002-07-10 Don Porter @@ -1743,20 +1706,19 @@ * tests/cmdAH.test: Removed [exec] of Unix utilities. [Bug 579211] * tests/expr.test: Added tests to make sure that this works. - * generic/tclExecute.c (ExprCallMathFunc): Functions should also - be able to return wide-ints. [Bug 579284] + * generic/tclExecute.c (ExprCallMathFunc): Functions should also be + able to return wide-ints. [Bug 579284] 2002-07-08 Andreas Kupries - * tests/socket.test: Fixed bug #578164. The original reason for - the was a DNS outage while running the testsuite. Changed [info - hostname] to 127.0.0.1 to bypass DNS, knowing that we operate on - the local host. + * tests/socket.test: Fixed [Bug 578164]. The original reason for the + was a DNS outage while running the testsuite. Changed [info hostname] + to 127.0.0.1 to bypass DNS, knowing that we operate on the local host. 2002-07-08 Don Porter * doc/tcltest.n: Fixed incompatibility in [viewFile]. - * library/tcltest/tcltest.tcl: Corrected docs. Bumped to 2.2.1. + * library/tcltest/tcltest.tcl: Corrected docs. Bumped to 2.2.1. * library/tcltest/pkgIndex.tcl: [Bug 578163] 2002-07-08 Vince Darley @@ -1773,26 +1735,27 @@ * unix/tclUnixChan.c: * win/tclWinChan.c: * doc/FileSystem.3: cleaned up internal handling of - Tcl_FSOpenFileChannel to remove duplicate code, and make - writing external vfs's clearer and easier. No - functionality change. Also clarify that objects with refCount - zero should not be passed in to the Tcl_FS API, and prevent - segfaults from occuring on such user errors. [Bug 578617] - + Tcl_FSOpenFileChannel to remove duplicate code, and make writing + external vfs's clearer and easier. No functionality change. Also + clarify that objects with refCount zero should not be passed in to the + Tcl_FS API, and prevent segfaults from occuring on such user errors. + [Bug 578617] + 2002-07-06 Don Porter * tests/pkgMkIndex.test: Constrained tests of [load] package indexing to those platforms where the testing shared libraries have been built. - [Bug 578166]. + [Bug 578166] 2002-07-05 Don Porter + * changes: added recent changes 2002-07-05 Reinhard Max - * generic/tclClock.c (FormatClock): Convert the format string to - UTF8 before calling TclpStrftime, so that non-ASCII characters - don't get mangled when the result string is being converted back. + * generic/tclClock.c (FormatClock): Convert the format string to UTF8 + before calling TclpStrftime, so that non-ASCII characters don't get + mangled when the result string is being converted back. * tests/clock.test: Added a test for that. 2002-07-05 Donal K. Fellows @@ -1803,22 +1766,22 @@ names for broken sites (like mine) where gdb and ddd are installed with non-standard names... - * tests/httpold.test: Altered test names to httpold-* to avoid - clashes with http.test, and stopped tests from failing when the - current directory is not writable... - - * tests/event.test: Stop these tests from failing - * tests/ioUtil.test: when the current directory is - * tests/regexp.test: not writable... - * tests/regexpComp.test: - * tests/source.test: - * tests/unixFile.test: - * tests/unixNotfy.test: - - * tests/unixFCmd.test: Trying to make these test-files - * tests/macFCmd.test: not bomb out with an error when - * tests/http.test: the current directory is not - * tests/fileName.test: writable... + * tests/httpold.test: Altered test names to httpold-* to avoid clashes + with http.test, and stopped tests from failing when the current + directory is not writable... + + * tests/event.test: Stop these tests from failing when the + * tests/ioUtil.test: current directory is not writable... + * tests/regexp.test: + * tests/regexpComp.test: + * tests/source.test: + * tests/unixFile.test: + * tests/unixNotfy.test: + + * tests/unixFCmd.test: Trying to make these test-files not + * tests/macFCmd.test: bomb out with an error when the + * tests/http.test: current directory is not writable... + * tests/fileName.test: * tests/env.test: 2002-07-05 Jeff Hobbs @@ -1827,35 +1790,35 @@ 2002-07-04 Donal K. Fellows - * tests/cmdMZ.test (cmdMZ-1.4): - * tests/cmdAH.test: More fixing of writable-current-dir - assumption. [Bug 575824] + * tests/cmdMZ.test (cmdMZ-1.4): + * tests/cmdAH.test: More fixing of writable-current-dir assumption. + [Bug 575824] 2002-07-04 Miguel Sofer * tests/basic.test: Same issue as below; fixed [Bug 575817] - + 2002-07-04 Andreas Kupries - * tests/socket.test: - * tests/winPipe.test: - * tests/pid.test: Fixed SF Bug #575848. See below for a - description the general problem. + * tests/socket.test: + * tests/winPipe.test: + * tests/pid.test: Fixed [Bug 575848]. See below for a description the + general problem. - * All the bugs below are instances of the same problem: The - testsuite assumes [pwd] = [temporaryDirectory] and writable. + * All the bugs below are instances of the same problem: The testsuite + assumes [pwd] = [temporaryDirectory] and writable. - * tests/iogt.test: Fixed bug #575860. - * tests/io.test: Fixed bug #575862. - * tests/exec.test: - * tests/ioCmd.test: Fixed bug #575836. + * tests/iogt.test: Fixed [Bug 575860]. + * tests/io.test: Fixed [Bug 575862]. + * tests/exec.test: + * tests/ioCmd.test: Fixed [Bug 575836]. 2002-07-03 Don Porter * tests/pkg1/direct1.tcl: removed * tests/pkg1/pkgIndex.tcl: removed * tests/pkgMkIndex.test: Imported auxilliary files from tests/pkg1 - into the test file pkgMkIndex.test itself. Formatting fixes. + into the test file pkgMkIndex.test itself. Formatting fixes. * unix/Makefile.in: removed tests/pkg/* from `make dist` @@ -1876,22 +1839,21 @@ * tests/pkg/spacename.tcl: removed * tests/pkg/std.tcl: removed * tests/pkgMkIndex.test: Fixed [Bug 575857] where this test file - expected to be able to write to [file join [testsDirectory] - pkg]. Part of the fix was to import several auxilliary files - into the test file itself. + expected to be able to write to [file join [testsDirectory] pkg]. Part + of the fix was to import several auxilliary files into the test file + itself. - * tests/main.test: Cheap fix for [Bugs 575851, 575858]. Avoid + * tests/main.test: Cheap fix for [Bugs 575851, 575858]. Avoid * tests/tcltest.test: non-writable . by [cd [temporaryDirectory]]. - * library/auto.tcl: Fix [tcl_findLibrary] to be sure it sets - $varName only if a successful library script is found. - [Bug 577033] + * library/auto.tcl: Fix [tcl_findLibrary] to be sure it sets $varName + only if a successful library script is found. [Bug 577033] 2002-07-03 Miguel Sofer * generic/tclCompCmds.c (TclCompileCatchCmd): return - TCL_OUT_LINE_COMPILE instead of TCL_ERROR: let the failure - happen at runtime so that it can be caught [Bug 577015]. + TCL_OUT_LINE_COMPILE instead of TCL_ERROR: let the failure happen at + runtime so that it can be caught [Bug 577015]. 2002-07-02 Joe English @@ -1902,27 +1864,26 @@ * doc/tcltest.n: more refinements of the documentation. * library/tcltest/tcltest.tcl: Added trace to be sure the stdio - constraint is updated whenever the [interpreter] changes. + constraint is updated whenever the [interpreter] changes. * doc/tcltest.n: Reverted [makeFile] and [viewFile] to * library/tcltest/tcltest.tcl: their former behavior, and documented - * tests/cmdAH.test: it. Corrected misspelling of hook - * tests/event.test: procedure. Restored tests. + * tests/cmdAH.test: it. Corrected misspelling of hook + * tests/event.test: procedure. Restored tests. * tests/http.test: * tests/io.test: - * library/tcltest/tcltest.tcl: Simplified logic of - [GetMatchingFiles] and [GetMatchingDirectories], removing - special case processing. + * library/tcltest/tcltest.tcl: Simplified logic of [GetMatchingFiles] + and [GetMatchingDirectories], removing special case processing. - * doc/tcltest.n: More documentation updates. Reference sections - are complete. Only examples need adding. + * doc/tcltest.n: More documentation updates. Reference sections are + complete. Only examples need adding. 2002-07-02 Vince Darley - * tests/fCmd.test: - * generic/tclCmdAH.c: clearer error msgs for 'file link', - as per the man page. + * tests/fCmd.test: + * generic/tclCmdAH.c: clearer error msgs for 'file link', as per the + man page. 2002-07-01 Joe English @@ -1968,18 +1929,17 @@ when building with gcc to resolve problems with undefined symbols being present when tcl library used with non-gcc linker at later stage. Symbols were compiler-generated, so it is the compiler's - business to define them. [Bug #541181] + business to define them. [Bug 541181] 2002-07-01 Don Porter * doc/tcltest.n: more work in progress updating tcltest docs. - * library/tcltest/tcltest.tcl: Change [configure -match] to - stop treating an empty list as a list of the single pattern "*". - Changed the default value to [list *] so default operation - remains the same. + * library/tcltest/tcltest.tcl: Change [configure -match] to stop + treating an empty list as a list of the single pattern "*". Changed + the default value to [list *] so default operation remains the same. - * tests/pkg/samename.tcl: restored. needed by pkgMkIndex.test. + * tests/pkg/samename.tcl: restored. needed by pkgMkIndex.test. * library/tcltest/tcltest.tcl: restored writeability testing of -tmpdir, augmented by a special exception for the deafault value. @@ -1993,58 +1953,58 @@ * doc/tcltest.n: more work in progress updating tcltest docs. * tests/README: Updated the instructions on running and - * tests/cmdMZ.test: adding to the test suite. Also updated + * tests/cmdMZ.test: adding to the test suite. Also updated * tests/encoding.test: several tests, mostly to correctly create * tests/fCmd.test: and destroy any temporary files in the * tests/info.test: [temporaryDirectory] of tcltest. * tests/interp.test: - * library/tcltest/tcltest.tcl: Stopped checking for writeability - of -tmpdir value because no default directory can be guaranteed to - be writeable. + * library/tcltest/tcltest.tcl: Stopped checking for writeability of + -tmpdir value because no default directory can be guaranteed to be + writeable. * tests/autoMkindex.tcl: removed. * tests/pkg/samename.tcl: removed. * tests/pkg/magicchar.tcl: removed. * tests/pkg/magicchar2.tcl: removed. - * tests/autoMkindex.test: Updated auto_mkIndex tests to use - [makeFile] and [removeFile] so tests are done in [temporaryDirecotry] - where write access is guaranteed. + * tests/autoMkindex.test: Updated auto_mkIndex tests to use [makeFile] + and [removeFile] so tests are done in [temporaryDirecotry] where write + access is guaranteed. * library/tcltest/tcltest.tcl: Fixed [makeFile] and [viewFile] to * tests/cmdAH.test: accurately reflect a file's contents. * tests/event.test: Updated tests that depended on buggy - * tests/http.test: behavior. Also added warning messages + * tests/http.test: behavior. Also added warning messages * tests/io.test: to "-debug 1" operations to debug test - * tests/iogt.test: calls to (make|remove)(File|Directory). + * tests/iogt.test: calls to (make|remove)(File|Directory) * unix/mkLinks: `make mklinks` on 6-27 commits. 2002-06-28 Miguel Sofer - * generic/tclCompile.h: modified the macro TclEmitPush to not - call its first argument repeatedly or pass it to other macros, - [Bug 575194] reported by Peter Spjuth. + * generic/tclCompile.h: modified the macro TclEmitPush to not call its + first argument repeatedly or pass it to other macros, [Bug 575194] + reported by Peter Spjuth. 2002-06-28 Don Porter * docs/tcltest.n: Doc revisions in progress. - * library/tcltest/tcltest.tcl: Corrected -testdir default value. - Was not reliable, and disagreed with docs! Thanks to Hemang Lavana. - [Bug 575150] + * library/tcltest/tcltest.tcl: Corrected -testdir default value. Was + not reliable, and disagreed with docs! Thanks to Hemang Lavana. [Bug + 575150] 2002-06-28 Donal K. Fellows - * unix/tclUnixThrd.c: Renamed the Tcl_Platform* #defines to - * unix/tclUnixPipe.c: TclOS* because they are only used - * unix/tclUnixFile.c: internally. Also stopped double-#def - * unix/tclUnixFCmd.c: of TclOSlstat [Bug #566099, post-rename] + * unix/tclUnixThrd.c: Renamed the Tcl_Platform* #defines to TclOS* + * unix/tclUnixPipe.c: because they are only used internally. Also + * unix/tclUnixFile.c: stopped double-#def of TclOSlstat [Bug 566099, + * unix/tclUnixFCmd.c: post-rename] * unix/tclUnixChan.c: * unix/tclUnixPort.h: - * doc/string.n: Improved documentation for [string last] along - lines described in Bug #574799 so it indicates that the supplied - index marks the end of the search space. + * doc/string.n: Improved documentation for [string last] along lines + described in [Bug 574799] so it indicates that the supplied index + marks the end of the search space. 2002-06-27 Don Porter @@ -2059,36 +2019,36 @@ 2002-06-26 Vince Darley - * tests/fileSystem.test: - * generic/tclIOUtil.c: fix to handling of empty paths "" - which are not claimed by any filesystem (Bug #573758). - Ensure good error messages are given in all cases. + * tests/fileSystem.test: + * generic/tclIOUtil.c: fix to handling of empty paths "" which are not + claimed by any filesystem [Bug 573758]. Ensure good error messages + are given in all cases. * tests/cmdAH.test: - * unix/tclUnixFCmd.c: fix to bug reported as part of - (Patch #566669). Thanks to Taguchi, Takeshi for the report. - + * unix/tclUnixFCmd.c: fix to bug reported as part of [Patch 566669]. + Thanks to Taguchi, Takeshi for the report. + 2002-06-26 Reinhard Max * unix/tclUnixTime.c: Make [clock format] respect locale settings. - * tests/clock.test: Bug #565880. ***POTENTIAL INCOMPATIBILITY*** + * tests/clock.test: [Bug 565880]. ***POTENTIAL INCOMPATIBILITY*** 2002-06-26 Miguel Sofer * doc/CrtInterp.3: - * doc/StringObj.3: clarifications by Don Porter, bugs #493995 and - #500930. - + * doc/StringObj.3: clarifications by Don Porter, [Bug 493995] and [Bug + 500930]. + 2002-06-24 Don Porter * library/tcltest/tcltest.tcl: Corrected suppression of -verbose skip - * tests/tcltest.test: and start by [test -output]. Also - corrected test suite errors exposed by corrected code. [Bug 564656] + * tests/tcltest.test: and start by [test -output]. Also + corrected test suite errors exposed by corrected code. [Bug 564656] 2002-06-25 Reinhard Max * unix/tcl.m4: New macro SC_CONFIG_MANPAGES. - * unix/configure.in: Added support for symlinks and compression - * unix/Makefile.in: when installing the manpages. [Patch 518052] + * unix/configure.in: Added support for symlinks and compression when + * unix/Makefile.in: installing the manpages. [Patch 518052] * unix/mkLinks.tcl: Default is still hardlinks and no compression. * unix/mkLinks: generated @@ -2101,33 +2061,32 @@ 2002-06-25 Donal K. Fellows - * generic/tclUtil.c (TclGetIntForIndex): Fix of critical bug - #533364 generated when the index is bad and the result is a shared - object. The T_ASTO(T_GOR, ...) idiom likely exists elsewhere - though. Also removed some cruft that just complicated things to - no advantage. + * generic/tclUtil.c (TclGetIntForIndex): Fix of critical [Bug 533364] + generated when the index is bad and the result is a shared object. The + T_ASTO(T_GOR, ...) idiom likely exists elsewhere though. Also removed + some cruft that just complicated things to no advantage. (SetEndOffsetFromAny): Same fix, though this wasn't on the path excited by the bug. 2002-06-24 Don Porter - * library/tcltest/tcltest.tcl: Implementation of TIP 101. Adds - * tests/parseOld.test: and exports a [configure] command - * tests/tcltest.test: from tcltest. + * library/tcltest/tcltest.tcl: Implementation of TIP 101. Adds abd + * tests/parseOld.test: exports a [configure] command from + * tests/tcltest.test: tcltest. 2002-06-22 Don Porter * changes: updated changes file for 8.4b1 release. - * library/tcltest/tcltest.tcl: Corrections to tcltest and the - * tests/basic.test: Tcl test suite so that a test - * tests/cmdInfo.test: with options -constraints knownBug + * library/tcltest/tcltest.tcl: Corrections to tcltest and the Tcl + * tests/basic.test: test suite so that a test with options + * tests/cmdInfo.test: -constraints knownBug * tests/compile.test: -limitConstraints 1 only tests the - * tests/encoding.test: knownBug tests. Mostly involves + * tests/encoding.test: knownBug tests. Mostly involves * tests/env.test: replacing direct access to the - * tests/event.test: testConstraints array with calls - * tests/exec.test: to the testConstraint command - * tests/execute.test: (which requires tcltest version 2) + * tests/event.test: testConstraints array with calls to + * tests/exec.test: the testConstraint command (which + * tests/execute.test: requires tcltest version 2) * tests/fCmd.test: * tests/format.test: * tests/http.test: @@ -2144,35 +2103,35 @@ 2002-06-22 Donal K. Fellows - * tools/tcl.wse.in (Disk Label), unix/tcl.spec (version): - * win/README.binary, README, win/configure.in, unix/configure.in: + * tools/tcl.wse.in (Disk Label), unix/tcl.spec (version): + * win/README.binary, README, win/configure.in, unix/configure.in: * generic/tcl.h (TCL_RELEASE_*, TCL_PATCH_LEVEL): Bump to beta1. 2002-06-21 Joe English * generic/tclCompExpr.c: - * generic/tclParseExpr.c: LogSyntaxError() should reset - the interpreter result [Bug 550142 "Tcl_ExprObj -> abort"] + * generic/tclParseExpr.c: LogSyntaxError() should reset the + interpreter result [Bug 550142 "Tcl_ExprObj -> abort"] 2002-06-21 Don Porter - + * unix/Makefile.in: Updated all package install directories * win/Makefile.in: to match current Major.minor versions - * win/makefile.bc: of the packages. Added tcltest package + * win/makefile.bc: of the packages. Added tcltest package * win/makefile.vc: to installation on Windows. - * library/init.tcl: Corrected comments and namespace style - issues. Thanks to Bruce Stephens. [Bug 572025] + * library/init.tcl: Corrected comments and namespace style issues. + Thanks to Bruce Stephens. [Bug 572025] 2002-06-21 Vince Darley - * tests/cmdAH.test: Added TIP#99 implementation - * tests/fCmd.test: of 'file link'. Supports creation - * tests/fileName.test: of symbolic and hard links in the - * tests/fileSystem.test: native filesystems and in vfs's, - * generic/tclTest.c: when the individual filesystem - * generic/tclCmdAH.c: supports the concept. - * generic/tclIOUtil.c: + * tests/cmdAH.test: Added TIP#99 implementation of 'file + * tests/fCmd.test: link'. Supports creation of symbolic and + * tests/fileName.test: hard links in the native filesystems and + * tests/fileSystem.test: in vfs's, when the individual filesystem + * generic/tclTest.c: supports the concept. + * generic/tclCmdAH.c: + * generic/tclIOUtil.c: * generic/tcl.h: * generic/tcl.decls: * doc/FileSystem.3: @@ -2184,23 +2143,24 @@ 2002-06-20 Miguel Sofer - * generic/tclBasic.c (TclEvalObjvInternal): fix for [Bug 571385] - in the implementation of TIP#62 (command tracing). Vince Darley, - Hemang Lavana & Don Porter: thanks. + * generic/tclBasic.c (TclEvalObjvInternal): fix for [Bug 571385] in + the implementation of TIP#62 (command tracing). Vince Darley, Hemang + Lavana & Don Porter: thanks. 2002-06-20 Miguel Sofer - * generic/tclExecute.c (TclCompEvalObj): clarified and simplified - the logic for compilation/recompilation. + * generic/tclExecute.c (TclCompEvalObj): clarified and simplified the + logic for compilation/recompilation. 2002-06-19 Joe English - * doc/file.n: Fixed indentation. No substantive changes. + + * doc/file.n: Fixed indentation. No substantive changes. 2002-06-19 Jeff Hobbs - * generic/tclCmdMZ.c (Tcl_RegexpObjCmd): get the resultPtr again - as the Tcl_ObjSetVar2 may cause the result to change. - [Patch #558324] (watson) + * generic/tclCmdMZ.c (Tcl_RegexpObjCmd): get the resultPtr again as + the Tcl_ObjSetVar2 may cause the result to change. [Patch 558324] + (watson) 2002-06-19 Miguel Sofer @@ -2209,35 +2169,34 @@ 2002-06-18 Miguel Sofer - * generic/tclExecute.c (TEBC): + * generic/tclExecute.c (TEBC): - elimination of duplicated code in the non-immediate INST_INCR - instructions. + instructions. - elimination of 103 (!) TclDecrRefCount macros. The different - instructions now jump back to a common "DecrRefCount zone" at - the top of the loop. The macro "ADJUST_PC" was replaced by two - macros "NEXT_INST_F" and "NEXT_INST_V" that take three params - (pcAdjustment, # of stack objects to discard, resultObjPtr - handling flag). The only instructions that retain a - TclDecrRefCount are INST_POP (for speed), the common code for - the non-immediate INST_INCR, INST_FOREACH_STEP and the two - INST_LSET. - - The object size of tclExecute.o was reduced by approx 20% since - the start of the consolidation drive, while making room for some - peep-hole optimisation at runtime. + instructions now jump back to a common "DecrRefCount zone" at the + top of the loop. The macro "ADJUST_PC" was replaced by two macros + "NEXT_INST_F" and "NEXT_INST_V" that take three params + (pcAdjustment, # of stack objects to discard, resultObjPtr handling + flag). The only instructions that retain a TclDecrRefCount are + INST_POP (for speed), the common code for the non-immediate + INST_INCR, INST_FOREACH_STEP and the two INST_LSET. + + The object size of tclExecute.o was reduced by approx 20% since the + start of the consolidation drive, while making room for some peep-hole + optimisation at runtime. 2002-06-18 Miguel Sofer - * generic/tclExecute.c (TEBC, INST_DONE): small bug in the panic - code for tcl-stack corruption. + * generic/tclExecute.c (TEBC, INST_DONE): small bug in the panic code + for tcl-stack corruption. 2002-06-17 David Gravereaux - Trims to support the removal of RESOURCE_INCLUDED from rc - scripts from FR #565088. + Trims to support the removal of RESOURCE_INCLUDED from rc scripts from + [FRQ 565088]. - * generic/tcl.h: moved the #ifndef RC_INVOKED start block up in - the file. rc scripts don't need to know thread mutexes. + * generic/tcl.h: moved the #ifndef RC_INVOKED start block up in the + file. rc scripts don't need to know thread mutexes. * win/tcl.rc: * win/tclsh.rc: removed the #define RESOURCE_INCLUDED to let the @@ -2246,7 +2205,7 @@ 2002-06-17 Jeff Hobbs * doc/CrtTrace.3: Added TIP#62 implementation of command - * doc/trace.n: execution tracing [FR #462580] (lavana). + * doc/trace.n: execution tracing [FRQ 462580] (lavana). * generic/tcl.h: This includes enter/leave tracing as well * generic/tclBasic.c: as inter-procedure stepping. * generic/tclCmdMZ.c: @@ -2261,110 +2220,107 @@ 2002-06-17 Andreas Kupries - * win/tclWinPipe.c (BuildCommandLine): Fixed bug #554068 ([exec] - on windows did not treat { in filenames well.). Bug reported by - Vince Darley , patch - provided by Vince too. + * win/tclWinPipe.c (BuildCommandLine): Fixed [Bug 554068] ([exec] on + windows did not treat { in filenames well.). Bug reported by Vince + Darley , patch provided by Vince + too. 2002-06-17 Joe English * generic/tcl.h: #ifdef logic for K&R C backwards compatibility - changed to assume modern C by default. See SF FR #565088 for - full details. + changed to assume modern C by default. See [FRQ 565088] for full + details. 2002-06-17 Don Porter - * doc/msgcat.n: Corrected en_UK references to en_GB. UK is not - a country designation recognized in ISO 3166. + * doc/msgcat.n: Corrected en_UK references to en_GB. UK is not a + country designation recognized in ISO 3166. - * library/msgcat/msgcat.tcl: More Windows Registry locale codes - from Bruno Haible. + * library/msgcat/msgcat.tcl: More Windows Registry locale codes from + Bruno Haible. * doc/msgcat.n: * library/msgcat/msgcat.tcl: * library/msgcat/pkgIndex.tcl: * tests/msgcat.test: Revised locale initialization to interpret - environment variable locale values according to XPG4, and to - recognize the LC_ALL and LC_MESSAGES values over that of LANG. - Also added many Windows Registry locale values to those - recognized by msgcat. Revised tests and docs. Bumped to - version 1.3. Thanks to Bruno Haible for the report and - assistance crafting the solution. [Bug 525522, 525525] + environment variable locale values according to XPG4, and to recognize + the LC_ALL and LC_MESSAGES values over that of LANG. Also added many + Windows Registry locale values to those recognized by msgcat. Revised + tests and docs. Bumped to version 1.3. Thanks to Bruno Haible for the + report and assistance crafting the solution. [Bug 525522, 525525] 2002-06-16 Miguel Sofer - * generic/tclCompile.c (TclCompileTokens): a better algorithm for - the previous bug fix. + * generic/tclCompile.c (TclCompileTokens): a better algorithm for the + previous bug fix. 2002-06-16 Miguel Sofer - * generic/tclCompile.c (TclCompileTokens): + * generic/tclCompile.c (TclCompileTokens): * tests/compile.test: [Bug 569438] in the processing of dollar - variables; report by Georgios Petasis. - + variables; report by Georgios Petasis. + 2002-06-16 Miguel Sofer - * generic/tclExecute.c: bug in the consolidation of the - INCR_..._STK instructions; the bug could not be exercised as the - (faulty) instruction INST_INCR_ARRAY_STK was never compiled-in - (related to [Bug 569438]). + * generic/tclExecute.c: bug in the consolidation of the INCR_..._STK + instructions; the bug could not be exercised as the (faulty) + instruction INST_INCR_ARRAY_STK was never compiled-in (related to [Bug + 569438]). 2002-06-14 Miguel Sofer * generic/tclExecute.c (TclExecuteByteCode): runtime peep-hole optimisation of variables (INST_STORE, INST_INCR) and commands (INST_INVOKE); faster check for the existence of a catch. - (TclExecuteByteCode): runtime peep-hole optimisation of - comparisons. - (TclExecuteByteCode): runtime peep-hole optimisation of - INST_FOREACH - relies on peculiarities of the code produced by the - bytecode compiler. + (TclExecuteByteCode): runtime peep-hole optimisation of comparisons. + (TclExecuteByteCode): runtime peep-hole optimisation of INST_FOREACH - + relies on peculiarities of the code produced by the bytecode compiler. 2002-06-14 David Gravereaux * win/rules.vc: The test for compiler optimizations was in error. - Thanks goes to Roy Terry for his - assistance with this. + Thanks goes to Roy Terry for his assistance + with this. 2002-06-14 Donal K. Fellows - * doc/trace.n, tests/trace.test: + * doc/trace.n, tests/trace.test: * generic/tclCmdMZ.c (Tcl_TraceObjCmd,TclTraceCommandObjCmd) (TclTraceVariableObjCmd): Changed references to "trace list" to "trace info" as mandated by TIP#102. 2002-06-13 Miguel Sofer - * generic/tclExecute.c (TclExecuteByteCode): consolidated code for - the conditional branch instructions. + * generic/tclExecute.c (TclExecuteByteCode): consolidated code for the + conditional branch instructions. 2002-06-13 Miguel Sofer - * generic/tclExecute.c (TclExecuteByteCode): fixed the previous - patch - wouldn't compile with TCL_COMPILE_DEBUG set. + * generic/tclExecute.c (TclExecuteByteCode): fixed the previous patch; + wouldn't compile with TCL_COMPILE_DEBUG set. 2002-06-13 Miguel Sofer - * generic/tclExecute.c (TclExecuteByteCode): consolidated the - handling of exception returns to INST_INVOKE and INST_EVAL, as - well as most of the code for INST_CONTINUE and INST_BREAK, in the - new jump target "processExceptionReturn". + * generic/tclExecute.c (TclExecuteByteCode): consolidated the handling + of exception returns to INST_INVOKE and INST_EVAL, as well as most of + the code for INST_CONTINUE and INST_BREAK, in the new jump target + "processExceptionReturn". 2002-06-13 Miguel Sofer * generic/tclExecute.c (TclExecuteByteCode): consolidated variable handling opcodes, replaced redundant code with some 'goto'. All - store/append/lappend opcodes on the same data type now share the - main code; same with incr opcodes. + store/append/lappend opcodes on the same data type now share the main + code; same with incr opcodes. * generic/tclVar.c: added the bit TCL_TRACE_READS to the possible - flags to Tcl_SetVar2Ex - it causes read traces to be fired prior - to setting the variable. This is used in the core for [lappend]. + flags to Tcl_SetVar2Ex - it causes read traces to be fired prior to + setting the variable. This is used in the core for [lappend]. - ***NOTE*** the usage of TCL_TRACE_READS in Tcl_(Obj)?GetVar.* is - not documented; there, it causes the call to create the variable - if it does not exist. The new usage in Tcl_(Obj)?SetVar.* remains + ***NOTE*** the usage of TCL_TRACE_READS in Tcl_(Obj)?GetVar.* is not + documented; there, it causes the call to create the variable if it + does not exist. The new usage in Tcl_(Obj)?SetVar.* remains undocumented too ... - + 2002-06-13 Vince Darley * tests/fCmd.test: @@ -2376,65 +2332,63 @@ * doc/FileSystem.3: * mac/tclMacFile.c: * unix/tclUnixFile.c: - * win/tclWinFile.c: fixed up further so both compiles and - actually works with VC++ 5 or 6. - * win/tclWinInt.h: - * win/tclWin32Dll.c: cleaned up code and vfs tests and - added tests for the internal changes of 2002-06-12, to see - whether WinTcl on NTFS can coexist peacefully with links - in the filesystem. Added new test command 'testfilelink' - to enable the newer code to be tested. - * tests/fCmd.test: (made certain tests of 'testfilelink' not - run on unix). + * win/tclWinFile.c: fixed up further so both compiles and actually + works with VC++ 5 or 6. + * win/tclWinInt.h: + * win/tclWin32Dll.c: cleaned up code and vfs tests and added tests for + the internal changes of 2002-06-12, to see whether WinTcl on NTFS can + coexist peacefully with links in the filesystem. Added new test + command 'testfilelink' to enable the newer code to be tested. + * tests/fCmd.test: (made certain tests of 'testfilelink' not run on + unix). 2002-06-12 Miguel Sofer - * tclBasic.c (Tcl_DeleteTrace): fixed [Bug 568123] (thanks to - Hemang Lavana) - + * tclBasic.c (Tcl_DeleteTrace): fixed [Bug 568123] (thanks to Hemang + Lavana) + 2002-06-12 Jeff Hobbs - * win/tclWinFile.c: corrected the symbolic link handling code to - allow it to compile. Added real definition of REPARSE_DATA_BUFFER - (found in winnt.h). Most of the added definitions appear to have - correct, cross-Win-version equivalents in winnt.h and should be - removed, but just making things "work" for now. + * win/tclWinFile.c: corrected the symbolic link handling code to allow + it to compile. Added real definition of REPARSE_DATA_BUFFER (found in + winnt.h). Most of the added definitions appear to have correct, + cross-Win-version equivalents in winnt.h and should be removed, but + just making things "work" for now. 2002-06-12 Vince Darley * generic/tclIOUtil.c: * generic/tcl.decls: - * generic/tclDecls.h: made code for Tcl_FSNewNativePath - agree with man pages. - - * doc/FileSystem.3: clarified the circumstances under which - certain functions are called in the presence of symlinks. - + * generic/tclDecls.h: made code for Tcl_FSNewNativePath agree with man + pages. + + * doc/FileSystem.3: clarified the circumstances under which certain + functions are called in the presence of symlinks. + * win/tclWinFile.c: - * win/tclWinPort.h: - * win/tclWinInt.h: - * win/tclWinFCmd.c: Fix for Windows to allow 'file lstat', - 'file type', 'glob -type l', 'file copy', 'file delete', - 'file normalize', and all VFS code to work correctly in the - presence of symlinks (previously Tcl's behaviour was not very - well defined). This also fixes possible serious problems in - all versions of WinTcl where 'file delete' on a NTFS symlink - could delete the original, not the symlink. + * win/tclWinPort.h: + * win/tclWinInt.h: + * win/tclWinFCmd.c: Fix for Windows to allow 'file lstat', 'file + type', 'glob -type l', 'file copy', 'file delete', 'file normalize', + and all VFS code to work correctly in the presence of symlinks + (previously Tcl's behaviour was not very well defined). This also + fixes possible serious problems in all versions of WinTcl where 'file + delete' on a NTFS symlink could delete the original, not the symlink. Note: symlinks cannot yet be created in pure Tcl. 2002-06-11 Miguel Sofer - * generic/tclBasic.c: + * generic/tclBasic.c: * generic/tclCompCmds.c: - * generic/tclInt.h: reverted the new compilation functions; - replaced by a more general approach described below. + * generic/tclInt.h: reverted the new compilation functions; replaced + by a more general approach described below. * generic/tclCompCmds.c: - * generic/tclCompile.c: made *all* compiled variable access - attempts create an indexed variable - even get or incr without - previous set. This allows indexed access to local variables that - are created and set at runtime, for example by [global], [upvar], - [variable], [regexp], [regsub]. + * generic/tclCompile.c: made *all* compiled variable access attempts + create an indexed variable - even get or incr without previous set. + This allows indexed access to local variables that are created and set + at runtime, for example by [global], [upvar], [variable], [regexp], + [regsub]. 2002-06-11 Miguel Sofer @@ -2443,13 +2397,13 @@ * test/info.test: * generic/tclCmdIL.c: fix for [Bug 567386], [info locals] was reporting some linked variables. - - * generic/tclBasic.c: + + * generic/tclBasic.c: * generic/tclCompCmds.c: - * generic/tclInt.h: added compile functions for [global], - [variable] and [upvar]. They just declare the new local variables, - the commands themselves are not compiled-in. This gives a notably - faster read access to these linked variables. + * generic/tclInt.h: added compile functions for [global], [variable] + and [upvar]. They just declare the new local variables, the commands + themselves are not compiled-in. This gives a notably faster read + access to these linked variables. 2002-06-11 Miguel Sofer @@ -2458,43 +2412,43 @@ 2002-06-10 Vince Darley - * unix/tclUnixFCmd.c: fixed [Bug #566669] - * generic/tclIOUtil.c: improved and sped up handling of - native paths (duplication and conversion to normalized paths), - particularly on Windows. - * modified part of above commit, due to problems on Linux. - Will re-examine bug report and evaluate more closely. + * unix/tclUnixFCmd.c: fixed [Bug 566669] + * generic/tclIOUtil.c: improved and sped up handling of native paths + (duplication and conversion to normalized paths), particularly on + Windows. + * modified part of above commit, due to problems on Linux. Will + re-examine bug report and evaluate more closely. 2002-06-07 Don Porter - * tests/tcltest.test: More corrections to test suite so that tests - of failing [test]s don't show up themselves as failing tests. + * tests/tcltest.test: More corrections to test suite so that tests of + failing [test]s don't show up themselves as failing tests. 2002-06-07 Donal K. Fellows - * generic/tclExecute.c: Tidied up headers in relation to float.h - to cut the cruft and ensure DBL_MAX is defined since doubles seem - to be the same size everywhere; if the assumption isn't true, the - variant platforms had better have run configure... + * generic/tclExecute.c: Tidied up headers in relation to float.h to + cut the cruft and ensure DBL_MAX is defined since doubles seem to be + the same size everywhere; if the assumption isn't true, the variant + platforms had better have run configure... * unix/tclUnixPort.h (EOVERFLOW): Added code to define it if it - wasn't previously defined. Also some other general tidying and - adding of comments. [Tcl bugs 563122, 564595] + wasn't previously defined. Also some other general tidying and adding + of comments. [Bugs 563122, 564595] * compat/tclErrno.h: Added definition for EOVERFLOW copied from - Solaris headers; I've been unable to find any uses of EFTYPE, - which was the error code previously occupying the slot, in Tcl, or - any definition of it in the Solaris headers. + Solaris headers; I've been unable to find any uses of EFTYPE, which + was the error code previously occupying the slot, in Tcl, or any + definition of it in the Solaris headers. 2002-06-06 Mo DeJong - * unix/dltest/Makefile.in: Remove hard coded CFLAGS=-g - and add CFLAGS_DEBUG, CFLAGS_OPTIMIZE, and - CFLAGS_DEFAULT varaibles. [Tcl bug 565488] + * unix/dltest/Makefile.in: Remove hard coded CFLAGS=-g and add + CFLAGS_DEBUG, CFLAGS_OPTIMIZE, and CFLAGS_DEFAULT varaibles. [Bug + 565488] 2002-06-06 Don Porter - * tests/tcltest.test: Corrections to test suite so that tests - of failing [test]s don't show up themselves as failing tests. + * tests/tcltest.test: Corrections to test suite so that tests of + failing [test]s don't show up themselves as failing tests. * tests/io.test: Fixed up namespace variable resolution issues revealed by running test suite with "-singleproc 1". @@ -2510,17 +2464,17 @@ 2002-06-06 Daniel Steffen - * unix/tclUnixThrd.c (TclpReaddir, TclpLocaltime, TclpGmtime): - added mutex wrapped calls to readdir, localtime & gmtime in - case their thread-safe *_r counterparts are not available. + * unix/tclUnixThrd.c (TclpReaddir, TclpLocaltime, TclpGmtime): added + mutex wrapped calls to readdir, localtime & gmtime in case their + thread-safe *_r counterparts are not available. * unix/tcl.m4: added configure check for readdir_r - * unix/tcl.m4 (Darwin): set TCL_DEFAULT_ENCODING to utf-8 on - MacOSX (where posix file apis expect utf-8, not iso8859-1). + * unix/tcl.m4 (Darwin): set TCL_DEFAULT_ENCODING to utf-8 on MacOSX + (where posix file apis expect utf-8, not iso8859-1). * unix/configure: regen - * unix/Makefile.in: set DYLD_LIBRARY_PATH in parallel - to LD_LIBRARY_PATH for MacOSX dynamic linker. - * generic/tclEnv.c (TclSetEnv): fix env var setting on - MacOSX (adapted from patch #524352 by jkbonfield). + * unix/Makefile.in: set DYLD_LIBRARY_PATH in parallel to + LD_LIBRARY_PATH for MacOSX dynamic linker. + * generic/tclEnv.c (TclSetEnv): fix env var setting on MacOSX (adapted + from [Patch 524352] by jkbonfield). 2002-06-05 Don Porter @@ -2529,8 +2483,8 @@ 2002-06-05 Daniel Steffen - * generic/tclFileName.c (TclGlob): mac specific fix to - recent changes in 'glob -tails' handling. + * generic/tclFileName.c (TclGlob): mac specific fix to recent changes + in 'glob -tails' handling. * mac/tclMacPort.h: * mac/tclMacChan.c: fixed TIP#91 bustage. * mac/tclMacResource.c (Tcl_MacConvertTextResource): added utf @@ -2542,7 +2496,7 @@ * library/tcltest/tcltest.tcl: * tests/init.test: * tests/tcltest.test: Added more TIP 85 tests from Arjen Markus. - Converted tcltest.test to use a private namespace. Fixed bugs in + Converted tcltest.test to use a private namespace. Fixed bugs in [tcltest::Eval] revealed by calling [tcltest::test] from a non-global namespace, and namespace errors in init.test. @@ -2555,22 +2509,22 @@ * doc/tcltest.n: * library/tcltest/tcltest.tcl: * library/tcltest/pkgIndex.tcl: - * tests/tcltest.test: Implementation of TIP 85. Allows tcltest - users to add new legal values of the -match option to [test], - associating each with a Tcl command that does the matching of - expected results with actual results of tests. Thanks to - Arjen Markus. => tcltest 2.1 [Patch 521362] + * tests/tcltest.test: Implementation of TIP 85. Allows tcltest users + to add new legal values of the -match option to [test], associating + each with a Tcl command that does the matching of expected results + with actual results of tests. Thanks to Arjen Markus. => tcltest 2.1 + [Patch 521362] 2002-06-03 Miguel Sofer - * doc/namespace.n: added description of [namepace forget] - behaviour for unqualified patterns [Bug 559268] + * doc/namespace.n: added description of [namepace forget] behaviour + for unqualified patterns. [Bug 559268] 2002-06-03 Miguel Sofer - * generic/tclExecute.c: reverting an accidental modification in - the last commit. - + * generic/tclExecute.c: reverting an accidental modification in the + last commit. + 2002-06-03 Miguel Sofer * doc/Tcl.n: clarify the empty variable name issue ([Bug 549285] @@ -2579,25 +2533,25 @@ 2002-05-31 Don Porter * library/package.tcl: Fixed leak of slave interp in [pkg_mkIndex]. - Thanks to Helmut for report. [Bug 550534] + Thanks to Helmut for report. [Bug 550534] * tests/io.test: - * tests/main.test: Use the "stdio" constraint to control whether - an [open "|[interpreter]"] is attempted. + * tests/main.test: Use the "stdio" constraint to control whether an + [open "|[interpreter]"] is attempted. * generic/tclExecute.c (TclMathInProgress,TclExecuteByteCode - ExprCallMathFunc): + (ExprCallMathFunc): * generic/tclInt.h (TclMathInProgress): * unix/Makefile.in (tclMtherr.*): * unix/configure.in (NEED_MATHERR): * unix/tclAppInit.c (matherr): * unix/tclMtherr.c (removed file): * win/tclWinMtherr.c (_matherr): Removed internal routine - TclMathInProgress and Unix implementation of matherr(). These - are now obsolete, dealing with very old versions of the C math - library. Windows version is retained in case Borland compilers - require it, but it is inactive. Thanks to Joe English. - [Bug 474335, Patch 555635]. + TclMathInProgress and Unix implementation of matherr(). These are now + obsolete, dealing with very old versions of the C math library. + Windows version is retained in case Borland compilers require it, but + it is inactive. Thanks to Joe English. [Bug 474335, Patch 555635] + * unix/configure: regen 2002-05-30 Miguel Sofer @@ -2610,48 +2564,46 @@ 2002-05-30 Vince Darley - * generic/tclFileName.c (TclGlob): fix to longstanding - 'knownBug' in fileName tests 15.2-15.4, and fix to a new - Tcl 8.4 bug in certain uses of 'glob -tails'. - * tests/fileName.test: removed 'knownBug' flag from some tests, - added some new tests for above bugs. - + * generic/tclFileName.c (TclGlob): fix to longstanding 'knownBug' in + fileName tests 15.2-15.4, and fix to a new Tcl 8.4 bug in certain uses + of 'glob -tails'. + * tests/fileName.test: removed 'knownBug' flag from some tests, added + some new tests for above bugs. + 2002-05-29 Jeff Hobbs * unix/configure: regen'ed - * unix/configure.in: replaced bigendian check with autoconf - standard AC_C_BIG_ENDIAN, which defined WORDS_BIGENDIAN on - bigendian systems. - * generic/tclUtf.c (Tcl_UniCharNcmp): + * unix/configure.in: replaced bigendian check with autoconf standard + AC_C_BIG_ENDIAN, which defined WORDS_BIGENDIAN on bigendian systems. + * generic/tclUtf.c (Tcl_UniCharNcmp): * generic/tclInt.h (TclUniCharNcmp): use WORDS_BIGENDIAN instead of TCL_OPTIMIZE_UNICODE_COMPARE to enable memcmp alternative. * generic/tclExecute.c (TclExecuteByteCode INST_STR_CMP): - * generic/tclCmdMZ.c (Tcl_StringObjCmd): changed the case for - choosing the Tcl_UniCharNcmp compare to when both objs are of - StringType, as benchmarks show that is the optimal check (both - bigendian and littleendian systems). + * generic/tclCmdMZ.c (Tcl_StringObjCmd): changed the case for choosing + the Tcl_UniCharNcmp compare to when both objs are of StringType, as + benchmarks show that is the optimal check (both bigendian and + littleendian systems). 2002-05-29 Don Porter - * generic/tclMain.c: Removed "dummy" reference to Tcl_LinkVar. - It is no longer needed since Tcl_Main() now actually calls - Tcl_LinkVar(). Thanks to Joe English for pointing that out. + * generic/tclMain.c: Removed "dummy" reference to Tcl_LinkVar. It is + no longer needed since Tcl_Main() now actually calls Tcl_LinkVar(). + Thanks to Joe English for pointing that out. 2002-05-29 Donal K. Fellows - * generic/tclExecute.c (TclExecuteByteCode): + * generic/tclExecute.c (TclExecuteByteCode): * generic/tclCmdMZ.c (Tcl_StringObjCmd): Use the macro version. - * generic/tclInt.h (TclUniCharNcmp): Optimised still further with - a macro for use in sensitive places like tclExecute.c + * generic/tclInt.h (TclUniCharNcmp): Optimised still further with a + macro for use in sensitive places like tclExecute.c - * generic/tclUtf.c (Tcl_UniCharNcmp): Use new flag to figure out - when we can use an optimal comparison scheme, and default to the - old scheme in other cases which is at least safe. - * unix/configure.in (TCL_OPTIMIZE_UNICODE_COMPARE): New optional - flag that indicates when we can use memcmp() to compare Unicode - strings (i.e. when the high-byte of a Tcl_UniChar precedes the - low-byte.) + * generic/tclUtf.c (Tcl_UniCharNcmp): Use new flag to figure out when + we can use an optimal comparison scheme, and default to the old scheme + in other cases which is at least safe. + * unix/configure.in (TCL_OPTIMIZE_UNICODE_COMPARE): New optional flag + that indicates when we can use memcmp() to compare Unicode strings + (i.e. when the high-byte of a Tcl_UniChar precedes the low-byte.) 2002-05-29 Jeff Hobbs @@ -2659,26 +2611,25 @@ * generic/tclIntDecls.h: * generic/tclStubInit.c: * generic/tclUtf.c: added TclpUtfNcmp2 private command that - mirrors Tcl_UtfNcmp, but takes n in bytes, not utf-8 chars. This + mirrors Tcl_UtfNcmp, but takes n in bytes, not utf-8 chars. This provides a faster alternative for comparing utf strings internally. - (Tcl_UniCharNcmp, Tcl_UniCharNcasecmp): removed the explicit end - of string check as it wasn't correct for the function (by doc and - logic). + (Tcl_UniCharNcmp, Tcl_UniCharNcasecmp): removed the explicit end of + string check as it wasn't correct for the function (by doc and logic). * generic/tclCmdMZ.c (Tcl_StringObjCmd): reworked the string equal comparison code to use TclpUtfNcmp2 as well as short-circuit for equal objects or unequal length strings in the equal case. Removed the use of goto and streamlined the other parts. - * generic/tclExecute.c (TclExecuteByteCode): added check for - object equality in the comparison instructions. Added - short-circuit for != length strings in INST_EQ, INST_NEQ and - INST_STR_CMP. Reworked INST_STR_CMP to use TclpUtfNcmp2 where - appropriate, and only use Tcl_UniCharNcmp when at least one of the - objects is a Unicode obj with no utf bytes. + * generic/tclExecute.c (TclExecuteByteCode): added check for object + equality in the comparison instructions. Added short-circuit for != + length strings in INST_EQ, INST_NEQ and INST_STR_CMP. Reworked + INST_STR_CMP to use TclpUtfNcmp2 where appropriate, and only use + Tcl_UniCharNcmp when at least one of the objects is a Unicode obj with + no utf bytes. - * generic/tclCompCmds.c (TclCompileStringCmd): removed error - creation in code that no longer throws an error. + * generic/tclCompCmds.c (TclCompileStringCmd): removed error creation + in code that no longer throws an error. * tests/string.test: * tests/stringComp.test: added more string comparison checks. @@ -2695,18 +2646,18 @@ * generic/tclClock.c: * generic/tclInt.decls: * generic/tclIntDecls.h: - * unix/tclUnixTime.c: fix for Windows msvcrt mem leak caused by - using an env(TZ) setting trick for in clock format -gmt 1. This - also makes %s seem to work correctly with -gmt 1 as well as - making it a lot faster by avoid the env(TZ) hack. TclpStrftime - now takes useGMT as an arg. [Bug #559376] + * unix/tclUnixTime.c: fix for Windows msvcrt mem leak caused by using + an env(TZ) setting trick for in clock format -gmt 1. This also makes + %s seem to work correctly with -gmt 1 as well as making it a lot + faster by avoid the env(TZ) hack. TclpStrftime now takes useGMT as an + arg. [Bug 559376] 2002-05-28 Vince Darley - * generic/tclIOUtil.c: fixes to Tcl_FSLoadFile when called on - a file inside a vfs. This should avoid leaving temporary - files sitting around on exit. [Bug #545579] - + * generic/tclIOUtil.c: fixes to Tcl_FSLoadFile when called on a file + inside a vfs. This should avoid leaving temporary files sitting + around on exit. [Bug 545579] + 2002-05-27 Donal K. Fellows * win/tclWinError.c: Added comment on conversion of @@ -2725,17 +2676,17 @@ * generic/tclIOGT.c (TransformSeekProc, TransformWideSeekProc): Adapted to use the new channel mechanism. * unix/tclUnixChan.c (FileSeekProc, FileWideSeekProc): Renamed - FileSeekProc to FileWideSeekProc and created new FileSeekProc - which has the old-style interface and which errors out with - EOVERFLOW when the returned file position can't fit into the - return type (int for historical reasons.) + FileSeekProc to FileWideSeekProc and created new FileSeekProc which + has the old-style interface and which errors out with EOVERFLOW when + the returned file position can't fit into the return type (int for + historical reasons). * win/tclWinChan.c (FileSeekProc, FileWideSeekProc): Renamed - FileSeekProc to FileWideSeekProc and created new FileSeekProc - which has the old-style interface and which errors out with - EOVERFLOW when the returned file position can't fit into the - return type (int for historical reasons.) - * mac/tclMacChan.c (FileSeek): Reverted to old interface; Macs - lack large-file support because I can't see how to add it. + FileSeekProc to FileWideSeekProc and created new FileSeekProc which + has the old-style interface and which errors out with EOVERFLOW when + the returned file position can't fit into the return type (int for + historical reasons). + * mac/tclMacChan.c (FileSeek): Reverted to old interface; Macs lack + large-file support because I can't see how to add it. * generic/tclIO.c (Tcl_Seek, Tcl_Tell): Given these functions knowledge of the new arrangement of channel types. (Tcl_ChannelVersion): Added recognition of new version code. @@ -2749,89 +2700,83 @@ (TCL_CHANNEL_VERSION_3): New channel version. 2002-05-24 Andreas Kupries - - * tests/winPipe.test: Applied patch for SF Tcl Bug #549617. Patch - and bug report by Kevin Kenny . - * win/tclWinSock.c (TcpWatchProc): Fixed SF Tcl Bug #557878. We - are not allowed to mess with the watch mask if the socket is a - server socket. I believe that the original reporter is George - Peter Staplin. + * tests/winPipe.test: Applied patch for [Bug 549617]. Patch and bug + report by Kevin Kenny . + + * win/tclWinSock.c (TcpWatchProc): Fixed [Bug 557878]. We are not + allowed to mess with the watch mask if the socket is a server socket. + I believe that the original reporter is George Peter Staplin. 2002-05-21 Mo DeJong * unix/configure: Regen. - * unix/configure.in: Invoke SC_ENABLE_SHARED before - calling SC_CONFIG_CFLAGS so that the SHARED_BUILD - variable can be checked inside SC_CONFIG_CFLAGS. - * unix/tcl.m4 (SC_CONFIG_CFLAGS): Pass -non_shared - instead of -shared to ld when configured with - --disable-shared under OSF. [Tcl bug 540390] + * unix/configure.in: Invoke SC_ENABLE_SHARED before calling + SC_CONFIG_CFLAGS so that the SHARED_BUILD variable can be checked + inside SC_CONFIG_CFLAGS. + * unix/tcl.m4 (SC_CONFIG_CFLAGS): Pass -non_shared instead of -shared + to ld when configured with --disable-shared under OSF. [Bug 540390] 2002-05-20 Daniel Steffen * generic/tclInt.h: added prototype for TclpFilesystemPathType(). - * mac/tclMacChan.c: use MSL provided creator type if available - instead of the default 'MPW '. + * mac/tclMacChan.c: use MSL provided creator type if available instead + of the default 'MPW '. 2002-05-16 Joe English - * doc/CrtObjCmd.3: - Added Tcl_GetCommandFromObj, Tcl_GetCommandFullName - (Tcl Bug #547987, #414921) + * doc/CrtObjCmd.3: Added Tcl_GetCommandFromObj, Tcl_GetCommandFullName + [Bugs 547987, 414921] 2002-05-14 Donal K. Fellows - * unix/tclUnixChan.c (TtyOutputProc): #if/#endif-ed this function - out to stop compiler warnings. Also much general tidying of - comments in this file and removal of whitespace from blank lines. + * unix/tclUnixChan.c (TtyOutputProc): #if/#endif-ed this function out + to stop compiler warnings. Also much general tidying of comments in + this file and removal of whitespace from blank lines. 2002-05-13 Donal K. Fellows - * unix/tclUnixChan.c (SETBREAK): Solaris thinks ioctl() takes a - signed second argument, and Linux thinks ioctl() takes an unsigned - second argument. So need a longer definition of this macro to get - neither to spew warnings... + * unix/tclUnixChan.c (SETBREAK): Solaris thinks ioctl() takes a signed + second argument, and Linux thinks ioctl() takes an unsigned second + argument. So need a longer definition of this macro to get neither to + spew warnings... 2002-05-13 Vince Darley - * generic/tclEvent.c: + * generic/tclEvent.c: * generic/tclIOUtil.c: - * generic/tclInt.h: clean up all memory allocated by the - filesystem, via introduction of 'TclFinalizeFilesystem'. - Move TclFinalizeLoad into TclFinalizeFilesystem so we can - be sure it is called at just the right time. - Fix bad comment also. [Bug #555078 and 'fs' part of #543549] + * generic/tclInt.h: clean up all memory allocated by the filesystem, + via introduction of 'TclFinalizeFilesystem'. + Move TclFinalizeLoad into TclFinalizeFilesystem so we can be sure it + is called at just the right time. + Fix bad comment also. [Bug 555078 and 'fs' part of 543549] * win/tclWinChan.c: fix comment referring to wrong function. - + 2002-05-10 Don Porter * tests/load.test: * tests/safe.test: - * tests/tcltest.test: Corrected some list-quoting issues and - other matters that cause tests to fail when the patch includes - special characters. Report from Vince Darley. [Bug 554068]. + * tests/tcltest.test: Corrected some list-quoting issues and other + matters that cause tests to fail when the patch includes special + characters. Report from Vince Darley. [Bug 554068] 2002-05-08 David Gravereaux * doc/file.n: * tools/man2tcl.c: * tools/man2help2.tcl: Thanks to Peter Spjuth - , again. My prior fix for - single-quote macro mis-understanding was wrong. Reverted to - reimpliment the 'macro2' proc which handles single-quote macros - and restored file.n text arrangement to avoid single-quotes on - the first line. Sorry for all the confusion. + , again. My prior fix for single-quote macro + mis-understanding was wrong. Reverted to reimpliment the 'macro2' proc + which handles single-quote macros and restored file.n text arrangement + to avoid single-quotes on the first line. Sorry for all the confusion. 2002-05-08 David Gravereaux * tools/man2tcl.c: - * tools/man2help2.tcl: Proper source of macro error mis- - understanding single-quote as the leading macro command found - and repaired. + * tools/man2help2.tcl: Proper source of macro error misunderstanding + single-quote as the leading macro command found and repaired. - * doc/file.n: Reverted to prior state before I messed with - it. + * doc/file.n: Reverted to prior state before I messed with it. 2002-05-08 Don Porter @@ -2840,18 +2785,18 @@ * tests/fileName.test: * tests/load.test: * tests/main.test: - * tests/tcltest.test: - * tests/unixInit.test: Fixes to test suite when there's a space - in the working path. Thanks to Kevin Kenny. + * tests/tcltest.test: + * tests/unixInit.test: Fixes to test suite when there's a space in the + working path. Thanks to Kevin Kenny. 2002-05-07 David Gravereaux -- Changes from Peter Spjuth - * tools/man2tcl.c: Increased line buffer size and a bail-out if - that should ever be over-run. + * tools/man2tcl.c: Increased line buffer size and a bail-out if that + should ever be over-run. * tools/man2help.tcl: Include Courier New font in rtf header. - * tools/man2help2.tcl: Improved handling of CS/CE fields. Use - Courier New for code samples and indent better. + * tools/man2help2.tcl: Improved handling of CS/CE fields. Use Courier + New for code samples and indent better. * doc/file.n: * doc/TraceCmd.3: winhelp conversion tools where understanding @@ -2861,14 +2806,14 @@ 2002-05-07 Vince Darley - * generic/tclFileName.c: fix to similar segfault when using - 'glob -types nonsense -dir dirname -join * *'. [Bug 553320] - + * generic/tclFileName.c: fix to similar segfault when using 'glob + -types nonsense -dir dirname -join * *'. [Bug 553320] + * doc/FileSystem.3: further documentation on vfs. * tests/cmdAH.test: * tests/fileSystem.test: - * tests/pkgMkindex.test: Fix to testsuite bugs when running out - of directory whose name contains '{' or '['. + * tests/pkgMkindex.test: Fix to testsuite bugs when running out of + directory whose name contains '{' or '['. 2002-05-07 Miguel Sofer @@ -2879,57 +2824,55 @@ 2002-05-02 Vince Darley - * generic/tclFileName.c: fix to freeing a bad object - (i.e. segfault) when using 'glob -types nonsense -dir dirname'. - * generic/tclWinFile.c: fix to [Bug 551306], also wrapped some - long lines. + * generic/tclFileName.c: fix to freeing a bad object (i.e. segfault) + when using 'glob -types nonsense -dir dirname'. + * generic/tclWinFile.c: fix to [Bug 551306], also wrapped some long + lines. * tests/fileName.test: added several tests for the above bugs. - * doc/FileSystem.3: clarified documentation on refCount - requirements of the object returned by the path type function. + * doc/FileSystem.3: clarified documentation on refCount requirements + of the object returned by the path type function. * generic/tclIOUtil.c: * win/tclWinFile.c: * unix/tclUnixFile.c: - * mac/tclMacFile.c: moved TclpFilesystemPathType to the - platform specific directories, so we can add missing platform- - specific implementations. On Windows, 'file system' now returns - useful results like "native NTFS", "native FAT" for that system. - Unix and MacOS still only return "native". + * mac/tclMacFile.c: moved TclpFilesystemPathType to the platform- + specific directories, so we can add missing platform-specific + implementations. On Windows, 'file system' now returns useful results + like "native NTFS", "native FAT" for that system. Unix and MacOS still + only return "native". * doc/file.n: clarified documentation. - * tests/winFile.test: test for 'file system' returning correct - values. + * tests/winFile.test: test for 'file system' returning correct values. * tests/fileSystem.test: test for 'file system' returning correct - values. Clean up after failed previous test run. - + values. Clean up after failed previous test run. + 2002-04-26 Jeff Hobbs * unix/configure: - * unix/tcl.m4: change HP-11 SHLIB_LD_LIBS from "" to ${LIBS} so - that the .sl knows its dependent libs. + * unix/tcl.m4: change HP-11 SHLIB_LD_LIBS from "" to ${LIBS} so that + the .sl knows its dependent libs. 2002-04-26 Donal K. Fellows * tests/obj.test (obj-11.[56]): Test conversion to boolean more thoroughly. * generic/tclObj.c (SetBooleanFromAny): Was not calling an integer - parsing function on native 64-bit platforms! [Bug 548686] + parsing function on native 64-bit platforms! [Bug 548686] 2002-04-24 Jeff Hobbs - * generic/tclInt.h: corrected TclRememberJoinableThread decl to - use VOID instead of void. + * generic/tclInt.h: corrected TclRememberJoinableThread decl to use + VOID instead of void. * generic/tclThreadJoin.c: noted that this code isn't needed on Unix. 2002-04-23 Jeff Hobbs - * doc/exec.n: - * doc/tclvars.n: doc updates [Patch #509426] (gravereaux) + * doc/exec.n: + * doc/tclvars.n: doc updates [Patch 509426] (gravereaux) 2002-04-24 Daniel Steffen - * mac/tclMacResource.r: added check of - TCLTK_NO_LIBRARY_TEXT_RESOURCES #define to allow disabling the - inclusion of the tcl library code in the resource fork of Tcl - executables and shared libraries. + * mac/tclMacResource.r: added check of TCLTK_NO_LIBRARY_TEXT_RESOURCES + #define to allow disabling the inclusion of the tcl library code in + the resource fork of Tcl executables and shared libraries. 2002-04-23 Donal K. Fellows @@ -2945,44 +2888,44 @@ * unix/tclUnixThrd.c: * win/Makefile.in: * win/tclWinInt.h: - * win/tclWinThrd.c: added new threaded allocator contributed by - AOL that significantly reduces lock contention when multiple - threads are in use. Only Windows and Unix implementations are - ready, and the Windows one may need work. It is only used by - default on Unix for now, and requires that USE_THREAD_ALLOC be - defined (--enable-threads on Unix will define this). + * win/tclWinThrd.c: added new threaded allocator contributed by AOL + that significantly reduces lock contention when multiple threads are + in use. Only Windows and Unix implementations are ready, and the + Windows one may need work. It is only used by default on Unix for now, + and requires that USE_THREAD_ALLOC be defined (--enable-threads on + Unix will define this). - * generic/tclIOUtil.c (Tcl_FSRegister, Tcl_FSUnregister): - corrected calling of Tcl_ConditionWait to ensure that there would - be a condition to wait upon. + * generic/tclIOUtil.c (Tcl_FSRegister, Tcl_FSUnregister): corrected + calling of Tcl_ConditionWait to ensure that there would be a condition + to wait upon. * generic/tclCmdAH.c (Tcl_FileObjCmd): added cast in FILE_SIZE. - * win/tclWinFCmd.c (DoDeleteFile): check return of setattr API - calls in file deletion for correct Win32 API handling. + * win/tclWinFCmd.c (DoDeleteFile): check return of setattr API calls + in file deletion for correct Win32 API handling. * win/Makefile.in: correct dependencies for shell, gdb, runtest targets. * doc/clock.n: * compat/strftime.c (_fmt): change strftime to correctly handle - localized %c, %x and %X on Windows. Added some notes about how - the other values could be further localized. + localized %c, %x and %X on Windows. Added some notes about how the + other values could be further localized. 2002-04-19 Don Porter * generic/tclMain.c (Tcl_Main): Free the memory allocated for the - startup script path. [Bug 543549] + startup script path. [Bug 543549] * library/msgcat/msgcat.tcl: [mcmax] wasn't using the caller's - namespace when determining the max translated length. Also - made revisions for better use of namespace variables and more - efficient [uplevel]s. + namespace when determining the max translated length. Also made + revisions for better use of namespace variables and more efficient + [uplevel]s. * doc/msgcat.n: * library/msgcat/msgcat.tcl: - * library/msgcat/pkgIndex.tcl: Added [mcload] to the export list - of msgcat; bumped to 1.2.3. [Bug 544727] + * library/msgcat/pkgIndex.tcl: Added [mcload] to the export list of + msgcat; bumped to 1.2.3. [Bug 544727] 2002-04-20 Daniel Steffen @@ -2991,97 +2934,95 @@ * generic/tclStubInit.c: * mac/tclMacFCmd.c: * mac/tclMacFile.c: - * mac/tclMacUtil.c: Modified TclpObjNormalizePath to be alias - file aware, and replaced various calls to FSpLocationFrom*Path - by calls to new alias file aware versions FSpLLocationFrom*Path. - The alias file aware routines don't resolve the last component of - a path if it is an alias. This allows [file copy/delete] etc. to - act correctly on alias files. (c.f. discussion in Bug #511666) + * mac/tclMacUtil.c: Modified TclpObjNormalizePath to be alias file + aware, and replaced various calls to FSpLocationFrom*Path by calls to + new alias file aware versions FSpLLocationFrom*Path. The alias file + aware routines don't resolve the last component of a path if it is an + alias. This allows [file copy/delete] etc. to act correctly on alias + files. (c.f. discussion in [Bug 511666]) 2002-04-19 Donal K. Fellows - * tests/lindex.test (lindex-3.7): - * generic/tclUtil.c (TclGetIntForIndex): Stopped indexes from - hitting wide ints. [Bug #526717] + * tests/lindex.test (lindex-3.7): + * generic/tclUtil.c (TclGetIntForIndex): Stopped indexes from hitting + wide ints. [Bug 526717] 2002-04-18 Miguel Sofer * generic/tclNamesp.c: - * tests/info.test: [Bug 545325] info level didn't report - namespace eval, bug report by Richard Suchenwirth. + * tests/info.test: [Bug 545325] info level didn't report namespace + eval, bug report by Richard Suchenwirth. 2002-04-18 Don Porter * doc/subst.n: Clarified documentation on handling unusual return - codes during substitution, and on variable substitutions implied - by command substitution, and vice versa. [Bug 536838] + codes during substitution, and on variable substitutions implied by + command substitution, and vice versa. [Bug 536838] 2002-04-18 Donal K. Fellows - * generic/tclCmdIL.c (InfoBodyCmd): - * tests/info.test (info-2.6): Proc bodies without string reps - would report as empty [Bug #545644] + * generic/tclCmdIL.c (InfoBodyCmd): + * tests/info.test (info-2.6): Proc bodies without string reps would + report as empty. [Bug 545644] - * generic/tclCmdMZ.c (Tcl_SubstObj): More clarification for - comment on behaviour when substitutions are not well-formed, - prompted by [Bug #536831]; alas, removing the ill-defined - behaviour is a lot of work. + * generic/tclCmdMZ.c (Tcl_SubstObj): More clarification for comment on + behaviour when substitutions are not well-formed, prompted by [Bug + 536831]; alas, removing the ill-defined behaviour is a lot of work. 2002-04-18 Miguel Sofer * generic/tclExecute.c: - * tests/expr-old.test: fix for [Bug #542588] (Phil Ehrens), where - "too large integers" were reported as "floating-point value" in - [expr] error messages. + * tests/expr-old.test: fix for [Bug 542588] (Phil Ehrens), where "too + large integers" were reported as "floating-point value" in [expr] + error messages. 2002-04-17 Jeff Hobbs - * generic/tclEncoding.c (EscapeFromUtfProc): - * generic/tclIO.c (WriteChars, Tcl_Close): corrected the handling - of outputting end escapes for escape-based encodings. - [Bug #526524] (yamamoto) + * generic/tclEncoding.c (EscapeFromUtfProc): + * generic/tclIO.c (WriteChars, Tcl_Close): corrected the handling of + outputting end escapes for escape-based encodings. + [Bug 526524] (yamamoto) 2002-04-17 Don Porter - * doc/tcltest.n: Removed [saveState] and [restoreState] from - tcltest 2 documentation, effectively deprecating them. [Bug 495660] - * library/tcltest/tcltest.tcl: Made separate export for commands - kept only for tcltest 1 compatibility. + * doc/tcltest.n: Removed [saveState] and [restoreState] from tcltest + 2 documentation, effectively deprecating them. [Bug 495660] + * library/tcltest/tcltest.tcl: Made separate export for commands kept + only for tcltest 1 compatibility. * tests/iogt.test: Revised to run tests in a namespace, rather than - use the useless and buggy [saveState] and [restoreState] commands - of tcltest. Updated to use tcltest 2 as well. [Patch 544911] + use the useless and buggy [saveState] and [restoreState] commands of + tcltest. Updated to use tcltest 2 as well. [Patch 544911] 2002-04-16 Don Porter - * tests/io.test: Revised to run tests in a namespace, rather than - use the useless and buggy [saveState] and [restoreState] commands - of tcltest. Updated to use tcltest 2 as well. [Patch 544546] + * tests/io.test: Revised to run tests in a namespace, rather than use + the useless and buggy [saveState] and [restoreState] commands of + tcltest. Updated to use tcltest 2 as well. [Patch 544546] 2002-04-15 Miguel Sofer * generic/tclProc.c: * tests/proc-old.test: Improved stack trace for TCL_BREAK and - TCL_CONTINUE returns from procs. Patch by Don Porter - [Bug 536955]. - + TCL_CONTINUE returns from procs. Patch by Don Porter [Bug 536955]. + * generic/tclExecute.c: * tests/compile.test: made bytecodes check for a catch before - returning; the compiled [return] is otherwise non-catchable. - [Bug 542142] reported by Andreas Kupries. + returning; the compiled [return] is otherwise non-catchable. [Bug + 542142] reported by Andreas Kupries. 2002-04-15 Don Porter * tests/socket.test: Increased timeout values so that tests have - time to successfully complete even on slow/busy machines. [Bug 523470] + time to successfully complete even on slow/busy machines. [Bug 523470] * doc/tcltest.n: * library/tcltest/tcltest.tcl: - * tests/tcltest.test: Revised [tcltest::test] to return errors - when called with invalid syntax and to accept exactly two arguments - as documented. Improved error messages. [Bug 497446, Patch 513983] - ***POTENTIAL INCOMPATIBILITY***: Incompatible with previous - tcltest 2.* releases, found only in alpha releases of Tcl 8.4. + * tests/tcltest.test: Revised [tcltest::test] to return errors when + called with invalid syntax and to accept exactly two arguments as + documented. Improved error messages. [Bug 497446, Patch 513983] + ***POTENTIAL INCOMPATIBILITY***: Incompatible with previous tcltest + 2.* releases, found only in alpha releases of Tcl 8.4. 2002-04-11 Jeff Hobbs @@ -3089,14 +3030,14 @@ unserviced events on finalization. * win/tcl.m4: Enabled COFF as well as CV style debug info with - --enable-symbols to allow Dr. Watson users to see function info. - More info on debugging levels can be obtained at: + --enable-symbols to allow Dr. Watson users to see function info. More + info on debugging levels can be obtained at: http://msdn.microsoft.com/library/en-us/dnvc60/html/gendepdebug.asp * tests/ioCmd.test: fixed iocmd-8.15 to have mac and unixPc variants. - * generic/tclParse.c (Tcl_ParseVar): conditionally incr obj - refcount to prevent possible mem leak. + * generic/tclParse.c (Tcl_ParseVar): conditionally incr obj refcount + to prevent possible mem leak. 2002-04-08 Daniel Steffen @@ -3105,63 +3046,62 @@ * mac/tclMacOSA.c: * mac/tclMacResource.c: added missing Tcl_UtfToExternalDString conversions of resource file names. - * mac/tclMacSock.c (TcpGetOptionProc): fixed bug introduced - by Andreas on 02-25; changed strcmp's to strncmp's so that - option comparison behaves like on other platforms. - * mac/tcltkMacBuildSupport.sea.hqx (CW Pro6 changes): added - support to allow Tk to hookup C library stderr/stdout to TkConsole. + * mac/tclMacSock.c (TcpGetOptionProc): fixed bug introduced by Andreas + on 02-25; changed strcmp's to strncmp's so that option comparison + behaves like on other platforms. + * mac/tcltkMacBuildSupport.sea.hqx (CW Pro6 changes): added support to + allow Tk to hookup C library stderr/stdout to TkConsole. * tests/basic.test: * tests/cmdAH.test: * tests/encoding.test: * tests/fileSystem.test: - * tests/ioCmd.test: fixed tests failing on mac: check for - existence of [exec], changed some result strings. + * tests/ioCmd.test: fixed tests failing on mac: check for existence of + [exec], changed some result strings. 2002-04-06 Jeff Hobbs * unix/tclUnixFCmd.c (Realpath): added a little extra code to - initialize a realpath arg when compiling in PURIFY mode in order - to prevent spurious purify warnings. We should really create our - own realpath implementation, but this will at least quiet purify - for now. + initialize a realpath arg when compiling in PURIFY mode in order to + prevent spurious purify warnings. We should really create our own + realpath implementation, but this will at least quiet purify for now. 2002-04-05 Don Porter * generic/tclCmdMZ.c (Tcl_SubstObj): - * tests/subst.test: Corrected [subst] so that return codes - TCL_BREAK and TCL_CONTINUE returned by variable substitution - have the same effect as when those codes are returned by command - substitution. [Bug 536879] + * tests/subst.test: Corrected [subst] so that return codes TCL_BREAK + and TCL_CONTINUE returned by variable substitution have the same + effect as when those codes are returned by command substitution. [Bug + 536879] 2002-04-03 Jeff Hobbs - * library/tcltest/tcltest.tcl: added getMatchingFiles back (alias - to GetMatchingFiles), which was a public function in tcltest 1.0. + * library/tcltest/tcltest.tcl: added getMatchingFiles back (alias to + GetMatchingFiles), which was a public function in tcltest 1.0. 2002-04-01 Vince Darley * generic/tclEnv.c: - * generic/tclIOUtil.c: invalidate filesystem cache when the - user changes env(HOME). Fixes [Bug #535621]. Also cleaned up - some of the documentation. + * generic/tclIOUtil.c: invalidate filesystem cache when the user + changes env(HOME). Fixes [Bug 535621]. Also cleaned up some of the + documentation. * tests/fileSystem.test: added test for bug just fixed. - + 2002-04-01 Kevin Kenny - * win/tclWinTime.c (Tcl_GetTime): made the checks of clock - frequency more permissive to cope with the fact that Win98SE - is observed to return 1.19318 in place of 1.193182 for the - performance counter frequency. - + * win/tclWinTime.c (Tcl_GetTime): made the checks of clock frequency + more permissive to cope with the fact that Win98SE is observed to + return 1.19318 in place of 1.193182 for the performance counter + frequency. + 2002-03-29 Jeff Hobbs * generic/tclCmdMZ.c (Tcl_TraceObjCmd, TraceVarProc) - (TraceCommandProc, TclTraceCommandObjCmd): corrected - potential double-free of traces on variables by flagging in - Trace*Proc that it will free the var in case the eval wants to - delete the var trace as well. [Bug #536937] - Also converted Tcl_UntraceVar -> Tcl_UntraceVar2 and Tcl_Eval to - Tcl_EvalEx in Trace*Proc for slight efficiency improvement. + (TraceCommandProc, TclTraceCommandObjCmd): corrected potential + double-free of traces on variables by flagging in Trace*Proc that it + will free the var in case the eval wants to delete the var trace as + well. [Bug 536937] Also converted Tcl_UntraceVar -> Tcl_UntraceVar2 + and Tcl_Eval to Tcl_EvalEx in Trace*Proc for slight efficiency + improvement. 2002-03-29 Don Porter @@ -3169,25 +3109,24 @@ * generic/tclBasic.c (Tcl_EvalObjv,Tcl_EvalEx,Tcl_EvalObjEx): * generic/tclCompile.h (TclCompEvalObj): * generic/tclExecute.c (TclCompEvalObj,TclExecuteByteCode): - * tests/basic.test: Corrected problems with Tcl_AllowExceptions - having influence over the wrong scope of Tcl_*Eval* calls. Patch - from Miguel Sofer. Report from Jean-Claude Wippler. [Bug 219181] + * tests/basic.test: Corrected problems with Tcl_AllowExceptions having + influence over the wrong scope of Tcl_*Eval* calls. Patch from Miguel + Sofer. Report from Jean-Claude Wippler. [Bug 219181] 2002-03-28 Don Porter - * generic/tclVar.c: Refactored CallTraces to collect repeated - handling of its returned value into CallTraces itself. + * generic/tclVar.c: Refactored CallTraces to collect repeated handling + of its returned value into CallTraces itself. 2002-03-28 David Gravereaux * tools/feather.bmp: * tools/man2help.tcl: * tools/man2help2.tcl: - * win/makefile.vc: More winhelp target fixups. Added a feather - bitmap to the non-scrollable area and changed the color to be - yellow from a plain white. The colors can be whatever we want - them to be, but thought I would start with something bold. - [Bug 527941] + * win/makefile.vc: More winhelp target fixups. Added a feather bitmap + to the non-scrollable area and changed the color to be yellow from a + plain white. The colors can be whatever we want them to be, but + thought I would start with something bold. [Bug 527941] * doc/SetVar.3: * doc/TraceVar.3: @@ -3196,11 +3135,10 @@ 2002-03-27 David Gravereaux * tools/man2help.tcl: - * win/makefile.vc: winhelp target now copies all needed files - from tools/ to a workarea under $(OUT_DIR) and builds it from - there. No build cruft is left in tools/ anymore. All paths - used in man2help.tcl are now relative to where the script is. - [Bug 527941] + * win/makefile.vc: winhelp target now copies all needed files from + tools/ to a workarea under $(OUT_DIR) and builds it from there. No + build cruft is left in tools/ anymore. All paths used in man2help.tcl + are now relative to where the script is. [Bug 527941] 2002-03-27 David Gravereaux @@ -3209,28 +3147,26 @@ * win/coffbase.txt: * win/makefile.vc: * win/nmakehlp.c (new): - * win/rules.vc: First draft fix for [Bug 527941]. More changes - need to done to the makehelp target to get to stop leaving build - files in the tools/ directory. This does not address the syntax - errors in the man files. Having the contents of tcl.hpj(.in) - inside makefile.vc allows for version numbers to be replaced with - macros. - + * win/rules.vc: First draft fix for [Bug 527941]. More changes need + to done to the makehelp target to get to stop leaving build files in + the tools/ directory. This does not address the syntax errors in the + man files. Having the contents of tcl.hpj(.in) inside makefile.vc + allows for version numbers to be replaced with macros. + The new nmakehlp.c is built by rules.vc in preprocessing and removes the need to use tricky shell syntax that wasn't compatible on Win9x - systems. Clean targets made Win9x complient. This is a first draft + systems. Clean targets made Win9x complient. This is a first draft repair for [Bug 533862]. 2002-03-28 Miguel Sofer - * generic/tclBasic.c (Tcl_EvalEx): passing the correct commandSize - to TclEvalObjvInternal. [Bug 219362], fix by David Knoll. + * generic/tclBasic.c (Tcl_EvalEx): passing the correct commandSize to + TclEvalObjvInternal. [Bug 219362], fix by David Knoll. 2002-03-28 Miguel Sofer * generic/tclBasic.c (Tcl_EvalEx): - * tests/basic.test: avoid exceptional returns at level 0 - [Bug 219181] + * tests/basic.test: avoid exceptional returns at level 0. [Bug 219181] 2002-03-27 Don Porter @@ -3247,32 +3183,32 @@ * tests/main.test: Removed workarounds for Bug 495977. * library/tcltest/tcltest.tcl: Keep the value of $::auto_path - unchanged, so that the tcltest package can test code that depends - on auto-loading. If a testing application needs $::auto_path pruned, - it should do that itself. [Bug 495726] + unchanged, so that the tcltest package can test code that depends on + auto-loading. If a testing application needs $::auto_path pruned, it + should do that itself. [Bug 495726] Improve the processing of the -constraints option to [test] so that constraint lists can have arbitrary whitespace, and non-lists don't - blow things up. [Bug 495977] + blow things up. [Bug 495977] Corrected faulty variable initialization. [Bug 534845] 2002-03-25 Miguel Sofer * doc/CrtTrace.3: small doc correction - * generic/tclBasic.c (Tcl_DeleteTrace): Allow NULL callback on - trace deletions [Bug 534728] (Hemang Lavana). + * generic/tclBasic.c (Tcl_DeleteTrace): Allow NULL callback on trace + deletions. [Bug 534728] (Hemang Lavana) 2002-03-24 Miguel Sofer - * generic/tclBasic.c (Tcl_EvalObjv): replaced obscure, incorrect - code as described in [Bug 533907] (Don Porter). + * generic/tclBasic.c (Tcl_EvalObjv): replaced obscure, incorrect code + as described in [Bug 533907] (Don Porter). 2002-03-24 Don Porter * library/tcltest/tcltest.tcl: Use [interpreter] to set/query the - executable currently running the tcltest package. [Bug 454050] + executable currently running the tcltest package. [Bug 454050] - * library/tcltest/tcltest.tcl: Allow non-proc commands to be used - as the customization hooks. [Bug 495662] + * library/tcltest/tcltest.tcl: Allow non-proc commands to be used as + the customization hooks. [Bug 495662] 2002-03-24 Vince Darley @@ -3291,48 +3227,45 @@ * doc/file.n: * tests/cmdAH.test: * tests/fileName.test: - * tests/fileSystem.test: (new file) - * tests/winFCmd.test: fix [Bug 511666] and [Bug 511658], - and improved documentation of some aspects of the filesystem, - particularly 'Tcl_FSMatchInDirectory' which now might match - a single file/directory only, and 'file normalize' which - wasn't very clear before. Removed inconsistency betweens - docs and the Tcl_Filesystem structure. Also fixed - [Bug 523217] and corrected file normalization on Unix so that - it expands symbolic links. Added some new tests of the - filesystem code (in the new file 'fileSystem.test'), and - some extra tests for correct handling of symbolic links. - Fix to [Bug 530960] which shows up on Win98. Made comparison - with ".com" case insensitive in tclWinPipe.c - - ***POTENTIAL INCOMPATIBILITY***: But only between alpha - releases (users of the new Tcl_Filesystem lookup table in Tcl - 8.4a4 need to handle the new way in which Tcl may call - Tcl_FSMatchInDirectory, and 'file normalize' on unix now - behaves correctly). Only known impact is with the 'tclvfs' - extension. + * tests/fileSystem.test: (new file) + * tests/winFCmd.test: fix [Bug 511666] and [Bug 511658], and improved + documentation of some aspects of the filesystem, particularly + 'Tcl_FSMatchInDirectory' which now might match a single file/directory + only, and 'file normalize' which wasn't very clear before. Removed + inconsistency betweens docs and the Tcl_Filesystem structure. Also + fixed [Bug 523217] and corrected file normalization on Unix so that + it expands symbolic links. Added some new tests of the filesystem + code (in the new file 'fileSystem.test'), and some extra tests for + correct handling of symbolic links. Fix to [Bug 530960] which shows up + on Win98. Made comparison with ".com" case insensitive in tclWinPipe.c + + ***POTENTIAL INCOMPATIBILITY***: But only between alpha releases + (users of the new Tcl_Filesystem lookup table in Tcl 8.4a4 need to + handle the new way in which Tcl may call Tcl_FSMatchInDirectory, and + 'file normalize' on unix now behaves correctly). Only known impact is + with the 'tclvfs' extension. 2002-03-22 Miguel Sofer - * tests/basic.test (basic-46.1): adding test for [Bug 533758], - fixed earlier today. - + * tests/basic.test (basic-46.1): adding test for [Bug 533758], fixed + earlier today. + 2002-03-22 Jeff Hobbs - * win/tclWinInt.h: moved undef of TCL_STORAGE_CLASS. [Bug #478579] + * win/tclWinInt.h: moved undef of TCL_STORAGE_CLASS. [Bug 478579] 2002-03-22 Miguel Sofer * generic/tclBasic.c (Tcl_EvalObjEx): * generic/tclExecute.c (TclCompEvalObj): fixed the errorInfo for - return codes other than (TCL_OK, TCL_ERROR) to runLevel 0 - [Bug 533758]. Removed the static RecordTracebackInfo(), as its - functionality is easily replicated by Tcl_LogCommandInfo. Bug - and redundancy noted by Don Porter. + return codes other than (TCL_OK, TCL_ERROR) to runLevel 0.[Bug 533758] + Removed the static RecordTracebackInfo(), as its functionality is + easily replicated by Tcl_LogCommandInfo. Bug and redundancy noted by + Don Porter. 2002-03-21 Donal K. Fellows - * doc/expr.n: Improved documentation for ceil and floor [Bug 530535] + * doc/expr.n: Improved documentation for ceil and floor. [Bug 530535] 2002-03-20 Don Porter @@ -3341,8 +3274,8 @@ * doc/UpVar.3: * generic/tcl.h (Tcl_VarTraceProc): * generic/tcl.decls (Tcl_GetVar2, Tcl_SetVar2, Tcl_TraceVar2, - Tcl_UnsetVar2, Tcl_UntraceVar2, Tcl_UpVar2, Tcl_VarTraceInfo2, - Tcl_GetVar2Ex, TclSetVar2Ex): + (Tcl_UnsetVar2, Tcl_UntraceVar2, Tcl_UpVar2, Tcl_VarTraceInfo2, + (Tcl_GetVar2Ex, TclSetVar2Ex): * generic/tclCmdMZ.c (TraceVarProc): * generic/tclEnv.c (EnvTraceProc): * generic/tclEvent.c (VwaitVarProc): @@ -3350,12 +3283,12 @@ * generic/tclLink.c (LinkTraceProc): * generic/tclUtil.c (TclPrecTraceProc): * generic/tclVar.c (CallTraces, MakeUpvar, VarErrMsg, TclLookupVar, - Tcl_GetVar2, Tcl_SetVar2, Tcl_TraceVar2, Tcl_UnsetVar2, - Tcl_UntraceVar2, Tcl_UpVar2, Tcl_VarTraceInfo2, Tcl_GetVar2Ex, - TclSetVar2Ex): Updated interfaces of generic/tclVar.c according - to TIP 27. In particular, the "part2" arguments were CONSTified. - [Patch 532642] - * generic/tclDecls.h: + (Tcl_GetVar2, Tcl_SetVar2, Tcl_TraceVar2, Tcl_UnsetVar2, + (Tcl_UntraceVar2, Tcl_UpVar2, Tcl_VarTraceInfo2, Tcl_GetVar2Ex, + (TclSetVar2Ex): Updated interfaces of generic/tclVar.c according to + TIP 27. In particular, the "part2" arguments were CONSTified. [Patch + 532642] + * generic/tclDecls.h: * generic/tclIntDecls.h: make genstubs 2002-03-15 Donal K. Fellows @@ -3367,33 +3300,30 @@ 2002-03-14 Mo DeJong * win/configure: Regen. - * win/configure.in: Add configure time test for SEH - support in the compiler. + * win/configure.in: Add configure time test for SEH support in the + compiler. * win/tclWin32Dll.c (ESP, EBP, TclpCheckStackSpace, - _except_checkstackspace_handler): + (_except_checkstackspace_handler): * win/tclWinChan.c (ESP, EBP, Tcl_MakeFileChannel, - _except_makefilechannel_handler): - * win/tclWinFCmd.c (ESP, EBP, DoRenameFile, - _except_dorenamefile_handler, - DoCopyFile, _except_docopyfile_handler): - Implement SEH support under gcc using inline asm. - Tcl and Tk should now compile with Mingw 1.1. [Patch 525746] + (_except_makefilechannel_handler): + * win/tclWinFCmd.c (ESP, EBP, DoRenameFile, DoCopyFile, + (_except_dorenamefile_handler, _except_docopyfile_handler): + Implement SEH support under gcc using inline asm. Tcl and Tk should + now compile with Mingw 1.1. [Patch 525746] 2002-03-14 Mo DeJong - * win/tclWinFCmd.c (DoRenameFile, DoCopyFile): Handle - an SEH exception with EXCEPTION_EXECUTE_HANDLER instead - of restarting the faulting instruction with - EXCEPTION_CONTINUE_EXECUTION. Bug 466102 provides an - example of how restarting could send Tcl into an - infinite loop. [Patch 525746] + * win/tclWinFCmd.c (DoRenameFile, DoCopyFile): Handle an SEH exception + with EXCEPTION_EXECUTE_HANDLER instead of restarting the faulting + instruction with EXCEPTION_CONTINUE_EXECUTION. [Bug 466102] provides + an example of how restarting could send Tcl into an infinite loop. + [Patch 525746] 2002-03-11 Mo DeJong * win/tclWinFCmd.c (DoRenameFile, DoCopyFile, DoDeleteFile, - DoRemoveJustDirectory): Make sure we don't pass NULL or "" - as a path name to Win32 API functions since this was - crashing under Windows 98. + (DoRemoveJustDirectory): Make sure we don't pass NULL or "" as a path + name to Win32 API functions since this was crashing under Windows 98. 2002-03-11 Don Porter @@ -3402,25 +3332,23 @@ 2002-03-11 Mo DeJong - * library/tcltest/tcltest.tcl (getMatchingFiles): Pass - a proper list to foreach to avoid munging a Windows - patch like D:\Foo\Bar into D:FooBar before the glob. + * library/tcltest/tcltest.tcl (getMatchingFiles): Pass a proper list + to foreach to avoid munging a Windows patch like D:\Foo\Bar into + D:FooBar before the glob. 2002-03-11 Mo DeJong * generic/tclEncoding.c: Fix typo in comment. - * generic/tclIO.c (DoReadChars, ReadBytes, ReadChars): - Use NULL value instead of pointer set to NULL to make - things more clear. Reorder arguments so that they - match the function signatures. Cleanup little typos - and add more descriptive comment. + * generic/tclIO.c (DoReadChars, ReadBytes, ReadChars): Use NULL value + instead of pointer set to NULL to make things more clear. Reorder + arguments so that they match the function signatures. Cleanup little + typos and add more descriptive comment. 2002-03-08 Mo DeJong - * win/README: Update to indicate that Mingw 1.1 is - required to build Tcl. Add section describing new - msys based build process. Update Cygwin build - instructions so users know where to find Mingw 1.1. + * win/README: Update to indicate that Mingw 1.1 is required to build + Tcl. Add section describing new msys based build process. Update + Cygwin build instructions so users know where to find Mingw 1.1. 2002-03-08 Jeff Hobbs @@ -3429,18 +3357,18 @@ 2002-03-07 Mo DeJong * win/tclWin32Dll.c (TclpCheckStackSpace): - * win/tclWinFCmd.c (DoRenameFile, DoCopyFile): Replace - hard coded constants with Win32 symbolic names. - Move control flow statements out of __try blocks - since the documentation indicates it is frowned upon. + * win/tclWinFCmd.c (DoRenameFile, DoCopyFile): Replace hard coded + constants with Win32 symbolic names. Move control flow statements out + of __try blocks since the documentation indicates it is frowned upon. 2002-03-07 Don Porter * doc/interp.n: - * generic/tclInterp.c(Tcl_InterpObjCmd,SlaveObjCmd,SlaveRecursionLimit): + * generic/tclInterp.c (Tcl_InterpObjCmd, SlaveObjCmd, + (SlaveRecursionLimit): * generic/tclTest.c: * tests/interp.test: Added the [interp recursionlimit] command to - set/query the recursion limit of an interpreter. Proposal and + set/query the recursion limit of an interpreter. Proposal and implementation from Stephen Trier. [TIP 87, Patch 522849] 2002-03-06 Donal K. Fellows @@ -3448,30 +3376,29 @@ * generic/tcl.h, tools/tcl.wse.in, unix/configure.in, * unix/tcl.spec, win/README.binary, win/configure.in, README: Bumped patchlevel; this might need to change in the future, but it - will help us distinguish between the CVS version and the most - recent released version. + will help us distinguish between the CVS version and the most recent + released version. 2002-03-06 Miguel Sofer - * generic/tclInt.h: for unshared objects, TclDecrRefCount now - frees the internal rep before the string rep - just like the - non-macro Tcl_DecrRefCount/TclFreeObj [Bug 524802]. + * generic/tclInt.h: for unshared objects, TclDecrRefCount now frees + the internal rep before the string rep - just like the non-macro + Tcl_DecrRefCount/TclFreeObj. [Bug 524802] 2002-03-06 Donal K. Fellows * doc/lsearch.n: Documentation of new features, plus examples. * tests/lsearch.test: Tests of new features. - * generic/tclCmdIL.c (Tcl_LsearchObjCmd): TIP#80 support. See + * generic/tclCmdIL.c (Tcl_LsearchObjCmd): TIP#80 support. See http://purl.org/tcl/tip/80 for details. 2002-03-05 Jeff Hobbs *** 8.4a4 TAGGED FOR RELEASE *** - * unix/tclUnixChan.c: initial remedy for [Bug #525783] flush - problem introduced by TIP #35. This may not satisfy true serial - channels, but it restores the correct flushing of std* channels on - exit. + * unix/tclUnixChan.c: initial remedy for [Bug 525783] flush problem + introduced by TIP #35. This may not satisfy true serial channels, but + it restores the correct flushing of std* channels on exit. * unix/README: added --enable-langinfo doc. @@ -3493,21 +3420,21 @@ * tests/encoding.test: corrected iso2022 encoding results. added encoding-24.* * generic/tclEncoding.c (EscapeFromUtfProc): corrected output of - escape codes as per RFC 1468. [Patch #474358] (taguchi) + escape codes as per RFC 1468. [Patch 474358] (taguchi) (TclFinalizeEncodingSubsystem): corrected potential double-free - when encodings were finalized on exit. [Bug #219314, #524674] + when encodings were finalized on exit. [Bugs 219314, 524674] 2002-03-01 Jeff Hobbs - * library/encoding/iso2022-jp.enc: - * library/encoding/iso2022.enc: + * library/encoding/iso2022-jp.enc: + * library/encoding/iso2022.enc: * tools/encoding/iso2022-jp.esc: * tools/encoding/iso2022.esc: gave $B precedence over $@, - based on comments (point 1) in [Bug #219283] (rfc 1468) + based on comments (point 1) in [Bug 219283] (rfc 1468) * tests/encoding.test: added encoding-23.* tests * generic/tclIO.c (FilterInputBytes): reset the TCL_ENCODING_START - flags in the ChannelState when using 'gets'. [Bug #523988] + flags in the ChannelState when using 'gets'. [Bug 523988] Also reduced the value of ENCODING_LINESIZE from 30 to 20 as this seems to improve the performance of 'gets' according to tclbench. @@ -3525,36 +3452,35 @@ 2002-02-28 Miguel Sofer - * generic/tclNamesp.c: allow cached fully-qualified namespace - names to be usable from different namespaces within the same - interpreter without forcing a new lookup [Patch 458872]. + * generic/tclNamesp.c: allow cached fully-qualified namespace names to + be usable from different namespaces within the same interpreter + without forcing a new lookup [Patch 458872]. 2002-02-28 Miguel Sofer - * generic/tclExecute.c: Replaced a few direct stack accesses - with the POP_OBJECT() macro [Bug 507181] (Don Porter). + * generic/tclExecute.c: Replaced a few direct stack accesses with the + POP_OBJECT() macro [Bug 507181] (Don Porter). 2002-02-27 Don Porter * doc/GetIndex.3: * generic/tcl.decls (Tcl_GetIndexFromObjStruct): * generic/tclIndexObj.c (Tcl_GetIndexFromObjStruct): Revised the - prototype of the Tcl_GetIndexFromObjStruct to take its struct - table as a (CONST VOID *) argument, better describing what it is, - maintaining source compatibility, and adding CONST correctness - according to TIP 27. Thanks to Joe English for an elegant - solution. [Bug 520304] + prototype of the Tcl_GetIndexFromObjStruct to take its struct table as + a (CONST VOID *) argument, better describing what it is, maintaining + source compatibility, and adding CONST correctness according to TIP + 27. Thanks to Joe English for an elegant solution. [Bug 520304] * generic/tclDecls.h: make genstubs * generic/tclMain.c (Tcl_Main,StdinProc): Corrected some reference count management errors on the interactive command Tcl_Obj found by - Purify. Thanks to Jeff Hobbs for the report and assistance. + Purify. Thanks to Jeff Hobbs for the report and assistance. 2002-02-27 Jeff Hobbs - * generic/tclBasic.c (Tcl_EvalTokensStandard): corrected mem leak - in error case. + * generic/tclBasic.c (Tcl_EvalTokensStandard): corrected mem leak in + error case. * generic/tclTest.c (TestStatProc[123]): correct harmless UMRs. @@ -3562,54 +3488,53 @@ 2002-02-27 Andreas Kupries - * tests/socket.test (2.7): Accepted and applied patch for Tcl SF - bug #523470 provided by Don Porter - to avoid timing problems in that test. + * tests/socket.test (2.7): Accepted and applied patch for [Bug 523470] + provided by Don Porter to avoid timing + problems in that test. * unix/tclUnixChan.c (TclpOpenFileChannel): Added code to regonize - "/dev/tty" (by name) and to not handle it as tty / serial - line. This is the controlling terminal and is special. Setting - it into raw mode as is done for other tty's is a bad idea. This - is a hackish fix for expect SGF Bug #520624. The fix has - limitation: Tcl_MakeFileChannel handles tty's specially too, but - is unable to recognize /dev/tty as it only gets a file - descriptor, and no name for it. + "/dev/tty" (by name) and to not handle it as tty / serial line. This + is the controlling terminal and is special. Setting it into raw mode + as is done for other tty's is a bad idea. This is a hackish fix for + expect [Bug 520624]. The fix has limitation: Tcl_MakeFileChannel + handles tty's specially too, but is unable to recognize /dev/tty as it + only gets a file descriptor, and no name for it. 2002-02-26 Jeff Hobbs * generic/tclCmdAH.c (StoreStatData): corrected mem leak. * generic/tclCmdMZ.c (Tcl_RegsubObjCmd): prevent obj leak in - remedial regsub case. + remedial regsub case. * generic/tclFileName.c (Tcl_TranslateFileName): decr refcount for - error case to prevent mem leak. + error case to prevent mem leak. * generic/tclVar.c (Tcl_ArrayObjCmd): removed extra obj allocation. * unix/tclUnixSock.c (Tcl_GetHostName): added an extra - gethostbyname check to guard against failure with truncated - names returned by uname. + gethostbyname check to guard against failure with truncated + names returned by uname. * unix/configure: * unix/tcl.m4 (SC_SERIAL_PORT): added sys/modem.h check and defined - _XOPEN_SOURCE_EXTENDED for HP-11 to get updated header decls. + _XOPEN_SOURCE_EXTENDED for HP-11 to get updated header decls. * unix/tclUnixChan.c: added Unix implementation of TIP #35, serial - port support. [Patch #438509] (schroedter) + port support. [Patch 438509] (schroedter) 2002-02-26 Miguel Sofer * generic/tclCmpCmds.c: (bugfix to the bugfix, hopefully the last) - Bugfix to the new [for] compiling code: was setting a - exceptArray parameter using another param which wasn't yet - initialised, thus filling it with noise. + Bugfix to the new [for] compiling code: was setting a exceptArray + parameter using another param which wasn't yet initialised, thus + filling it with noise. 2002-02-25 Andreas Kupries - * mac/tclMacSock.c (TcpGetOptionProc): Changed to recognize the - option "-error". Essentially ignores the option, always - returning an empty string. + * mac/tclMacSock.c (TcpGetOptionProc): Changed to recognize the option + "-error". Essentially ignores the option, always returning an empty + string. 2002-02-25 Jeff Hobbs @@ -3620,21 +3545,21 @@ * doc/Preserve.3: * doc/TCL_MEM_DEBUG.3: Updated documentation to describe the ckalloc, ckfree, ckrealloc, attemptckalloc, and attemptckrealloc macros, and - to accurately describe when and how they are used. [Bug #497459] (dgp) + to accurately describe when and how they are used. [Bug 497459] (dgp) * generic/tclHash.c (AllocArrayEntry, AllocStringEntry): Before invoking ckalloc when creating a Tcl_HashEntry, check that the amount of memory being allocated is at least as large as sizeof(Tcl_HashEntry). The previous code was allocating memory regions that were one - or two bytes short. [Bug #521950] (dejong) + or two bytes short. [Bug 521950] (dejong) 2002-02-25 Miguel Sofer * generic/tclBasic.c (Tcl_EvalEx): avoiding a buffer overrun reported by Joe English, and restoring tcl7.6 behaviour for [subst]: badly terminated nested scripts will raise an error - and not be evaluated. [Bug #495207] + and not be evaluated. [Bug 495207] 2002-02-25 Don Porter @@ -3646,18 +3571,17 @@ 2002-02-25 Daniel Steffen * unix/tclLoadDyld.c: updated to use Mac OS X 10.1 dyld APIs that - have more libdl-like semantics. (bug #514392) + have more libdl-like semantics. [Bug 514392] 2002-02-25 Miguel Sofer - * generic/tclCompCmds: fixing a bug in patch dated 2002-02-22, in - the code for [for] and [while]. Under certain conditions, for long - bodies, the exception range parameters were badly computed. Tests - forthcoming: I still can't reproduce the conditions in the - testsuite (!), although the bug (with assorted segfault or panic!) - can be triggered from the console or with the new parse.bench in - tclbench. - + * generic/tclCompCmds: fixing a bug in patch dated 2002-02-22, in the + code for [for] and [while]. Under certain conditions, for long bodies, + the exception range parameters were badly computed. Tests forthcoming: + I still can't reproduce the conditions in the testsuite (!), although + the bug (with assorted segfault or panic!) can be triggered from the + console or with the new parse.bench in tclbench. + 2002-02-25 Donal K. Fellows * compat/strtoul.c, compat/strtol.c, compat/strtod.c: Added UCHAR, @@ -3674,9 +3598,8 @@ 2002-02-23 Mo DeJong * configure: Regen. - * unix/tcl.m4 (SC_CONFIG_CFLAGS): Link with -n32 - instead of -32 when building on IRIX64-6.* system. - [Tcl bug 521707] + * unix/tcl.m4 (SC_CONFIG_CFLAGS): Link with -n32 instead of -32 when + building on IRIX64-6.* system. [Bug 521707] 2002-02-22 Don Porter @@ -3688,8 +3611,8 @@ 2002-02-22 Jeff Hobbs - * tests/regexpComp.test: updated regexp-11.[1-4] to match changes - in regexp.test for new regsub syntax + * tests/regexpComp.test: updated regexp-11.[1-4] to match changes in + regexp.test for new regsub syntax * unix/configure: * unix/tcl.m4: added --enable-64bit support for AIX-4 (using -q64 @@ -3697,16 +3620,16 @@ * tests/safe.test: updated safe-8.5 and safe-8.7 * library/safe.tcl (CheckFileName): removed the limit on - sourceable file names (was only *.tcl or tclIndex files with no - more than one dot and 14 chars). There is enough internal - protection in a safe interpreter already. Fixes [Tk Bug #521560]. + sourceable file names (was only *.tcl or tclIndex files with no more + than one dot and 14 chars). There is enough internal protection in a + safe interpreter already. [Tk Bug 521560] 2002-02-22 Miguel Sofer - * generic/tclCompCmds: [FR 465811]. Optimising [if], [for] and - [while] for constant conditions; in addition, [for] and [while] - are now compiled with the "loop rotation" optimisation (thanks to - Kevin Kenny). + * generic/tclCompCmds: [FR 465811]. Optimising [if], [for] and [while] + for constant conditions; in addition, [for] and [while] are now + compiled with the "loop rotation" optimisation (thanks to Kevin + Kenny). 2002-02-22 Donal K. Fellows @@ -3716,66 +3639,63 @@ * doc/regsub.n: Updated docs. * tests/regexp.test: Updated and added tests. - * compat/strtoll.c (strtoll): - * compat/strtoull.c (strtoull): + * compat/strtoll.c (strtoll): + * compat/strtoull.c (strtoull): * unix/tclUnixPort.h: - * win/tclWinPort.h: Const-ing 64-bit compatability declarations. - Note that the return pointer is non-const because it is entirely - legal for the functions to be called from somewhere that owns the - string being passed. Fixes problem reported by Larry Virden. + * win/tclWinPort.h: Const-ing 64-bit compatability declarations. Note + that the return pointer is non-const because it is entirely legal for + the functions to be called from somewhere that owns the string being + passed. Fixes problem reported by Larry Virden. 2002-02-21 David Gravereaux * win/mkd.bat (removed): * win/coffbase.txt (new): * win/makefile.bc: - * win/makefile.vc: Changed the 'setup' target to stop using - the mkd.bat file and just make the directory right in the rule. - Same change to makefile.bc. configure.in nor Makefile.in use - it. + * win/makefile.vc: Changed the 'setup' target to stop using the + mkd.bat file and just make the directory right in the rule. Same + change to makefile.bc. Neither configure.in nor Makefile.in use it. - coffbase.txt will be the master list for our "prefered base - addresses" set by the linker. This should improve load-time - (NT only) by avoiding relocations. Submissions to the list - by extension authors are encouraged. + coffbase.txt will be the master list for our "prefered base addresses" + set by the linker. This should improve load-time (NT only) by avoiding + relocations. Submissions to the list by extension authors are + encouraged. - Added a 'tidy' target to compliment 'clean' and 'hose' to remove - just the outputs. Also removed the $(winlibs) macro as it wasn't - being used. + Added a 'tidy' target to compliment 'clean' and 'hose' to remove just + the outputs. Also removed the $(winlibs) macro as it wasn't being + used. Stuff left to do: - 1) get the winhelp target to stop building in the tools/ - directory. + 1) get the winhelp target to stop building in the tools/ directory. 2) stop using rmd.bat 3) add more dependacy rules. - * win/tclAppInit.c: Reverted back to -r1.6, as the header file - change to tclPort.h won't allow for easy embedded support - outside of the source dist. Thanks to Don Porter for pointing - this out to me. + * win/tclAppInit.c: Reverted back to -r1.6, as the header file change + to tclPort.h won't allow for easy embedded support outside of the + source dist. Thanks to Don Porter for pointing this out to me. 2002-02-21 David Gravereaux * win/makefile.vc: * win/rules.vc: Added a new "loimpact" option that sets the - -ws:aggressive linker option. Off by default. It's said to - keep the heap use low at the expense of alloc speed. + -ws:aggressive linker option. Off by default. It's said to keep the + heap use low at the expense of alloc speed. - * win/tclAppInit.c: Changed #include "tcl.h" to be tclPort.h to - remove the raw windows.h include. tclPort.h brings in windows.h - already and lessens the pre-compiled-header mush and the randomly - useless #pragma comment (lib,...) references throughout the big - windows.h tree (as observed at high linker warning levels). + * win/tclAppInit.c: Changed #include "tcl.h" to be tclPort.h to remove + the raw windows.h include. tclPort.h brings in windows.h already and + lessens the pre-compiled-header mush and the randomly useless #pragma + comment (lib,...) references throughout the big windows.h tree (as + observed at high linker warning levels). 2002-02-21 Donal K. Fellows - * generic/tcl.h: Better guessing of LP64/ILP32 architecture, but - now sensitive to presence of (suitable) + * generic/tcl.h: Better guessing of LP64/ILP32 architecture, but now + sensitive to presence of (suitable) 2002-02-20 Don Porter * generic/tcl.decls (Tcl_RegExpRange,Tcl_GetIndexFromObjStruct): - Overlooked a few source incompatibilities. Now using CONST84. + Overlooked a few source incompatibilities. Now using CONST84. * generic/tclDecls.h: make genstubs * generic/tcl.h (Tcl_CmdObjTraceProc): silence warning from Sun Workshop compiler. @@ -3784,31 +3704,31 @@ * win/buildall.vc.bat: * win/makefile.vc: - * win/rules.vc: General clean-ups. Added compiler and linker tests - for a) the pentium 0x0F errata, b) optimizing (not all have this), - and c) linker v6 section alignment confusion. All these are tested - first to make sure any D4002 or LNK1117 warnings aren't displayed. - The pentium 0x0F errata is a recommended switch. The v5 linker's - section alignment default is 512, but the v6 linker was changed - to 4096 in an attempt to speed loading on Win98. I changed the - default to always be 512 across both linkers, unless linking - statically, then 4096 is used for the claimed speed effect. Using - a 512 alignment saves 12k bytes of dead space in the DLL. + * win/rules.vc: General clean-ups. Added compiler and linker tests for + a) the pentium 0x0F errata, b) optimizing (not all have this), and c) + linker v6 section alignment confusion. All these are tested first to + make sure any D4002 or LNK1117 warnings aren't displayed. The pentium + 0x0F errata is a recommended switch. The v5 linker's section alignment + default is 512, but the v6 linker was changed to 4096 in an attempt to + speed loading on Win98. I changed the default to always be 512 across + both linkers, unless linking statically, then 4096 is used for the + claimed speed effect. Using a 512 alignment saves 12k bytes of dead + space in the DLL. Added IA64 B-stepping errata switch when the compiler supports it. Added profiling to $(lflags) when requested and also removed the explict -entry option as the default works fine as is. - Removed win/tclWinInit.c from the special case section to let it - use the common implicit rule as the $(EXTFLAGS) macro it had was - never referenced anywhere. + Removed win/tclWinInit.c from the special case section to let it use + the common implicit rule as the $(EXTFLAGS) macro it had was never + referenced anywhere. 2002-02-20 Donal K. Fellows * generic/tcl.h: Added code to guess the correct settings for - TCL_WIDE_INT_IS_LONG and TCL_WIDE_INT_TYPE when configure doesn't - tell us them, as can happen with extensions. + TCL_WIDE_INT_IS_LONG and TCL_WIDE_INT_TYPE when configure doesn't tell + us them, as can happen with extensions. 2002-02-19 Donal K. Fellows @@ -3842,14 +3762,14 @@ * tests/get.test: * win/Makefile.vc: Further tweaks to the TIP 72 patch to make it compile under VC++. - + 2002-02-15 Andreas Kupries * tclExecute.c: * tclIOGT.c: - * tclIndexObj.c: Touchups to the TIP 72 patch to make it - compileable under Windows again. The changes are not complete, - there is one nasty regarding _stati64 + * tclIndexObj.c: Touchups to the TIP 72 patch to make it compileable + under Windows again. The changes are not complete, there is one nasty + regarding _stati64 2002-02-15 Donal K. Fellows @@ -3859,8 +3779,7 @@ There are a lot of changes from this TIP, so please see http://purl.org/tcl/tip/72.html for discussion of - backward-compatability issues, but the main ones modifications are - in: + backward-compatability issues, but the main ones modifications are in: * generic/tcl.h: New types. * generic/tcl.decls: New public functions. @@ -3876,55 +3795,53 @@ * unix/tcl.m4, unix/configure: 64-bit support and greatly enhanced cacheing. - Most other changes, including all those in doc/* and test/* as - well as the majority in the platform directories, follow on from - these. + Most other changes, including all those in doc/* and test/* as well as + the majority in the platform directories, follow on from these. Also coming out of the woodwork: * generic/tclIndex.c: Better support for Cray PVP. * win/tclWinMtherr.c: Better Borland support. - Note that, in a number of places through the Unix part of the - platform support, there are Tcl_Platform* references. These are - expanded into the correct way to call that particular underlying - function, i.e. with or without a '64' suffix, and should be used - by people working on the core in preference to the API functions - they overlay so that the code remains portable depending on the - presence or absence of 64-bit support on the underlying platform. + Note that, in a number of places through the Unix part of the platform + support, there are Tcl_Platform* references. These are expanded into + the correct way to call that particular underlying function, i.e. with + or without a '64' suffix, and should be used by people working on the + core in preference to the API functions they overlay so that the code + remains portable depending on the presence or absence of 64-bit + support on the underlying platform. ***POTENTIAL INCOMPATIBILITY***: Extracted from the TIP - SUMMARY OF INCOMPATIBILITIES AND FIXES + SUMMARY OF INCOMPATIBILITIES AND FIXES ====================================== - The behaviour of expressions containing constants that appear - positive but which have a negative internal representation will - change, as these will now usually be interpreted as wide - integers. This is always fixable by replacing the constant with - int(constant). + The behaviour of expressions containing constants that appear positive + but which have a negative internal representation will change, as + these will now usually be interpreted as wide integers. This is always + fixable by replacing the constant with int(constant). Extensions creating new channel types will need to be altered as different types are now in use in those areas. The change to the - declaration of Tcl_FSStat and Tcl_FSLstat (which are the new - preferred API in any case) are less serious as no non-alpha - releases have been made yet with those API functions. + declaration of Tcl_FSStat and Tcl_FSLstat (which are the new preferred + API in any case) are less serious as no non-alpha releases have been + made yet with those API functions. Scripts that are lax about the use of the l modifier in format and - scan will probably need to be rewritten. This should be very - uncommon though as previously it had absolutely no effect. + scan will probably need to be rewritten. This should be very uncommon + though as previously it had absolutely no effect. Extensions that create new math functions that take more than one - argument will need to be recompiled (the size of Tcl_Value - changes), and functions that accept arguments of any type - (TCL_EITHER) will need to be rewritten to handle wide integer - values. (I do not expect this to affect many extensions at all.) + argument will need to be recompiled (the size of Tcl_Value changes), + and functions that accept arguments of any type (TCL_EITHER) will need + to be rewritten to handle wide integer values. (I do not expect this + to affect many extensions at all.) 2002-02-14 Andreas Kupries - * generic/tclIOCmd.c (Tcl_GetsObjCmd): Trivial fix for bug - #517503, a memory leak reported by Miguel Sofer - . The leak happens if an error - occurs for "set var [gets $chan]" and leak one empty object. + * generic/tclIOCmd.c (Tcl_GetsObjCmd): Trivial fix for [Bug 517503], a + memory leak reported by Miguel Sofer . The leak + happens if an error occurs for "set var [gets $chan]" and leak one + empty object. 2002-02-12 David Gravereaux @@ -3935,12 +3852,11 @@ * unix/tclUnixFCmd.c: * unix/tclUnixFile.c: * unix/tclUnixInit.c: - * unix/tclUnixPort.h: Early stage of DJGPP support for building - Tcl on DOS. Dynamic loading isn't working, yet. Requires watt32 - for the TCP/IP stack. No autoconf, yet. Barely tested, but - makes a working exe that runs Tcl in protected-mode, flat memory. - [exec] and pipes will need the most work as multi-tasking on DOS - has to be carefully. + * unix/tclUnixPort.h: Early stage of DJGPP support for building Tcl + on DOS. Dynamic loading isn't working, yet. Requires watt32 for the + TCP/IP stack. No autoconf, yet. Barely tested, but makes a working exe + that runs Tcl in protected-mode, flat memory. [exec] and pipes will + need the most work as multi-tasking on DOS has to be carefully. 2002-02-10 Kevin Kenny @@ -3957,20 +3873,20 @@ * generic/tclDecls.h: * generic/tclStubInit.c: Regenerated Stubs tables. - + 2002-02-08 Jeff Hobbs * unix/configure: * unix/tcl.m4: added -pthread for FreeBSD to EXTRA_CFLAGS and - LDFLAGS. Also triggered nodots only for FreeBSD-3. - Added AC_DEFINE(_POSIX_PTHREAD_SEMANTICS) for Solaris. + LDFLAGS. Also triggered nodots only for FreeBSD-3. Added + AC_DEFINE(_POSIX_PTHREAD_SEMANTICS) for Solaris. * unix/tclUnixPort.h: * unix/tclUnixThrd.c: added thread-safe versions of readdir, localtime, gmtime and inet_ntoa for threaded build. (jgdavidson) - * generic/tclScan.c (Tcl_ScanObjCmd): prevented ckfree being - called on a pointer to NULL. + * generic/tclScan.c (Tcl_ScanObjCmd): prevented ckfree being called on + a pointer to NULL. 2002-02-07 Don Porter @@ -3995,15 +3911,14 @@ * win/tclWin32Dll.c: * win/tclWinFCmd.c: * win/tclWinFile.c: - * win/tclWinInit.c: Partial TIP 27 rollback. Following routines + * win/tclWinInit.c: Partial TIP 27 rollback. Following routines restored to return (char *): Tcl_DStringAppend, Tcl_DStringAppendElement, Tcl_JoinPath, Tcl_TranslateFileName, Tcl_ExternalToUtfDString, Tcl_UtfToExternalDString, - Tcl_UniCharToUtfDString, Tcl_GetCwd, Tcl_WinTCharToUtf. Also - restored Tcl_WinUtfToTChar to return (TCHAR *) and - Tcl_UtfToUniCharDString to return (Tcl_UniChar *). Modified - some callers. This change recognizes that Tcl_DStrings are - de-facto white-box objects. + Tcl_UniCharToUtfDString, Tcl_GetCwd, Tcl_WinTCharToUtf. Also restored + Tcl_WinUtfToTChar to return (TCHAR *) and Tcl_UtfToUniCharDString to + return (Tcl_UniChar *). Modified some callers. This change recognizes + that Tcl_DStrings are de-facto white-box objects. * generic/tclDecls.h: * generic/tclPlatDecls.h: make genstubs @@ -4013,17 +3928,17 @@ 2002-02-06 Jeff Hobbs * tests/scan.test: - * generic/tclScan.c (Tcl_ScanObjCmd): corrected scan 0x... %x - handling that didn't accept the 0x as a prelude to a base 16 - number. [Bug #495213] + * generic/tclScan.c (Tcl_ScanObjCmd): corrected scan 0x... %x handling + that didn't accept the 0x as a prelude to a base 16 number. [Bug + 495213] - * generic/tclCompCmds.c (TclCompileRegexpCmd): made early check - for bad RE to stop checking further. + * generic/tclCompCmds.c (TclCompileRegexpCmd): made early check for + bad RE to stop checking further. - * generic/tclCmdMZ.c (Tcl_RegsubObjCmd): added special case to - search for simple 'string map' style regsub calls. - Delayed creation of resultPtr object until an initial match is - made, as the input string object can then be reused for no matches. + * generic/tclCmdMZ.c (Tcl_RegsubObjCmd): added special case to search + for simple 'string map' style regsub calls. Delayed creation of + resultPtr object until an initial match is made, as the input string + object can then be reused for no matches. (Tcl_StringObjCmd): optimization improvements to the STR_MAP algorithm for zero-length and nocase cases. @@ -4038,20 +3953,19 @@ * library/http/http.tcl: * library/http/pkgIndex.tcl: Corrected use of http::error when - ::error was intended. Bump to http 2.4.2. + ::error was intended. Bump to http 2.4.2. 2002-02-04 Andreas Kupries - * unix/tclUnixChan.c (FileOutputProc): Fixed [bug 465765] reported - by Dale Talcott . Avoid - writing nothing into a file as STREAM based implementations will - consider this a EOF (if the file is a pipe). Not done in the - generic layer as this type of writing is actually useful to - check the state of a socket. + * unix/tclUnixChan.c (FileOutputProc): Fixed [bug 465765] reported by + Dale Talcott . Avoid writing + nothing into a file as STREAM based implementations will consider this + a EOF (if the file is a pipe). Not done in the generic layer as this + type of writing is actually useful to check the state of a socket. - * doc/open.n: Fixed [Bug 511540], added cross-reference to 'pid' - as the command to use to retrieve the pid of a command pipeline - created via 'open'. + * doc/open.n: Fixed [Bug 511540], added cross-reference to 'pid' as + the command to use to retrieve the pid of a command pipeline created + via 'open'. 2002-02-01 Jeff Hobbs @@ -4061,37 +3975,36 @@ 2002-02-01 Andreas Kupries * tests/io.test: io-39.22 split into two tests, one platform - dependent, the other not. -eofchar is not empty on the windows - platform. + dependent, the other not. -eofchar is not empty on the windows + platform. 2002-02-01 Vince Darley - * generic/tclTest.c: fix to picky windows compiler problem - with the 'MainLoop' function declaration. + * generic/tclTest.c: fix to picky windows compiler problem with the + 'MainLoop' function declaration. 2002-01-31 Andreas Kupries * win/tclWinFCmd.c: TIP 27: Applied patch fixing CONST warnings on - behalf of Don Porter . + behalf of Don Porter . 2002-01-30 Don Porter * generic/tcl.decls: * generic/tcl.h: * generic/tclInt.h: For each interface identified in the TIP 27 - changes below as a POTENTIAL INCOMPATIBILITY, the source of the - incompatibility has been parameterized so that it can be - removed. When compiling extension code against the Tcl header - files, use the compiler flag -DUSE_NON_CONST to remove the - irresolvable source incompatibilities introduced by the TIP 27 - changes. Resolvable changes are left for extension authors to - resolve. + changes below as a POTENTIAL INCOMPATIBILITY, the source of the + incompatibility has been parameterized so that it can be removed. When + compiling extension code against the Tcl header files, use the + compiler flag -DUSE_NON_CONST to remove the irresolvable source + incompatibilities introduced by the TIP 27 changes. Resolvable changes + are left for extension authors to resolve. * generic/tclDecls.h: make genstubs 2002-01-30 Vince Darley - * doc/FileSystem.3: added documentation for 3 public - functions which had been overlooked. Fixes [Bug 507701]. + * doc/FileSystem.3: added documentation for 3 public functions which + had been overlooked. [Bug 507701] * unix/mkLinks: make mklinks 2002-01-29 Jeff Hobbs @@ -4103,14 +4016,12 @@ 2002-01-28 Mo DeJong * unix/tcl.m4 (SC_LOAD_TCLCONFIG): - * win/tcl.m4 (SC_LOAD_TCLCONFIG): Set TCL_LIB_SPEC, - TCL_STUB_LIB_SPEC, and TCL_STUB_LIB_PATH to the - values of TCL_BUILD_LIB_SPEC, TCL_BUILD_STUB_LIB_SPEC, - and TCL_BUILD_STUB_LIB_PATH when tclConfig.sh is loaded - from the build directory. A Tcl extension should - make use of the non-build versions of these variables - since they will work in both cases. This modification - was described in TIP 34. + * win/tcl.m4 (SC_LOAD_TCLCONFIG): Set TCL_LIB_SPEC, TCL_STUB_LIB_SPEC, + and TCL_STUB_LIB_PATH to the values of TCL_BUILD_LIB_SPEC, + TCL_BUILD_STUB_LIB_SPEC, and TCL_BUILD_STUB_LIB_PATH when tclConfig.sh + is loaded from the build directory. A Tcl extension should make use of + the non-build versions of these variables since they will work in both + cases. This modification was described in TIP 34. 2002-01-28 Jeff Hobbs @@ -4125,8 +4036,8 @@ TCL_OUT_LINE_COMPILE instead of TCL_ERROR for parsing errors, so it only throws the error for runtime compile, in case the user modifies 'string'. - (TclCompileRegexpCmd): first try at a byte-compiled regexp - command. It handles static strings and ^$ bounded static strings. + (TclCompileRegexpCmd): first try at a byte-compiled regexp command. It + handles static strings and ^$ bounded static strings. (TclCompileAppendCmd): made TclPushVarName call always use TCL_CREATE_VAR as numWords is always > 2 at that point. @@ -4140,7 +4051,7 @@ * ChangeLog.2000 (new file): * ChangeLog: broke changes from 2000 into ChangeLog.2000 to reduce - size of the main ChangeLog. + size of the main ChangeLog. 2002-01-28 David Gravereaux @@ -4171,19 +4082,18 @@ 2002-01-25 Mo DeJong - Make -eofchar and -translation options read only for - server sockets. [Bug 496733] - + Make -eofchar and -translation options read only for server sockets. + [Bug 496733] + * generic/tclIO.c (Tcl_GetChannelOption, Tcl_SetChannelOption): - Instead of returning nothing for the -translation option - on a server socket, always return "auto". Return the empty - string enclosed in quotes for the -eofchar option on - a server socket. Fixup -eofchar usage message so that - it matches the implementation. - * tests/io.test: Add -eofchar tests and -translation tests - to ensure options are read only on server sockets. - * tests/socket.test: Update tests to account for -eofchar - and -translation option changes. + Instead of returning nothing for the -translation option on a server + socket, always return "auto". Return the empty string enclosed in + quotes for the -eofchar option on a server socket. Fixup -eofchar + usage message so that it matches the implementation. + * tests/io.test: Add -eofchar tests and -translation tests to ensure + options are read only on server sockets. + * tests/socket.test: Update tests to account for -eofchar and + -translation option changes. 2002-01-25 Don Porter @@ -4198,20 +4108,20 @@ * generic/tclUtf.c (Tcl_UtfPrev): * mac/tclMacFCmd.c (TclpObjListVolumes): * mac/tclMacResource.c (TclMacRegisterResourceFork, - BuildResourceForkList): + (BuildResourceForkList): * win/tclWinInit.c (AppendEnvironment): Sought out and eliminated instances of CONST-casting that are no longer needed after the TIP 27 effort. * Following is [Patch 501006] * generic/tclInt.decls (Tcl_AddInterpResolvers, Tcl_Export, - Tcl_FindNamespace, Tcl_GetInterpResolvers, Tcl_ForgetImport, - Tcl_Import, Tcl_RemoveInterpResolvers): + (Tcl_FindNamespace, Tcl_GetInterpResolvers, Tcl_ForgetImport, + (Tcl_Import, Tcl_RemoveInterpResolvers): * generic/tclNamesp.c (Tcl_Export, Tcl_Import, Tcl_ForgetImport, - Tcl_FindNamespace): + (Tcl_FindNamespace): * generic/tclResolve.c (Tcl_AddInterpResolvers,Tcl_GetInterpResolvers, - Tcl_RemoveInterpResolvers): Updated APIs in generic/tclResolve.c - and generic/tclNamesp.c according to the guidelines of TIP 27. + (Tcl_RemoveInterpResolvers): Updated APIs in generic/tclResolve.c and + generic/tclNamesp.c according to the guidelines of TIP 27. * generic/tclIntDecls.h: make genstubs * Following is [Patch 505630] @@ -4245,11 +4155,11 @@ * generic/tclIOUtil.c (TclpNativeToNormalized): * win/tclWinFCmd.c (TclpObjNormalizePath): * win/tclWinFile.c (TclpFindExecutable,TclpMatchInDirectory, - NativeIsExec,NativeStat): + (NativeIsExec,NativeStat): * win/tclWinLoad.c (TclpLoadFile): * win/tclWinPipe.c (TclpOpenFile,ApplicationType): * win/tclWinReg.c (regConnectRegistryProc,RecursiveDeleteKey,DeleteKey, - GetKeyNames,GetType,GetValue,OpenSubKey,SetValue): + (GetKeyNames,GetType,GetValue,OpenSubKey,SetValue): * win/tclWinSerial.c (SerialSetOptionProc): Update callers. * Following is [Patch 505072] @@ -4266,23 +4176,23 @@ * generic/tcl.h (Tcl_FSMatchInDirectoryProc): * generic/tclInt.h (TclpMatchInDirectory): * generic/tcl.decls (Tcl_Concat,Tcl_GetStringResult,Tcl_GetVar, - Tcl_GetVar2,Tcl_JoinPath,Tcl_Merge,Tcl_OpenCommandChannel,Tcl_SetVar, - Tcl_SetVar2,Tcl_SplitList,Tcl_SplitPath,Tcl_TranslateFileName, - Tcl_ExternalToUtfDString,Tcl_GetEncodingName,Tcl_UtfToExternalDString, - Tcl_GetDefaultEncodingDir,Tcl_SetDefaultEncodingDir, - Tcl_FSMatchInDirectory,Tcl_MacEvalResource,Tcl_MacFindResource): + (Tcl_GetVar2,Tcl_JoinPath,Tcl_Merge,Tcl_OpenCommandChannel,Tcl_SetVar, + (Tcl_SetVar2,Tcl_SplitList,Tcl_SplitPath,Tcl_TranslateFileName, + (Tcl_ExternalToUtfDString,Tcl_GetEncodingName,Tcl_UtfToExternalDString, + (Tcl_GetDefaultEncodingDir,Tcl_SetDefaultEncodingDir, + (Tcl_FSMatchInDirectory,Tcl_MacEvalResource,Tcl_MacFindResource): * generic/tclInt.decls (TclCreatePipeline,TclGetEnv,TclpGetCwd, - TclpCreateProcess): + (TclpCreateProcess): * mac/tclMacFile.c (TclpGetCwd): * generic/tclEncoding.c (Tcl_GetDefaultEncodingDir, - Tcl_SetDefaultEncodingDir,Tcl_GetEncodingName, - Tcl_ExternalToUtfDString,Tcl_UtfToExternalDString, OpenEncodingFile, - LoadEscapeEncoding): + (Tcl_SetDefaultEncodingDir,Tcl_GetEncodingName, + (Tcl_ExternalToUtfDString,Tcl_UtfToExternalDString, OpenEncodingFile, + (LoadEscapeEncoding): * generic/tclFileName.c (DoTildeSubst,Tcl_JoinPath,Tcl_SplitPath, - Tcl_TranslateFileName): + (Tcl_TranslateFileName): * generic/tclIOUtil.c (Tcl_FSMatchInDirectory): * generic/tclPipe.c (FileForRedirect,TclCreatePipeline, - Tcl_OpenCommandChannel): + (Tcl_OpenCommandChannel): * generic/tclResult.c (Tcl_GetStringResult): * generic/tclUtil.c (Tcl_Concat,Tcl_SplitList,Tcl_Merge): * generic/tclVar.c (Tcl_GetVar,Tcl_GetVar2,Tcl_SetVar,Tcl_SetVar2): @@ -4290,25 +4200,25 @@ Updated interfaces of generic/tclEncoding, generic/tclFilename.c, generic/tclIOUtil.c, generic/tclPipe.c, generic/tclResult.c, generic/tclUtil.c, generic/tclVar.c and mac/tclMacResource.c according - to TIP 27. Tcl_TranslateFileName rewritten as wrapper around - VFS-aware version. - ***POTENTIAL INCOMPATIBILITY*** + to TIP 27. Tcl_TranslateFileName rewritten as wrapper around VFS-aware + version. + ***POTENTIAL INCOMPATIBILITY*** Includes source incompatibilities: argv arguments of Tcl_Concat, Tcl_JoinPath, Tcl_OpenCommandChannel, Tcl_Merge; argvPtr arguments of Tcl_SplitList and Tcl_SplitPath. - * generic/tclDecls.h: + * generic/tclDecls.h: * generic/tclIntDecls.h: make genstubs * generic/tclCkalloc.c (MemoryCmd): * generic/tclClock.c (FormatClock): * generic/tclCmdAH.c (Tcl_CaseObjCmd,Tcl_EncodingObjCmd,Tcl_FileObjCmd): * generic/tclCmdIL.c (InfoLibraryCmd,InfoPatchLevelCmd, - InfoTclVersionCmd): + (InfoTclVersionCmd): * generic/tclCompCmds.c (TclCompileForeachCmd): * generic/tclCompCmds.h (TclCompileForeachCmd): * generic/tclCompile.c (TclFindCompiledLocal): * generic/tclEnv.c (TclSetupEnv,TclSetEnv,Tcl_PutEnv,TclGetEnv, - EnvTraceProc): + (EnvTraceProc): * generic/tclEvent.c (Tcl_BackgroundError): * generic/tclIO.c (Tcl_BadChannelOption,Tcl_SetChannelOption): * generic/tclIOCmd.c (Tcl_ExecObjCmd,Tcl_OpenObjCmd): @@ -4319,9 +4229,9 @@ * generic/tclNamesp.c (TclTeardownNamespace): * generic/tclProc.c (TclCreateProc): * generic/tclTest.c (TestregexpObjCmd,TesttranslatefilenameCmd, - TestchmodCmd,GetTimesCmd,TestsetCmd,TestOpenFileChannelProc1, - TestOpenFileChannelProc2,TestOpenFileChannelProc3,AsyncHandlerProc, - TestpanicCmd): + (TestchmodCmd,GetTimesCmd,TestsetCmd,TestOpenFileChannelProc1, + (TestOpenFileChannelProc2,TestOpenFileChannelProc3,AsyncHandlerProc, + (TestpanicCmd): * generic/tclThreadTest.c (ThreadErrorProc,ThreadEventProc): * generic/tclUtil.c (TclPrecTraceProc): * mac/tclMacFCmd.c (GetFileSpecs): @@ -4331,93 +4241,91 @@ * mac/tclMacResource.c (Tcl_MacEvalResource): * unix/tclUnixFCmd.c (TclpObjNormalizePath): * unix/tclUnixFile.c (TclpMatchInDirectory,TclpGetUserHome,TclpGetCwd, - TclpReadLink): + (TclpReadLink): * unix/tclUnixInit.c (TclpInitLibraryPath,TclpSetVariables, - Tcl_SourceRCFile): + (Tcl_SourceRCFile): * unix/tclUnixPipe.c (TclpOpenFile,TclpCreateTempFile, - TclpCreateProcess): + (TclpCreateProcess): * win/tclWinFile.c (TclpGetCwd,TclpMatchInDirectory): * win/tclWinInit.c (TclpInitLibraryPath,Tcl_SourceRCFile, - TclpSetVariables): + (TclpSetVariables): * win/tclWinPipe.c (TclpCreateProcess): Updated callers. 2002-01-24 Don Porter * generic/tclIOUtil.c (SetFsPathFromAny): Corrected tilde-substitution - of pathnames where > 1 separator follows the ~. [Bug 504950] + of pathnames where > 1 separator follows the ~. [Bug 504950] 2002-01-24 Jeff Hobbs * library/http/pkgIndex.tcl: * library/http/http.tcl: don't add port in default case to handle - broken servers. http bumped to 2.4.1 [Bug #504508] + broken servers. http bumped to 2.4.1 [Bug 504508] 2002-01-23 Andreas Kupries * unix/mkLinks: Regenerated. * doc/CrtChannel.3: - * doc/ChnlStack.3: Moved documentation for 'Tcl_GetTopChannel' - from 'CrtChannel' to 'ChnlStack'. Added documentation of - 'Tcl_GetStackedChannel'. Bug #506147 reported by Mark Patton - . + * doc/ChnlStack.3: Moved documentation for 'Tcl_GetTopChannel' from + 'CrtChannel' to 'ChnlStack'. Added documentation of + 'Tcl_GetStackedChannel'. [Bug 506147] reported by Mark Patton + . 2002-01-23 Don Porter * win/tclWinFile.c (NativeAccess,NativeStat,NativeIsExec, - TclpGetUserHome): + (TclpGetUserHome): * win/tclWinPort.h (TclWinSerialReopen): * win/tclWinSerial.c (TclWinSerialReopen): - * win/tclWinSock.c (Tcl_OpenTcpServer): Corrections to earlier - TIP 27 changes. Thanks to Andreas Kupries for the feedback. + * win/tclWinSock.c (Tcl_OpenTcpServer): Corrections to earlier TIP 27 + changes. Thanks to Andreas Kupries for the feedback. * generic/tclPlatDecls.h: make genstubs * doc/GetHostName.3: * doc/GetOpnFl.3: * doc/OpenTcp.3: * tcl.decls (Tcl_GetHostName,Tcl_GetOpenFile,Tcl_OpenTcpClient, - Tcl_OpenTclServer): + (Tcl_OpenTclServer): * mac/tclMacSock.c (CreateSocket,Tcl_OpenTcpClient,Tcl_OpenTcpServer, - Tcl_GetHostName,GetHostFromString): + (Tcl_GetHostName,GetHostFromString): * unix/tclUnixChan.c (CreateSocket,CreateSocketAddress, - Tcl_OpenTcpClient,Tcl_OpenTcpServer,Tcl_GetOpenFile): + (Tcl_OpenTcpClient,Tcl_OpenTcpServer,Tcl_GetOpenFile): * unix/tclUnixSock.c (Tcl_GetHostName): * win/tclWinSock.c (CreateSocket,CreateSocketAddress, - Tcl_OpenTcpClient,Tcl_OpenTcpServer,Tcl_GetHostName): + (Tcl_OpenTcpClient,Tcl_OpenTcpServer,Tcl_GetHostName): Updated socket interfaces according to TIP 27. * generic/tclCmdIL.c (InfoHostnameCmd): Updated callers. * generic/tclDecls.h: make genstubs 2002-01-21 David Gravereaux - * generic/tclLoadNone.c: TclpLoadFile() didn't match proto of - typedef Tcl_FSLoadFileProc. OK'd by vincentdarley. - [Patch #502488] + * generic/tclLoadNone.c: TclpLoadFile() didn't match proto of typedef + Tcl_FSLoadFileProc. OK'd by vincentdarley. [Patch 502488] 2002-01-21 Andreas Kupries - * generic/tclIO.c (WriteChars): Fix for SF #506297, reported by - Martin Forssen . The encoding - chosen in the script exposing the bug writes out three intro - characters when TCL_ENCODING_START is set, but does not consume - any input as TCL_ENCODING_END is cleared. As some output was - generated the enclosing loop calls UtfToExternal again, again - with START set. Three more characters in the out and still no - use of input ... To break this infinite loop we remove - TCL_ENCODING_START from the set of flags after the first call - (no condition is required, the later calls remove an unset flag, - which is a no-op). This causes the subsequent calls to - UtfToExternal to consume and convert the actual input. + * generic/tclIO.c (WriteChars): Fix for [Bug 506297], reported by + Martin Forssen . The encoding chosen in + the script exposing the bug writes out three intro characters when + TCL_ENCODING_START is set, but does not consume any input as + TCL_ENCODING_END is cleared. As some output was generated the + enclosing loop calls UtfToExternal again, again with START set. Three + more characters in the out and still no use of input ... To break this + infinite loop we remove TCL_ENCODING_START from the set of flags after + the first call (no condition is required, the later calls remove an + unset flag, which is a no-op). This causes the subsequent calls to + UtfToExternal to consume and convert the actual input. 2002-01-21 Don Porter * generic/tclTest.c: Converted declarations of TestReport file system - to more portable form. [Bug 501417]. + to more portable form. [Bug 501417] * generic/tcl.decls (Tcl_TraceCommand,Tcl_UntraceCommand, - Tcl_CommandTraceInfo): + (Tcl_CommandTraceInfo): * generic/tclCmdMZ.c (Tcl_TraceCommand,Tcl_UntraceCommand, - Tcl_CommandTraceInfo): Updated APIs in generic/tclCmdMZ.c - according to the guidelines of TIP 27. + (Tcl_CommandTraceInfo): Updated APIs in generic/tclCmdMZ.c according + to the guidelines of TIP 27. * generic/tclDecls.h: make genstubs 2002-01-18 Don Porter @@ -4436,32 +4344,30 @@ * mac/tclMacFCmd.c: * mac/tclMacFile.c: * mac/tclMacLoad.c: - * mac/tclMacResource.c: TIP 27 CONSTification broke the mac - build in a number of places. + * mac/tclMacResource.c: TIP 27 CONSTification broke the mac build in a + number of places. 2002-01-17 Andreas Kupries - * generic/tclIOCmd.c (Tcl_GetsObjCmd): Fixed bug #504642 as - reported by Brian Griffin , - using his patch. Before the patch the generic I/O layer held an - unannounced reference to the interp result to store the read - line into. This unfortunately has disastrous results if the - channel driver executes a tcl script to perform its operation, - this freeing the interp result. In that case we are - dereferencing essentially a dangling reference. It is not truly - dangling because the object is in the free list, but this only - causes us to smash the free list and have the error occur later - somewhere else. The patch simply creates a new object for the - line and later sets it into the interp result when we are done - with reading. + * generic/tclIOCmd.c (Tcl_GetsObjCmd): Fixed [Bug 504642] as reported + by Brian Griffin , using his + patch. Before the patch the generic I/O layer held an unannounced + reference to the interp result to store the read line into. This + unfortunately has disastrous results if the channel driver executes a + tcl script to perform its operation, this freeing the interp + result. In that case we are dereferencing essentially a dangling + reference. It is not truly dangling because the object is in the free + list, but this only causes us to smash the free list and have the + error occur later somewhere else. The patch simply creates a new + object for the line and later sets it into the interp result when we + are done with reading. 2002-01-16 Mo DeJong * unix/tcl.m4 (SC_LOAD_TCLCONFIG): - * win/tcl.m4 (SC_LOAD_TCLCONFIG): Subst TCL_DBGX - into TCL_STUB_LIB_FILE and TCL_STUB_LIB_FLAG - variables so that an extension does not need - to subst TCL_DBGX into its makefile. [Tk Bug 504356] + * win/tcl.m4 (SC_LOAD_TCLCONFIG): Subst TCL_DBGX into + TCL_STUB_LIB_FILE and TCL_STUB_LIB_FLAG variables so that an extension + does not need to subst TCL_DBGX into its makefile. [Tk Bug 504356] 2002-01-16 Don Porter @@ -4469,19 +4375,20 @@ * doc/GetCwd.3: * doc/GetIndex.3: * generic/tcl.decls (Tcl_GetIndexFromObj, Tcl_GetIndexFromObjStruct, - Tcl_GetCwd, Tcl_FSFileAttrStrings, Tcl_FSGetNativePath, - Tcl_FSGetTranslatedStringPath): + (Tcl_GetCwd, Tcl_FSFileAttrStrings, Tcl_FSGetNativePath, + (Tcl_FSGetTranslatedStringPath): * generic/tcl.h (Tcl_FSFileAttrStringsProc): * generic/tclFCmd.c (TclFileAttrsCmd): * generic/tclIOUtil.c (Tcl_GetCwd,NativeFileAttrStrings, - Tcl_FSFileAttrStrings,Tcl_FSGetTranslatedStringPath, - Tcl_FSGetNativePath): - * generic/tclIndexObj.c (Tcl_GetIndexFromObj,Tcl_GetIndexFromObjStruct): + (Tcl_FSFileAttrStrings,Tcl_FSGetTranslatedStringPath, + (Tcl_FSGetNativePath): + * generic/tclIndexObj.c (Tcl_GetIndexFromObj, + (Tcl_GetIndexFromObjStruct): More TIP 27 updates in tclIOUtil.c and tclIndexObj.c that were - overlooked before. [Patch 504671] - ***POTENTIAL INCOMPATIBILITY*** - Includes a source incompatibility in the tablePtr arguments of - the Tcl_GetIndexFromObj* routines. + overlooked before. [Patch 504671] + ***POTENTIAL INCOMPATIBILITY*** + Includes a source incompatibility in the tablePtr arguments of the + Tcl_GetIndexFromObj* routines. * generic/tclDecls.h: make genstubs * generic/tclBinary.c (Tcl_BinaryObjCmd): @@ -4489,20 +4396,20 @@ * generic/tclCmdAH.c (Tcl_EncodingObjCmd, Tcl_FileObjCmd): * generic/tclCmdIL.c (Tcl_InfoObjCmd,Tcl_LsearchObjCmd,Tcl_LsortObjCmd): * generic/tclCmdMZ.c (Tcl_TraceObjCmd,Tcl_RegexpObjCmd,Tcl_RegsubObjCmd, - Tcl_StringObjCmd,Tcl_SubstObjCmd,Tcl_SwitchObjCmd, - TclTraceCommandObjCmd,TclTraceVariableObjCmd): + (Tcl_StringObjCmd,Tcl_SubstObjCmd,Tcl_SwitchObjCmd, + (TclTraceCommandObjCmd,TclTraceVariableObjCmd): * generic/tclCompCmds.c (TclCompileStringCmd): * generic/tclEvent.c (Tcl_UpdateObjCmd): * generic/tclFileName.c (Tcl_GlobObjCmd): * generic/tclIO.c (Tcl_FileEventObjCmd): * generic/tclIOCmd.c (Tcl_SeekObjCmd,Tcl_ExecObjCmd,Tcl_SocketObjCmd, - Tcl_FcopyObjCmd): + (Tcl_FcopyObjCmd): * generic/tclInterp.c (Tcl_InterpObjCmd,SlaveObjCmd): * generic/tclNamesp.c (Tcl_NamespaceObjCmd): * generic/tclPkg.c (Tcl_PackageObjCmd): * generic/tclTest.c (Tcltest_Init,TestencodingObjCmd,TestgetplatformCmd, - TestlocaleCmd,TestregexpObjCmd,TestsaveresultCmd, - TestGetIndexFromObjStructObjCmd,TestReportFileAttrStrings): + (TestlocaleCmd,TestregexpObjCmd,TestsaveresultCmd, + (TestGetIndexFromObjStructObjCmd,TestReportFileAttrStrings): * generic/tclTestObj.c (TestindexObjCmd,TeststringObjCmd): * generic/tclTimer.c (Tcl_AfterObjCmd): * generic/tclVar.c (Tcl_ArrayObjCmd): @@ -4510,7 +4417,7 @@ * unix/tclUnixChan.c (TclpOpenFileChannel): * unix/tclUnixFCmd.c (tclpFileAttrStrings): * unix/tclUnixFile.c (TclpObjAccess,TclpObjChdir,TclpObjStat, - TclpObjLstat): + (TclpObjLstat): * win/tclWinFCmd.c (tclpFileAttrStrings): Updated callers. * doc/RegExp.3: @@ -4529,15 +4436,15 @@ * mac/tclMacLoad.c (TclpLoadFile): * win/tclWinFile.c (TclpGetUserHome): Updated callers. - * generic/tclDecls.h: + * generic/tclDecls.h: * generic/tclIntDecls.h: make genstubs * doc/ParseCmd.3 (Tcl_ParseVar): * generic/tcl.decls (Tcl_ParseVar): * generic/tclParse.c (Tcl_ParseVar): * generic/tclTest.c (TestparsevarObjCmd): Updated APIs in - generic/tclParse.c according to the guidelines of TIP 27. Updated - callers. [Patch 501046] + generic/tclParse.c according to the guidelines of TIP 27. Updated + callers. [Patch 501046] * generic/tclDecls.h: make genstubs * generic/tcl.decls (Tcl_RecordAndEval): @@ -4548,22 +4455,22 @@ * doc/CrtSlave.3: * generic/tcl.decls (Tcl_CreateAlias, Tcl_CreateAliasObj, - Tcl_CreateSlave, Tcl_GetAlias, Tcl_GetAliasObj, Tcl_GetSlave): + (Tcl_CreateSlave, Tcl_GetAlias, Tcl_GetAliasObj, Tcl_GetSlave): * generic/tclInterp.c (Tcl_CreateAlias, Tcl_CreateAliasObj, - Tcl_CreateSlave, Tcl_GetAlias, Tcl_GetAliasObj, Tcl_GetSlave): + (Tcl_CreateSlave, Tcl_GetAlias, Tcl_GetAliasObj, Tcl_GetSlave): Updated APIs in the file generic/tclInterp.c according to the - guidelines of TIP 27. [Patch 501371] - ***POTENTIAL INCOMPATIBILITY*** - Includes a source incompatibility in the targetCmdPtr arguments of - the Tcl_GetAlias* routines. + guidelines of TIP 27. [Patch 501371] + ***POTENTIAL INCOMPATIBILITY*** + Includes a source incompatibility in the targetCmdPtr arguments of the + Tcl_GetAlias* routines. * generic/tclDecls.h: make genstubs 2002-01-15 Don Porter * doc/SetErrno.3 (Tcl_ErrnoMsg): Corrected documentation for - Tcl_ErrnoMsg; it takes an integer argument. Thanks to Georgios - Petasis. [Bug 468183] + Tcl_ErrnoMsg; it takes an integer argument. Thanks to Georgios + Petasis. [Bug 468183] * doc/AddErrInfo.3 (Tcl_PosixError): * doc/Eval.3 (Tcl_EvalFile): @@ -4572,26 +4479,26 @@ * doc/SetErrno.3 (Tcl_ErrnoId,Tcl_ErrnoMsg): * doc/Signal.3 (Tcl_SignalId,Tcl_SignalMsg): * generic/tcl.decls (Tcl_ErrnoId,TclErrnoMsg,Tcl_EvalFile, - Tcl_OpenFileChannel,Tcl_PosixError,Tcl_SignalId,Tcl_SignalMsg, - Tcl_FSOpenFileChannel): + (Tcl_OpenFileChannel,Tcl_PosixError,Tcl_SignalId,Tcl_SignalMsg, + (Tcl_FSOpenFileChannel): * generic/tcl.h (Tcl_FSOpenFileChannelProc): * generic/tclIO.c (FlushChannel): * generic/tclIOUtil.c (Tcl_OpenFileChannel,Tcl_EvalFile,TclGetOpenMode, - Tcl_PosixError,Tcl_FSOpenFileChannel): + (Tcl_PosixError,Tcl_FSOpenFileChannel): * generic/tclInt.decls (TclGetOpenMode): * generic/tclInt.h (TclOpenFileChannelProc_,TclGetOpenMode, - TclpOpenFileChannel): + (TclpOpenFileChannel): * generic/tclPipe.c (TclCleanupChildren): * generic/tclPosixStr.c (Tcl_ErrnoId,Tcl_ErrnoMsg,Tcl_SignalId, - Tcl_SignalMsg): + (Tcl_SignalMsg): * generic.tclTest.c (PretendTclpOpenFileChannel, - TestOpenFileChannelProc1,TestOpenFileChannelProc2, - TestOpenFileChannelProc3,TestReportOpenFileChannel): + (TestOpenFileChannelProc1,TestOpenFileChannelProc2, + (TestOpenFileChannelProc3,TestReportOpenFileChannel): * mac/tclMacChan.c (TclpOpenFileChannel): * unix/tclUnixChan.c (TclpOpenFileChannel): * win/tclWinChan.c (TclpOpenFileChannel): Updated APIs in - generic/tclIOUtil.c and generic/tclPosixStr.c according to the - guidelines of TIP 27. Updated callers. [Patch 499196] + generic/tclIOUtil.c and generic/tclPosixStr.c according to the + guidelines of TIP 27. Updated callers. [Patch 499196] * generic/tclDecls.h: * generic/tclIntDecls.h: make genstubs @@ -4601,30 +4508,30 @@ * generic/tcl.decls: * generic/tclIO.h: * generic/tclIO.c (DoWrite, Tcl_RegisterChannel, Tcl_GetChannel, - Tcl_CreateChannel, Tcl_GetChannelName, CloseChannel, Tcl_Write, - Tcl_WriteRaw, Tcl_Ungets, Tcl_BadChannelOption, Tcl_GetChannelOption, - Tcl_SetChannelOption, Tcl_GetChannelNamesEx, Tcl_ChannelName): + (Tcl_CreateChannel, Tcl_GetChannelName, CloseChannel, Tcl_Write, + (Tcl_WriteRaw, Tcl_Ungets, Tcl_BadChannelOption, Tcl_GetChannelOption, + (Tcl_SetChannelOption, Tcl_GetChannelNamesEx, Tcl_ChannelName): Updated APIs in the file generic/tclIO.c according to the guidelines - of TIP 27. Several minor documentation corrections as well. + of TIP 27. Several minor documentation corrections as well. [Patch 503565] * generic/tclDecls.h: make genstubs * generic/tcl.h (Tcl_DriverOutputProc, Tcl_DriverGetOptionProc, - Tcl_DriverSetOptionProc): + (Tcl_DriverSetOptionProc): * generic/tclIOGT.c (TransformOutputProc, TransformGetOptionProc, - TransformSetOptionProc): + (TransformSetOptionProc): * mac/tclMacChan.c (FileOutput, StdIOOutput): * man/tclMacSock.c (TcpGetOptionProc, TcpOutput): * unix/tclUnixChan.c (FileOutputProc, TcpGetOptionProc, TcpOutputProc, - TtyGetOptionProc, TtySetOptionProc): + (TtyGetOptionProc, TtySetOptionProc): * unix/tclUnixPipe.c (PipeOuputProc): * win/tclWinChan.c (FileOutputProc): * win/tclWinConsole.c (ConsleOutputProc): * win/tclWinPipe.c (PipeOuputProc): * win/tclWinSerial.c (SerialOutputProc, SerialGetOptionProc, - SerialSetOptionProc): + (SerialSetOptionProc): * win/tclWinSock.c (TcpGetOptionProc, TcpOutput): Updated channel - driver interface according to the guidelines of TIP 27. See also + driver interface according to the guidelines of TIP 27. See also [Bug 500348]. * doc/CrtChannel.3: @@ -4634,7 +4541,7 @@ * generic/tclInt.h: * tools/checkLibraryDoc.tcl: Moved Tcl_EolTranslation enum declaration from generic/tcl.h to - generic/tclInt.h (renamed to TclEolTranslation). It is not used + generic/tclInt.h (renamed to TclEolTranslation). It is not used anywhere in Tcl's public interface. 2002-01-14 Don Porter @@ -4642,10 +4549,10 @@ * doc/GetIndex.3: * doc/WrongNumArgs.3: * generic/tcl.decls (Tcl_GetIndexFromObj, Tcl_GetIndexFromObjStruct, - Tcl_WrongNumArgs): - * generic/tclIndexObj.c (Tcl_GetIndexFromObj, Tcl_GetIndexFromObjStruct, - Tcl_WrongNumArgs): Updated APIs in the file generic/tclIndexObj.c - according to the guidelines of TIP 27. [Patch 501491] + (Tcl_WrongNumArgs): + * generic/tclIndexObj.c (Tcl_GetIndexFromObj,Tcl_GetIndexFromObjStruct, + (Tcl_WrongNumArgs): Updated APIs in the file generic/tclIndexObj.c + according to the guidelines of TIP 27. [Patch 501491] * generic/tclDecls.h: make genstubs 2002-01-11 Mo DeJong @@ -4656,36 +4563,35 @@ * win/configure.in: Use ${libdir} instead of ${exec_prefix}/lib to properly support the --libdir option to configure. [Bug 489370] -2002-01-11 Andreas Kupries +2002-01-11 Andreas Kupries - * win/tclWinSerial.c (SerialSetOptionProc): Applied patch for SF - bug #500348 supplied by Rolf Schroedter - . The function modified the - contents of the the 'value' string and now does not do this - anymore. This is a followup to the change made on 2001-12-17. + * win/tclWinSerial.c (SerialSetOptionProc): Applied patch for [Bug + 500348] supplied by Rolf Schroedter . The + function modified the contents of the the 'value' string and now does + not do this anymore. This is a followup to the change made on + 2001-12-17. 2002-01-11 David Gravereaux - * win/makefile.vc: Removed -GD compiler option. It was intended - for future use, but MS is again changing the future at their whim. - The D4002 warning was harmless though, but someone using VC .NET - logged it as a concern. [Bug #501565] + * win/makefile.vc: Removed -GD compiler option. It was intended for + future use, but MS is again changing the future at their whim. The + D4002 warning was harmless though, but someone using VC .NET logged it + as a concern. [Bug 501565] 2002-01-11 Mo DeJong - * unix/Makefile.in: Burn Tcl build directory - into tcltest executable to avoid crashes caused - by ld loading a previously installed version + * unix/Makefile.in: Burn Tcl build directory into tcltest executable + to avoid crashes caused by ld loading a previously installed version of the tcl shared library. [Bug 218110] 2002-01-10 Don Porter , Kevin Kenny - - * unix/tclLoadDld.c (TclpLoadFile): syntax error: unbalanced - parens. Kevin notes that it's far from clear that this file is - ever included in an actual build; Linux without dlopen appears to - be a nonexistent configuration. - + + * unix/tclLoadDld.c (TclpLoadFile): syntax error: unbalanced parens. + Kevin notes that it's far from clear that this file is ever included + in an actual build; Linux without dlopen appears to be a nonexistent + configuration. + 2002-01-08 Don Porter , Kevin Kenny @@ -4704,26 +4610,25 @@ * unix/tclLoadNext.c (TclGuessPackageName): * unix/tclLoadOSF.c (TclGuessPackageName): * unix/tclLoadShl.c (TclGuessPackageName): - * win/tclWinLoad.c (TclGuessPackageName): Updated APIs in - the files */tcl*Load*.c according to the guidelines of TIP 27. - [Patch 501096] + * win/tclWinLoad.c (TclGuessPackageName): Updated APIs in the files + */tcl*Load*.c according to the guidelines of TIP 27. [Patch 501096] 2002-01-09 Don Porter * generic/tclTest.c (MainLoop): * tests/main.test (Tcl_Main-1.{3,4,5,6}): Corrected some non-portable - tests from the new Tcl_Main changes. Thanks to Kevin Kenny. + tests from the new Tcl_Main changes. Thanks to Kevin Kenny. 2002-01-07 Don Porter * generic/tclEvent.c (TclInExit): * generic/tclIOUtil.c (SetFsPathFromAbsoluteNormalized, - SetFsPathFromAny,Tcl_FSNewNativePath,DupFsPathInternalRep): + (SetFsPathFromAny,Tcl_FSNewNativePath,DupFsPathInternalRep): * generic/tclListObj.c (TclLsetList,TclLsetFlat): Added some type casts to satisfy picky compilers. * generic/tclMain.c: Bug fix: neglected the NULL case in - TclGetStartupScriptFileName(). Broke Tk/wish. + TclGetStartupScriptFileName(). Broke Tk/wish. 2002-01-05 Don Porter @@ -4731,44 +4636,44 @@ * generic/tclMain.c: Substantial rewrite and expanded documentation of Tcl_Main to correct a number of bugs and flaws: - * Interactive Tcl_Main can now enter a main loop, exit - that loop and continue interactive operations. The loop - may even exit in the midst of interactive command typing - without loss of the partial command. [Bugs 486453, 474131] - * Tcl_Main now gracefully handles deletion of its master - interpreter. - * Interactive Tcl_Main can now operate with non-blocking stdin - * Interactive Tcl_Main can now detect EOF on stdin even in - mid-command. [Bug 491341] - * Added VFS-aware internal routines for managing the - startup script selection. - * Tcl variable 'tcl_interactive' is now linked to C variable - 'tty' so that one can disable/enable interactive prompts - at the script level when there is no startup script. This - is meant for use by the test suite. - * Consistent use of the Tcl libraries standard channels as - returned by Tcl_GetStdChannel(); as opposed to the channels - named 'stdin', 'stdout', and 'stderr' in the master interp, - which can be different or unavailable. - * Tcl_Main now calls Tcl_Exit() if evaluation of [exit] in the - master interpreter returns, assuring Tcl_Main does not return. - * Documented Tcl_Main's absence from public stub table - * Documented that Tcl_Main does not return. - * Documented Tcl variables set by Tcl_Main. - * All prompts are done from a single procedure, Prompt. - * Use of Tcl_Obj-enabled interfaces everywhere. + - Interactive Tcl_Main can now enter a main loop, exit that loop and + continue interactive operations. The loop may even exit in the + midst of interactive command typing without loss of the partial + command. [Bugs 486453, 474131] + - Tcl_Main now gracefully handles deletion of its master + interpreter. + - Interactive Tcl_Main can now operate with non-blocking stdin + - Interactive Tcl_Main can now detect EOF on stdin even in + mid-command. [Bug 491341] + - Added VFS-aware internal routines for managing the startup script + selection. + - Tcl variable 'tcl_interactive' is now linked to C variable 'tty' + so that one can disable/enable interactive prompts at the script + level when there is no startup script. This is meant for use by + the test suite. + - Consistent use of the Tcl libraries standard channels as returned + by Tcl_GetStdChannel(); as opposed to the channels named 'stdin', + 'stdout', and 'stderr' in the master interp, which can be + different or unavailable. + - Tcl_Main now calls Tcl_Exit() if evaluation of [exit] in the + master interpreter returns, assuring Tcl_Main does not return. + - Documented Tcl_Main's absence from public stub table + - Documented that Tcl_Main does not return. + - Documented Tcl variables set by Tcl_Main. + - All prompts are done from a single procedure, Prompt. + - Use of Tcl_Obj-enabled interfaces everywhere. * generic/tclInt.decls (TclGetStartupScriptPath, - TclSetStartupScriptPath): New internal VFS-aware routines for + (TclSetStartupScriptPath): New internal VFS-aware routines for managing the startup script of Tcl_Main. * generic/tclIntDecls.h: * generic/tclStubInit.c: make genstubs * generic/tclTest.c (TestsetmainloopCmd,TestexitmainloopCmd, - Tcltest_Init,TestinterpdeleteCmd): - * tests/main.test (new): Added new file to test suite that - thoroughly tests generic/tclMain.c; added some new test commands - for testing Tcl_SetMainLoop(). + (Tcltest_Init,TestinterpdeleteCmd): + * tests/main.test (new): Added new file to test suite that thoroughly + tests generic/tclMain.c; added some new test commands for testing + Tcl_SetMainLoop(). 2002-01-04 Don Porter @@ -4786,7 +4691,7 @@ * doc/SplitPath.3: * doc/TCL_MEM_DEBUG.3: Updated documentation to describe the ckalloc, ckfree, ckrealloc, attemptckalloc, and attemptckrealloc macros, and - to accurately describe when and how they are used. [Bug 497459] + to accurately describe when and how they are used. [Bug 497459] * generic/tclThreadJoin.c (TclRememberJoinableThread,TclJoinThread): Replaced Tcl_Alloc and Tcl_Free calls with ckalloc and ckfree so that @@ -4807,7 +4712,7 @@ * tests/basic.test (basic-39.4): Greatly simplified test while still leaving it so that it crashes when run without the fix to the [foreach] implementation. - * generic/tclCmdAH.c (Tcl_ForeachObjCmd): Stopped Bug #494348 from + * generic/tclCmdAH.c (Tcl_ForeachObjCmd): Stopped [Bug 494348] from happening by not trying to be so clever with cacheing; if nothing untoward is happening anyway, the less efficient technique will only add a few instruction cycles (one function call and a few @@ -4815,19 +4720,19 @@ number of tests) and if something odd *is* going on, the code is now far more robust. - * tests/basic.test (basic-39.4): Reproducable script from Bug #494348 + * tests/basic.test (basic-39.4): Reproducable script from [Bug 494348] 2002-01-02 Donal K. Fellows - * tests/util.test (Wrapper_Tcl_StringMatch,util-5.*): Rewrote so - the test is performed with the right internal function since - [string match] no longer uses Tcl_StringCaseMatch internally. + * tests/util.test (Wrapper_Tcl_StringMatch,util-5.*): Rewrote so the + test is performed with the right internal function since [string + match] no longer uses Tcl_StringCaseMatch internally. * tests/string.test (string-11.51): * generic/tclUtf.c (Tcl_UniCharCaseMatch): * generic/tclUtil.c (Tcl_StringCaseMatch): Fault with matching - case-insensitive non-ASCII patterns containing upper case - characters. [Bug #233257] + case-insensitive non-ASCII patterns containing upper case characters. + [Bug 233257] ****************************************************************** *** CHANGELOG ENTRIES FOR 2001 IN "ChangeLog.2001" *** diff --git a/ChangeLog.2003 b/ChangeLog.2003 index 5c32878..b12cd2c 100644 --- a/ChangeLog.2003 +++ b/ChangeLog.2003 @@ -1,17 +1,16 @@ 2003-12-25 Mo DeJong - * win/tclWin32Dll.c (DllMain): Add HAVE_NO_SEH - blocks in place of __try and __except statements - to support gcc builds. This is needed after - David's changes on 2003-12-21. [Tcl patch 858493] + * win/tclWin32Dll.c (DllMain): Add HAVE_NO_SEH blocks in place of + __try and __except statements to support gcc builds. This is needed + after David's changes on 2003-12-21. [Patch 858493] 2003-12-23 David Gravereaux - * generic/tclAlloc.c: All uses of 'panic' (the macro) changed - * generic/tclBasic.c: to 'Tcl_Panic' (the function). The - * generic/tclBinary.c: #define of panic in tcl.h clearly states - * generic/tclCkalloc.c: it is deprecated in the comments. - * generic/tclCmdAH.c: [Patch 865264] + * generic/tclAlloc.c: All uses of 'panic' (the macro) changed to + * generic/tclBasic.c: 'Tcl_Panic' (the function). The #define of + * generic/tclBinary.c: panic in tcl.h clearly states it is deprecated + * generic/tclCkalloc.c: in the comments. [Patch 865264] + * generic/tclCmdAH.c: * generic/tclCmdIL.c: * generic/tclCmdMZ.c: * generic/tclCompCmds.c: @@ -65,64 +64,61 @@ 2003-12-22 David Gravereaux * win/nmakehlp.c: - * win/rules.vc: New feature for extensions that use rules.vc. - Now reads header files for version strings. No more hard coding + * win/rules.vc: New feature for extensions that use rules.vc. Now + reads header files for version strings. No more hard coding TCL_VERSION = 8.5 and having to edit it when you swap cores. * win/makefile.vc: VERSION macro now set by reading tcl.h for it. - * generic/tcl.h: Removed note that makefile.vc needs to have a - version number changed. + * generic/tcl.h: Removed note that makefile.vc needs to have a version + number changed. 2003-12-21 David Gravereaux * win/tclWin32Dll.c: Structured Exception Handling added around - Tcl_Finalize called from DllMain's DLL_PROCESS_DETACH. We can't - be 100% assured that Tcl is being unloaded by the OS in a stable - condition and we need to protect the exit handlers should the - stack be in a hosed state. AT&T style assembly for SEH under - MinGW has not been added yet. This is a first part change for - [Patch 858493] + Tcl_Finalize called from DllMain's DLL_PROCESS_DETACH. We can't be + 100% assured that Tcl is being unloaded by the OS in a stable + condition and we need to protect the exit handlers should the stack be + in a hosed state. AT&T style assembly for SEH under MinGW has not been + added yet. This is a first part change for [Patch 858493] 2003-12-17 Daniel Steffen - * generic/tclBinary.c (DeleteScanNumberCache): fixed crashing bug - when numeric scan-value cache contains NULL value. + * generic/tclBinary.c (DeleteScanNumberCache): fixed crashing bug when + numeric scan-value cache contains NULL value. 2003-12-17 Vince Darley - * generic/tclCmdAH.c: - * unix/tclUnixFile.c: - * win/tclWinFCmd.c: - * tests/fCmd.test: - * tests/fileSystem.test: - * doc/file.n: final fix to support for relative links and - its implications on normalization and other parts of the - filesystem code. Fixes [Bug 859251] and some Windows - problems with recursive file delete/copy and symbolic links. + * generic/tclCmdAH.c: + * unix/tclUnixFile.c: + * win/tclWinFCmd.c: + * tests/fCmd.test: + * tests/fileSystem.test: + * doc/file.n: final fix to support for relative links and its + implications on normalization and other parts of the filesystem code. + Fixes [Bug 859251] and some Windows problems with recursive file + delete/copy and symbolic links. 2003-12-17 Vince Darley - * generic/tclPathObj.c: - * tests/fileSystem.test: fix and tests for [Bug 860402] in new - file normalization code. + * generic/tclPathObj.c: + * tests/fileSystem.test: fix and tests for [Bug 860402] in new file + normalization code. 2003-12-17 Zoran Vasiljevic - * generic/tclIOUtil.c: fixed 2 memory (object) leaks. - This fixes Tcl Bug #839519. + * generic/tclIOUtil.c: fixed 2 memory (object) leaks. [Bug 839519] - * generic/tclPathObj.c: fixed Tcl_FSGetTranslatedPath - to always return properly refcounted path object. - This fixes Tcl Bug #861515. + * generic/tclPathObj.c: fixed Tcl_FSGetTranslatedPath to always return + properly refcounted path object. [Bug 861515] 2003-12-16 Vince Darley - * tests/fCmd.test: marking fCmd-9.14.2, as nonPortable, since - on Solaris one can change the name of the current directory - with 'file rename'. - * doc/FileSystem.3: clarified documentation on ownership - of return objects/strings of some Tcl_FS* calls. + * tests/fCmd.test: marking fCmd-9.14.2, as nonPortable, since on + Solaris one can change the name of the current directory with 'file + rename'. + * doc/FileSystem.3: clarified documentation on ownership of return + objects/strings of some Tcl_FS* calls. 2003-12-16 Donal K. Fellows @@ -131,70 +127,67 @@ 2003-12-15 David Gravereaux * win/tcl.rc: - * win/tclsh.rc: Slight modification to the STRINGIFY macro to - support Borland's rc tool. + * win/tclsh.rc: Slight modification to the STRINGIFY macro to support + Borland's rc tool. - * win/tclWinFile.c (TclpUtime) : utimbuf struct not a problem - with Borland. + * win/tclWinFile.c (TclpUtime) : utimbuf struct not a problem with + Borland. - * win/tclWinTime.c (TclpGetDate) : Borland's localtime() has - a slight behavioral difference. + * win/tclWinTime.c (TclpGetDate) : Borland's localtime() has a slight + behavioral difference. From Helmut Giese [Patch 758097]. 2003-12-14 David Gravereaux - * generic/tclInt.decls: commented-out entry for - TclpCheckStackSpace, removing it from the Stubs table. It's - already declared in tclInt.h and labeled as a function that is - not to be exported. Regened tables. + * generic/tclInt.decls: commented-out entry for TclpCheckStackSpace, + removing it from the Stubs table. It's already declared in tclInt.h + and labeled as a function that is not to be exported. Regened tables. 2003-12-14 Donal K. Fellows * generic/tclCmdMZ.c (Tcl_SwitchObjCmd): TIP#75 Implementation - * tests/switch.test: Can now get submatch information when - * doc/switch.n: using -regexp matching in [switch]. + * tests/switch.test: Can now get submatch information when using + * doc/switch.n: -regexp matching in [switch]. 2003-12-14 Vince Darley - * generic/tclPathObj.c: complete rewrite of generic file - normalization code to cope with links followed by '..'. - [Bug 849514], and parts of [859251] + * generic/tclPathObj.c: complete rewrite of generic file normalization + code to cope with links followed by '..'. [Bug 849514], and parts of + [Bug 859251] 2003-12-12 David Gravereaux - * win/tclWinChan.c: Win32's SetFilePointer() takes LONGs not - DWORDs (a signed/unsigned mismatch). Redid local vars to - avoid all casting except where truly required. + * win/tclWinChan.c: Win32's SetFilePointer() takes LONGs not DWORDs (a + signed/unsigned mismatch). Redid local vars to avoid all casting + except where truly required. 2003-12-12 Vince Darley - * generic/tclCmdAH.c: fix to normalization of non-existent user - name ('file normalize ~nobody') [Bug 858937] - * doc/file.n: clarify behaviour of 'file link' when the target - is not an absolute path. - * doc/filename.n: correct documentation to say that Windows Tcl - does handle '~user', for recent Windows releases, and clarified - distinction between MacOS 'classic' and MacOS X. + * generic/tclCmdAH.c: fix to normalization of non-existent user name + ('file normalize ~nobody') [Bug 858937] + * doc/file.n: clarify behaviour of 'file link' when the target is not + an absolute path. + * doc/filename.n: correct documentation to say that Windows Tcl does + handle '~user', for recent Windows releases, and clarified distinction + between MacOS 'classic' and MacOS X. * doc/glob.n: clarification of glob's behaviour when returning filenames starting with a '~'. * tests/fileSystem.test: - * tests/fileName.test: new tests added for the normalization - problem above and other recentlt reported issues. + * tests/fileName.test: new tests added for the normalization problem + above and other recentlt reported issues. * win/tclWinFile.c: corrected unclear comments - * unix/tclUnixFile.c: allow creation of relative links - [Bug 833713] + * unix/tclUnixFile.c: allow creation of relative links. [Bug 833713] 2003-12-11 David Gravereaux - * win/tclWinSock.c (SocketThreadExitHandler) : added a - TerminateThread fallback just in case the socket handler thread - is really in a paused state. This can happen when Tcl is being - unloaded by the OS from an exception handler. See MSDN docs on - DllMain, it states this behavior. + * win/tclWinSock.c (SocketThreadExitHandler) : added a TerminateThread + fallback just in case the socket handler thread is really in a paused + state. This can happen when Tcl is being unloaded by the OS from an + exception handler. See MSDN docs on DllMain, it states this behavior. 2003-12-09 Jeff Hobbs @@ -204,24 +197,24 @@ 2003-12-09 Donal K. Fellows - * unix/tclUnixPort.h: #ifdef'd out declarations of errno which - * tools/man2tcl.c: are known to cause problems with recent - glibc. [Bug 852369] + * unix/tclUnixPort.h: #ifdef'd out declarations of errno which are + * tools/man2tcl.c: known to cause problems with recent glibc. + [Bug 852369] 2003-12-09 Vince Darley * win/tclWinFile.c: fix to NT file permissions code [Bug 855923] - * tests/winFile.test: added tests for NT file permissions - patch - and test scripts supplied by Benny. + * tests/winFile.test: added tests for NT file permissions - patch and + test scripts supplied by Benny. * tests/winFCmd.test: fixed one test for when not running in C:/ 2003-12-02 Donal K. Fellows - * generic/tclBinary.c (DeleteScanNumberCache, ScanNumber): Made - the numeric scan-value cache have proper references to the objects - within it so strange patterns of writes won't cause references to - freed objects. Thanks to Paul Obermeir for the report. [Bug 851747] + * generic/tclBinary.c (DeleteScanNumberCache, ScanNumber): Made the + numeric scan-value cache have proper references to the objects within + it so strange patterns of writes won't cause references to freed + objects. Thanks to Paul Obermeir for the report. [Bug 851747] 2003-12-01 Miguel Sofer @@ -230,14 +223,13 @@ 2003-11-24 Don Porter * generic/tclParse.c: Corrected faulty check for trailing white - space in {expand} parsing. Thanks Andreas Leitgeb. [Bug 848262]. + space in {expand} parsing. Thanks Andreas Leitgeb. [Bug 848262] * tests/parse.test: New tests for the bug. 2003-11-24 Vince Darley - * generic/tclPathObj.c: fix to [Bug 845778] - Infinite recursion - on [cd] (Windows only bug), for which new tests have just been - added. + * generic/tclPathObj.c: fix to [Bug 845778] - Infinite recursion on + [cd] (Windows only bug), for which new tests have just been added. 2003-11-21 Don Porter @@ -246,20 +238,20 @@ 2003-11-20 Miguel Sofer - * generic/tclVar.c: fix flag bit collision between - LOOKUP_FOR_UPVAR and TCL_PARSE_PART1 (deprecated) [Bug 835020] + * generic/tclVar.c: fix flag bit collision between LOOKUP_FOR_UPVAR + and TCL_PARSE_PART1 (deprecated) [Bug 835020] 2003-11-19 Don Porter - * tests/compile.test (compile-16.22.0): Improved test for the - recent fix for Bug 845412. + * tests/compile.test (compile-16.22.0): Improved test for the recent + fix for Bug 845412. 2003-11-19 Donal K. Fellows * generic/tclCompile.c (TclCompileScript): Added a guard for the - expansion code so that long non-expanding commands don't get - expansion infrastructure inserted in them, especially when that - infrastructure isn't initialised. [Bug 845412] + expansion code so that long non-expanding commands don't get expansion + infrastructure inserted in them, especially when that infrastructure + isn't initialised. [Bug 845412] 2003-11-18 David Gravereaux @@ -273,44 +265,43 @@ 2003-11-17 Don Porter * tests/reg.test: Added tests for [Bugs 230589, 504785, 505048, 840258] - recently fixed by 2003-11-15 commit to regcomp.c by Pavel Goran. - His notes on the fix: This bug results from an error in code that - splits states into "progress" and "no-progress" ones. This error - causes an interesting situation with the pre-collected single-linked - list of states to be splitted: many items were added to the list, but - only several of them are accessible from the list beginning, - since the "tmp" member of struct state (which is used here to - hold a pointer to the next list item) gets overwritten, which - results in a "looped" chain. As a result, not all of states are - splitted, and one state is splitted two times, causing incorrect - "no-progress" flag values. + recently fixed by 2003-11-15 commit to regcomp.c by Pavel Goran. His + notes on the fix: This bug results from an error in code that splits + states into "progress" and "no-progress" ones. This error causes an + interesting situation with the pre-collected single-linked list of + states to be splitted: many items were added to the list, but only + several of them are accessible from the list beginning, since the + "tmp" member of struct state (which is used here to hold a pointer to + the next list item) gets overwritten, which results in a "looped" + chain. As a result, not all of states are splitted, and one state is + splitted two times, causing incorrect "no-progress" flag values. 2003-11-16 Donal K. Fellows * generic/tclExecute.c (TclExecuteByteCode): Make sure that Tcl_AsyncInvoke is called regularly when processing bytecodes. - * generic/tclTest.c (AsyncThreadProc, TestasyncCmd): Extended - testing harness to send an asynchronous marking without relying on - UNIX signals. - * tests/async.test (async-4.*): Tests to check that async events - are handled by the bytecode core. [Bug 746722] + * generic/tclTest.c (AsyncThreadProc, TestasyncCmd): Extended testing + harness to send an asynchronous marking without relying on UNIX + signals. + * tests/async.test (async-4.*): Tests to check that async events are + handled by the bytecode core. [Bug 746722] 2003-11-15 Donal K. Fellows - * generic/tclTest.c (TestHashSystemHashCmd): Removed 'const' - modifier from hash type structure; it should be const and the hash - code assumes it behaves like const, but that's not how the API is - defined. Like this, we are following in the same footsteps as - Tcl_RegisterObjType() which has the same conditions on its - argument. Stops VC++5.2 warning. [Bug 842511] + * generic/tclTest.c (TestHashSystemHashCmd): Removed 'const' modifier + from hash type structure; it should be const and the hash code assumes + it behaves like const, but that's not how the API is defined. Like + this, we are following in the same footsteps as Tcl_RegisterObjType() + which has the same conditions on its argument. Stops VC++5.2 warning. + [Bug 842511] 2003-11-14 Donal K. Fellows - * generic/tclHash.c (Tcl_DeleteHashTable,Tcl_HashStats,RebuildTable): - * generic/tclTest.c (TestHashSystemHashCmd): TIP#138 implementation, + * generic/tclHash.c (Tcl_DeleteHashTable,Tcl_HashStats,RebuildTable): + * generic/tclTest.c (TestHashSystemHashCmd): TIP#138 implementation, * tests/misc.test: plus a new chunk of stuff to test the hash - functions more thoroughly in the test - suite. [Patch 731356, modified] + functions more thoroughly in the test suite. + [Patch 731356, modified] * doc/Tcl.n: Updated Tcl version number and changebars. @@ -319,23 +310,23 @@ * doc/ParseCmd.3: Implementation of TIP 157. Adds recognition * doc/Tcl.n: of the new leading {expand} syntax on words. * generic/tcl.h: Parses such words as the new Tcl_Token type - * generic/tclBasic.c: TCL_TOKEN_EXPAND_WORD. Updated Tcl_EvalEx - * generic/tclCompile.c: and the bytecode compiler/execution engine - * generic/tclCompile.h: to recognize the new token type. New opcodes + * generic/tclBasic.c: TCL_TOKEN_EXPAND_WORD. Updated Tcl_EvalEx and + * generic/tclCompile.c: the bytecode compiler/execution engine to + * generic/tclCompile.h: recognize the new token type. New opcodes * generic/tclExecute.c: INST_LIST_VERIFY and INST_INVOKE_EXP and a new - * generic/tclParse.c: operand type OPERAND_ULIST1 are defined. Docs + * generic/tclParse.c: operand type OPERAND_ULIST1 are defined. Docs * generic/tclTest.c: and tests are included. * tests/basic.test: * tests/compile.test: * tests/parse.test: * library/auto.tcl: Replaced several [eval]s used to perform - * library/package.tcl: argument expansion with the new syntax. - * library/safe.tcl: In the test files lindex.test and lset.test, - * tests/cmdInfo.test: replaced use of [eval] to force direct - * tests/encoding.test: string evaluation with use of [testevalex] - * tests/execute.test: which more directly and robustly serves the - * tests/fCmd.test: same purpose. + * library/package.tcl: argument expansion with the new syntax. In the + * library/safe.tcl: test files lindex.test and lset.test, replaced + * tests/cmdInfo.test: use of [eval] to force direct string + * tests/encoding.test: evaluation with use of [testevalex] which more + * tests/execute.test: directly and robustly serves the same purpose. + * tests/fCmd.test: * tests/http.test: * tests/init.test: * tests/interp.test: @@ -357,16 +348,16 @@ 2003-11-12 Jeff Hobbs - * tests/cmdMZ.test (cmdMZ-1.4): change to nonPortable as more - systems are using permissions caching, and this isn't really a Tcl - controlled issue. + * tests/cmdMZ.test (cmdMZ-1.4): change to nonPortable as more systems + are using permissions caching, and this isn't really a Tcl controlled + issue. 2003-11-11 Jeff Hobbs * unix/configure: * unix/tcl.m4: improve AIX --enable-64bit handling - remove -D__NO_STRING_INLINES -D__NO_MATH_INLINES from - CFLAGS_OPTIMIZE on Linux. Make default opt -O2 (was -O). + remove -D__NO_STRING_INLINES -D__NO_MATH_INLINES from CFLAGS_OPTIMIZE + on Linux. Make default opt -O2 (was -O). 2003-11-11 David Gravereaux @@ -381,10 +372,10 @@ * win/tclWinInit.c (TclpInitLibraryPath): Fix for [Bug 832657] that should not run afoul of startup constraints. - * library/dde/pkgIndex.tcl: Added safeguards so that registry - * library/reg/pkgIndex.tcl: and dde packages are not offered - * win/tclWinDde.c: on non-Windows platforms. Bumped to - * win/tclWinReg.c: registry 1.1.3 and dde 1.3. + * library/dde/pkgIndex.tcl: Added safeguards so that registry and + * library/reg/pkgIndex.tcl: dde packages are not offered on + * win/tclWinDde.c: non-Windows platforms. Bumped to + * win/tclWinReg.c: registry 1.1.3 and dde 1.3. * win/Makefile.in: * win/configure.in: * win/makefile.bc: @@ -401,13 +392,13 @@ 2003-11-10 Vince Darley * generic/tclCmdAH.c: - * tests/fCmd.test: fix to misleading error message in 'file link' + * tests/fCmd.test: fix to misleading error message in 'file link'. [Bug 836208] 2003-11-07 Vince Darley - * generic/tclIOUtil.c: fix to compiler warning/error with - some compilers [Bug 835918] + * generic/tclIOUtil.c: fix to compiler warning/error with some + compilers. [Bug 835918] 2003-11-07 Daniel Steffen @@ -427,10 +418,9 @@ 2003-11-03 Vince Darley * generic/tclIOUtil.c - * generic/tclInt.h: added comments and re-arranged code to - clarify distinction between Tcl_LoadHandle, ClientData for - 'load'ed code, and point out limitations of the design - introduced with Tcl 8.4. + * generic/tclInt.h: added comments and re-arranged code to clarify + distinction between Tcl_LoadHandle, ClientData for 'load'ed code, and + point out limitations of the design introduced with Tcl 8.4. * unix/tclUnixFile.c: fix to memory leak @@ -440,14 +430,13 @@ * generic/tclCmdIL.c (Tcl_LrepeatObjCmd): Check for sensible list lengths and allow for soft failure of the memory subsystem in the - [lconcat] command [Bug 829027]. Uses direct list creation to - avoid extra copies when working near the limit of available - memory. Also reorganized to encourage optimizing compilers to - optimize heavily. + [lconcat] command [Bug 829027]. Uses direct list creation to avoid + extra copies when working near the limit of available memory. Also + reorganized to encourage optimizing compilers to optimize heavily. * generic/tclListObj.c (TclNewListObjDirect): New list constructor that does not copy the array of objects. Useful for creating - potentially very large lists or where you are about to throw away - the array argument which is being used in its entirety. + potentially very large lists or where you are about to throw away the + array argument which is being used in its entirety. 2003-10-28 Miguel Sofer @@ -457,14 +446,14 @@ 2003-10-23 Andreas Kupries * unix/tclUnixChan.c (Tcl_MakeFileChannel): Applied [Patch 813606] - fixing [Bug 813087]. Detection of sockets was off for Mac OS X - which implements pipes as local sockets. The new code ensures - that only IP sockets are detected as such. + fixing [Bug 813087]. Detection of sockets was off for Mac OS X which + implements pipes as local sockets. The new code ensures that only IP + sockets are detected as such. - * win/tclWinSock.c (TcpWatchProc): Watch for FD_CLOSE too when - asked for writable events by the generic layer. - (SocketEventProc): Generate a writable event too when a close is - detected. + * win/tclWinSock.c (TcpWatchProc): Watch for FD_CLOSE too when asked + for writable events by the generic layer. + (SocketEventProc): Generate a writable event too when a close is + detected. Together the changes fix [Bug 599468]. @@ -487,42 +476,42 @@ * tools/tcltk-man2html.tcl: fixed incorrect html generated for .IP/.TP lists, now use
...
...

...
...
instead of illegal

...
...

...
...
. - Added skipping of directives directly after .TP to avoid them - being used as item descriptions, e.g. .TP\n.VS in clock.n. + Added skipping of directives directly after .TP to avoid them being + used as item descriptions, e.g. .TP\n.VS in clock.n. 2003-10-21 Andreas Kupries - * win/tclWinPipe.c (BuildCommandLine): Applied the patch coming - with [Bug 805605] to the code, fixing the incorrect use of - ispace noted by Ronald Dauster . + * win/tclWinPipe.c (BuildCommandLine): Applied the patch coming with + [Bug 805605] to the code, fixing the incorrect use of ispace noted by + Ronald Dauster . 2003-10-20 Kevin B. Kenny * doc/msgcat.n: * library/msgcat/msgcat.tcl (mclocale,mcload): * tools/tcl.wse.in: - * unix/Makefile.in: Implementation of TIP#156 - * win/makefile.bc: adding a "root locale" to - * win/Makefile.in: the 'msgcat' package. Advanced - * win/Makefile.vc: msgcat version number to 1.4. + * unix/Makefile.in: Implementation of TIP#156, add a "root locale" + * win/makefile.bc: to the 'msgcat' package. Advanced msgcat + * win/Makefile.in: version number to 1.4 + * win/Makefile.vc: 2003-10-15 Donal K. Fellows * generic/tclCmdIL.c (SortInfo,etc): Reorganized so that SortInfo - carries an array of integer indices instead of a Tcl list. This - nips shimmering problems in the bud and simplifies SelectObjFromSublist - at the cost of making setup slightly more complex. [Bug 823768] + carries an array of integer indices instead of a Tcl list. This nips + shimmering problems in the bud and simplifies SelectObjFromSublist at + the cost of making setup slightly more complex. [Bug 823768] 2003-10-14 David Gravereaux - * win/tclAppInit.c (sigHandler): Punt gracefully if exitToken - has already been destroyed. + * win/tclAppInit.c (sigHandler): Punt gracefully if exitToken has + already been destroyed. 2003-10-14 Vince Darley * generic/tclCmdMZ.c: - * tests/regexp.test: fix to [Bug 823524] in regsub; added three - new tests. + * tests/regexp.test: fix to [Bug 823524] in regsub; added three new + tests. 2003-10-14 Don Porter @@ -534,7 +523,7 @@ routine that supports truncated appends with optional ellipsis marking. This single routine supports UTF-8-safe truncated appends needed in several places throughout the Tcl source code, mostly for error and - stack messages. Clean fix for [Bug 760872]. + stack messages. Clean fix for [Bug 760872]. * generic/tclInt.h: Declarations for new internal routines. @@ -551,23 +540,23 @@ * mac/tclMacResource.c: * library/init.tcl: Updated ::errorInfo cleanup in [unknown] to - reflect slight modifications to Tcl_LogCommandInfo(). Corrects - failing init-4.* tests. + reflect slight modifications to Tcl_LogCommandInfo(). Corrects failing + init-4.* tests. 2003-10-14 Donal K. Fellows TIP#127 IMPLEMENTATION FROM JOE MICHAEL SCHLENKER * generic/tclCmdIL.c (SelectObjFromSublist): Element selection engine. - * generic/tclCmdIL.c (Tcl_LsearchObjCmd, Tcl_LsortObjCmd): + * generic/tclCmdIL.c (Tcl_LsearchObjCmd, Tcl_LsortObjCmd): * tests/lsearch.test: Set up and use of element selection engine, * tests/cmdIL.test: plus tests and documentation. * doc/lsearch.n: Based on [Patch 693836] - * doc/lsort.n: + * doc/lsort.n: 2003-10-13 Vince Darley - * generic/tcl.h: + * generic/tcl.h: * generic/tclFileName.c: * generic/tclIOUtil.c: * generic/tclPathObj.c: @@ -579,28 +568,27 @@ * win/tclWin32Dll.c: * win/tclWinFCmd.c: * win/tclWinFile.c: - * win/tclFileInt.h: + * win/tclFileInt.h: Fixed [Bug 800106] in which 'glob' was incapable of merging the results of a directory listing (real or virtual) and any virtual - filesystem mountpoints in that directory (the latter were - ignored). This meant boundaries between different filesystems - were not seamless (e.g. 'glob */*' across a filesystem boundary - was wrong). Added new entry to Tcl_GlobTypeData in a totally - backwards compatible way. To allow listing of mounts, registered - filesystems must support the 'TCL_GLOB_TYPE_MOUNT' flag. If this - is not supported (e.g. in tclvfs 1.2) then mounts will simply not - be listed for that filesystem. - - Fixed [Bug 749876] 'file writable/readable/etc' (NativeAccess) - using correct permission checking code for Windows NT/2000/XP - where more complex user-based security/access priveleges are - available, particularly on shared volumes. The performance - impact of this extra checking will need further investigation. - Note: Win 95,98,ME have no support for this. - - Also made better use of normalized rather than translated paths - in the platform specific code. + filesystem mountpoints in that directory (the latter were ignored). + This meant boundaries between different filesystems were not seamless + (e.g. 'glob */*' across a filesystem boundary was wrong). Added new + entry to Tcl_GlobTypeData in a totally backwards compatible way. To + allow listing of mounts, registered filesystems must support the + 'TCL_GLOB_TYPE_MOUNT' flag. If this is not supported (e.g. in tclvfs + 1.2) then mounts will simply not be listed for that filesystem. + + Fixed [Bug 749876] 'file writable/readable/etc' (NativeAccess) using + correct permission checking code for Windows NT/2000/XP where more + complex user-based security/access priveleges are available, + particularly on shared volumes. The performance impact of this extra + checking will need further investigation. Note: Win 95,98,ME have no + support for this. + + Also made better use of normalized rather than translated paths in the + platform specific code. 2003-10-12 Jeff Hobbs @@ -618,7 +606,7 @@ * generic/tclBasic.c: Save and restore the iPtr->flag bits that control the state of errorCode and errorInfo management when calling "leave" execution traces, so that all error information of the traced - command is still available whether traced or not. [Bug 760947] + command is still available whether traced or not. [Bug 760947] Thanks to Yahalom Emet. 2003-10-08 Donal K. Fellows @@ -626,27 +614,27 @@ * generic/tclTest.c (TestNumUtfCharsCmd): Command to allow finer access to Tcl_NumUtfChars for testing. * generic/tclUtf.c (Tcl_NumUtfChars): Corrected string length - determining when the length parameter is negative; the terminator - is a zero byte, not (necessarily) a \u0000 character. [Bug 769812] + determining when the length parameter is negative; the terminator is a + zero byte, not (necessarily) a \u0000 character. [Bug 769812] 2003-10-07 Don Porter * tests/cmdAH.test: * tests/exec.test: Corrected temporary file management * tests/fileSystem.test: issues uncovered by -debug 1 test - * tests/io.test: operations. Also backported some + * tests/io.test: operations. Also backported some * tests/ioCmd.test: other fixes from the HEAD. * tests/main.test: * tests/pid.test: [Bugs 675605, 675655, 675659] * tests/socket.test: * tests/source.test: - * tests/fCmd.test: Run tests with the [temporaryDirectory] as - the current directory, so that tests can depend on ability to write - files. [Bug 575837] + * tests/fCmd.test: Run tests with the [temporaryDirectory] as the + current directory, so that tests can depend on ability to write files. + [Bug 575837] - * doc/OpenFileChnl.3: Updated Tcl_Tell and Tcl_Seek documentation - to reflect that they now return Tcl_WideInt (TIP 72) [Bug 787537] + * doc/OpenFileChnl.3: Updated Tcl_Tell and Tcl_Seek documentation to + reflect that they now return Tcl_WideInt (TIP 72). [Bug 787537] * tests/io.test: Corrected several tests that failed when paths * tests/ioCmd.test: included regexp-special chars. [Bug 775394] @@ -654,9 +642,9 @@ 2003-10-06 Jeff Hobbs * win/configure: - * win/tcl.m4: removed incorrect checks for existence of - optimization. TCL_CFG_OPTIMIZED is now defined whenever the user - does not build with --enable-symbols. + * win/tcl.m4: removed incorrect checks for existence of optimization. + TCL_CFG_OPTIMIZED is now defined whenever the user does not build with + --enable-symbols. 2003-10-06 Don Porter @@ -666,8 +654,8 @@ * tests/fCmd.test (fCmd-8.2): Test only that tilde-substitution happens, not for any particular result. [Bug 685991] - * unix/tcl.m4 (SC_PATH_TCLCONFIG): Corrected search path so - that alpha and beta releases of Tcl are not favored. [Bug 608698] + * unix/tcl.m4 (SC_PATH_TCLCONFIG): Corrected search path so that + alpha and beta releases of Tcl are not favored. [Bug 608698] * tests/reg.test: Corrected duplicate test names. * tests/resource.test: [Bugs 710370, 710358] @@ -691,12 +679,12 @@ * generic/tclBasic.c: Fixed error in ref count management of command * generic/tclCmdMZ.c: and execution traces that caused access to - freed memory in trace-32.1. [Bug 811483]. + freed memory in trace-32.1. [Bug 811483] 2003-10-02 Don Porter * generic/tclTrace.c: Corrected comingling of introspection results of - [trace info command] and [trace info execution]. [Bug 807243] + [trace info command] and [trace info execution]. [Bug 807243] Thanks to Mark Saye. 2003-10-01 Daniel Steffen @@ -712,10 +700,10 @@ 2003-09-29 Donal K. Fellows - * generic/tclPathObj.c (TclNativePathInFilesystem,TclFSGetPathType): + * generic/tclPathObj.c (TclNativePathInFilesystem,TclFSGetPathType): * generic/tclIOUtil.c (TclNativeDupInternalRep,TclGetPathType): Rename - to make sure function names won't interfere with other non-Tcl - code (reported by George Staplin) + to make sure function names won't interfere with other non-Tcl code + (reported by George Staplin) TIP#121 IMPLEMENTATION FROM JOE MISTACHKIN @@ -727,14 +715,13 @@ TIP#112 IMPLEMENTATION * generic/tclNamesp.c: Core of implementation. - * generic/tclInt.h (Namespace,TclInvalidateNsCmdLookup): Add - command list epoch counter and list of ensembles to namespace - structure, and define a macro to ease update of the epoch - counter. - * generic/tclBasic.c (Tcl_CreateObjCommand,etc.): Update epoch - counter when list of commands in a namespace changes. - * generic/tclObj.c (TclInitObjSubsystem): Register ensemble - subcommand type. + * generic/tclInt.h (Namespace,TclInvalidateNsCmdLookup): Add command + list epoch counter and list of ensembles to namespace structure, and + define a macro to ease update of the epoch counter. + * generic/tclBasic.c (Tcl_CreateObjCommand,etc.): Update epoch counter + when list of commands in a namespace changes. + * generic/tclObj.c (TclInitObjSubsystem): Register ensemble subcommand + type. * tests/namespace.test (42.1-47.6): Tests. * doc/namespace.n: Documentation. @@ -747,38 +734,37 @@ 2003-09-28 David Gravereaux * win/tclWinPipe.c: The windows port of expect can call - TclWinAddProcess before any of the other pipe functions. - Added a missing PipeInit() call to make sure the - initialization happens. + TclWinAddProcess before any of the other pipe functions. Added a + missing PipeInit() call to make sure the initialization happens. 2003-09-25 Daniel Steffen - * macosx/Makefile: ensure SYMROOT exists if OBJROOT is overridden - on command line. Replaced explict use of /usr/bin by ${BINDIR}. + * macosx/Makefile: ensure SYMROOT exists if OBJROOT is overridden on + command line. Replaced explict use of /usr/bin by ${BINDIR}. 2003-09-24 Vince Darley - * library/package.tcl (tcl::MacPkgUnknown, tcl::MacOSXPkgUnknown): - Minor performance tweaks to reduce the number of [file] invocations. - Meant to improve startup times, at least a little bit. - (The generic equivalent patch was applied on 2003-02-21). + * library/package.tcl (tcl::MacPkgUnknown, tcl::MacOSXPkgUnknown): + Minor performance tweaks to reduce the number of [file] invocations. + Meant to improve startup times, at least a little bit. (The generic + equivalent patch was applied on 2003-02-21). 2003-09-24 Vince Darley - * trace.test: removed 'knownBug' from a test which doesn't - illustrate a bug, just a bad test. + * trace.test: removed 'knownBug' from a test which doesn't illustrate + a bug, just a bad test. 2003-09-23 Miguel Sofer * generic/tclExecute.c: - * generic/tclInt.h: changed the evaluation-stack addressing mode, - from array-style to pointer-style; the catch stack and evaluation - stack are now contiguous in memory. [Patch 457449] + * generic/tclInt.h: changed the evaluation-stack addressing mode, from + array-style to pointer-style; the catch stack and evaluation stack are + now contiguous in memory. [Patch 457449] 2003-09-23 Don Porter - * tests/trace.test (trace-31,32-*): Added tests for [Bug 807243] - and [Bug 811483]. + * tests/trace.test (trace-31,32-*): Added tests for [Bug 807243] and + [Bug 811483]. * library/init.tcl (auto_load, auto_import): Expanded Eric Melski's 2000-01-28 fix for [Bug 218871] to all potentially troubled uses of @@ -787,29 +773,29 @@ 2003-09-20 Donal K. Fellows - * tests/expr.test (expr-23.4): Prevented accidental wrapping round - of exponential operation; it isn't portable, and not what I - intended to test either. [Bug 808244] + * tests/expr.test (expr-23.4): Prevented accidental wrapping round of + exponential operation; it isn't portable, and not what I intended to + test either. [Bug 808244] 2003-09-19 Miguel Sofer - * generic/tclExecute.c: adding (DE)CACHE_STACK_INFO() pairs to - protect all calls that may cause traces on ::errorInfo or - ::errorCode to corrupt the stack [Bug 804681] + * generic/tclExecute.c: adding (DE)CACHE_STACK_INFO() pairs to protect + all calls that may cause traces on ::errorInfo or ::errorCode to + corrupt the stack. [Bug 804681] 2003-09-17 Vince Darley - * tclPathObj.c: fix to test-suite problem introduced by the bug - fix below. No problem in ordinary code, just test suite code - which manually adjusts tclPlatform. [Bug 808247] + * tclPathObj.c: fix to test-suite problem introduced by the bug fix + below. No problem in ordinary code, just test suite code which + manually adjusts tclPlatform. [Bug 808247] 2003-09-16 Vince Darley * doc/filename.n: documentation of Windows-specific feature as discussed in [Bug 541989] - * generic/tclPathObj.c: fix for normalization of volume-relative - paths [Bug 767834] - * tests/winFCmd.test: new tests for both of the above. + * generic/tclPathObj.c: fix for normalization of volume-relative paths + [Bug 767834] + * tests/winFCmd.test: new tests for both of the above. * tests/cmdAH.test: fix for AFS problem in test suite [Bug 748960] 2003-09-13 Donal K. Fellows @@ -818,35 +804,35 @@ * generic/tclCompile.h (INST_EXPON): Implementation of * generic/tclCompile.c (tclInstructionTable): exponential operator. - * generic/tclCompExpr.c (operatorTable): - * generic/tclParseExpr.c (ParseExponentialExpr, GetLexeme): - * generic/tclExecute.c (TclExecuteByteCode, ExponWide, ExponLong): - (IllegalExprOperandType): - * tests/expr.test: - * tests/compExpr-old.test: - * doc/expr.n: + * generic/tclCompExpr.c (operatorTable): + * generic/tclParseExpr.c (ParseExponentialExpr, GetLexeme): + * generic/tclExecute.c (TclExecuteByteCode, ExponWide, ExponLong): + (IllegalExprOperandType): + * tests/expr.test: + * tests/compExpr-old.test: + * doc/expr.n: 2003-09-10 Don Porter * library/opt/optparse.tcl: Latest revisions caused [OptGuessType] - to guess "int" instead of "string" for empty strings. Missed the - required "-strict" option to [string is]. Thanks to Revar Desmera. + to guess "int" instead of "string" for empty strings. Missed the + required "-strict" option to [string is]. Thanks to Revar Desmera. [Bug 803968] 2003-09-08 David Gravereaux * win/tclWinLoad.c (TclpDlopen): Changed the error message for ERROR_PROC_NOT_FOUND to be a bit more helpful in giving us clues. - "can't find specified procedure" means a function in the import - table, for implicit loading, couldn't be resolved and that's why - the load failed. + "can't find specified procedure" means a function in the import table, + for implicit loading, couldn't be resolved and that's why the load + failed. 2003-09-04 Don Porter * doc/Tcl_Main.3: * doc/FileSystem.3: Implementation of - * doc/source.n: TIPs 137/151. Adds - * doc/tclsh.1: a -encoding option to + * doc/source.n: TIPs 137/151. Adds a + * doc/tclsh.1: -encoding option to * generic/tcl.decls: the [source] command * generic/tclCmdMZ.c (Tcl_SourceObjCmd): and a new C routine, * generic/tclIOUtil.c (Tcl_FSEvalFileEx): Tcl_FSEvalFileEx(), @@ -854,20 +840,20 @@ * mac/tclMacResource.c (Tcl_MacSourceObjCmd): to the same function. * tests/cmdMZ.test: Also adds command line * tests/main.test: option handling in Tcl_Main() so that tclsh - * tests/source.test: and other apps built on Tcl_Main() respect - a -encoding command line option before a script filename. Docs and - tests updated as well. [Patch 742683] + * tests/source.test: and other apps built on Tcl_Main() respect a + -encoding command line option before a script filename. Docs and tests + updated as well. [Patch 742683] This is a ***POTENTIAL INCOMPATIBILITY*** only for those C programs that embed Tcl, build on Tcl_Main(), and make use of Tcl_Main's former ability to pass a leading "-encoding" option to interactive shell operations. * generic/tclInt.decls: Added internal stub - * generic/tclMain.c (Tcl*StartupScript*): table entries for - two new functions Tcl_SetStartupScript() and Tcl_GetStartupScript() - that set/get the path and encoding for the startup script to be - evaluated by either Tcl_Main() or Tk_Main(). Given public names in - anticipation of their exposure by a followup TIP. + * generic/tclMain.c (Tcl*StartupScript*): table entries for two + new functions Tcl_SetStartupScript() and Tcl_GetStartupScript() that + set/get the path and encoding for the startup script to be evaluated + by either Tcl_Main() or Tk_Main(). Given public names in anticipation + of their exposure by a followup TIP. * generic/tclDecls.h: make genstubs * generic/tclIntDecls.h: @@ -893,8 +879,8 @@ 2003-09-01 Donal K. Fellows - * doc/Namespace.3: Basic documentation for the TIP#139 functions. - This will need improving, but the basic bits are there at least. + * doc/Namespace.3: Basic documentation for the TIP#139 functions. This + will need improving, but the basic bits are there at least. 2003-08-31 Don Porter @@ -902,102 +888,100 @@ 2003-08-29 Don Porter - * generic/tclCmdAH.c: Corrected bug in TIP 90 implementation - * tests/cmdMZ.test: where the default -errorcode NONE value - was not copied into the return options dictionary. This correction - modified one test result. + * generic/tclCmdAH.c: Corrected bug in TIP 90 implementation where + * tests/cmdMZ.test: the default -errorcode NONE value was not + copied into the return options dictionary. This correction modified + one test result. 2003-08-27 David Gravereaux * compat/strftime.c (_fmt): Removed syst array intializer that couldn't take variables within it under the watcom compiler: - 'Initializers must be constant'. I believe Borland has this - strictness as well. VC++ must be non-standard about this. + 'Initializers must be constant'. I believe Borland has this strictness + as well. VC++ must be non-standard about this. - Changed Win32 platform #ifdef from 'WIN32' to '__WIN32__' as - this is the correct one to use across the Tcl sources. Even - though we do force it in tcl.h, the true parent one is __WIN32__. + Changed Win32 platform #ifdef from 'WIN32' to '__WIN32__' as this is + the correct one to use across the Tcl sources. Even though we do force + it in tcl.h, the true parent one is __WIN32__. - Added missing CONST'ification usage to match prototype listed - in tclInt.decls. + Added missing CONST'ification usage to match prototype listed in + tclInt.decls. - * win/tclWinPort.h: Added a block for OpenWatcom adjustments - that fixes 1) the same issue Mo did for MinGW lack of missing LPFN_* + * win/tclWinPort.h: Added a block for OpenWatcom adjustments that + fixes 1) the same issue Mo did for MinGW lack of missing LPFN_* typedefs in their WINE derived and 2) The need to be strict about how the char type needs to be signed by default. * win/tclWinSock.c: Added OpenWatcom to the commentary about the #ifdef HAVE_NO_LPFN_DECLS block. - * win/tclWinTime.c: Changed use of '_timezone' to 'timezone' as - this difference is already adjusted for in tclWinPort.h. Removed + * win/tclWinTime.c: Changed use of '_timezone' to 'timezone' as this + difference is already adjusted for in tclWinPort.h. Removed unreferenced posixEpoch file-scope global. - * win/tclWinFile.c (WinReadLinkDirectory): Fix for 'Initializers - must be constant' with the driveSpec array using OpenWatcom. + * win/tclWinFile.c (WinReadLinkDirectory): Fix for 'Initializers must + be constant' with the driveSpec array using OpenWatcom. 2003-08-27 Don Porter * generic/tclUtil.c: Corrected [Bug 411825] and other bugs in TclNeedSpace() where non-breaking space (\u00A0) and backslash-escaped - spaces were handled incorrectly. + spaces were handled incorrectly. * tests/util.test: Added new tests util-8.[2-6]. 2003-08-26 David Gravereaux * generic/tcl.h: Added some support for the LCC-Win32 compiler. - Unfortunetly, this compiler has a bug in its preprocessor and - can't build Tcl even with this minor patch. Also added some - support for the OpenWatcom compiler. A new win/makefile.wc to - follow soon. + Unfortunetly, this compiler has a bug in its preprocessor and can't + build Tcl even with this minor patch. Also added some support for the + OpenWatcom compiler. A new win/makefile.wc to follow soon. 2003-08-25 Donal K. Fellows * tools/genStubs.tcl (genStubs::makeDecl): A more subtle way of - generating stubbed declarations allows us to have declarations of - a function in multiple interfaces simultaneously. + generating stubbed declarations allows us to have declarations of a + function in multiple interfaces simultaneously. * generic/tcl.decls: Duplicated some namespace declarations from - tclInt.decls here, as mandated by TIP #139. This is OK since the + tclInt.decls here, as mandated by TIP #139. This is OK since the declarations match and will end up using the declarations in the - public code from now on because of #include ordering. Keeping the - old declarations in tclInt.decls; there's no need to gratuitously - break compatability for those extensions which are already clients - of the namespace code. + public code from now on because of #include ordering. Keeping the old + declarations in tclInt.decls; there's no need to gratuitously break + compatability for those extensions which are already clients of the + namespace code. 2003-08-23 Zoran Vasiljevic - * generic/tclIOUtil.c: merged fixes for thread-unsafe - handling of filesystem records [Bug #753315]. - This also fixed the Bug #788780 - * generic/tclPathObj.c: merged fixes for thread-unsafe - handling of filesystem records [Bug #753315]. + * generic/tclIOUtil.c: merged fixes for thread-unsafe handling of + filesystem records [Bug 753315]. This also fixed the [Bug 788780] + * generic/tclPathObj.c: merged fixes for thread-unsafe handling of + filesystem records. [Bug 753315] - * generic/tclFileSystem.h: merged fixes for thread-unsafe - handling of filesystem records [Bug #753315]. + * generic/tclFileSystem.h: merged fixes for thread-unsafe handling of + filesystem records. [Bug 753315] 2003-08-19 Pat Thoyts - * win/tclWinSerial.c (SerialErrorStr): Fixed a syntax error - created in the previous code cleanup. + * win/tclWinSerial.c (SerialErrorStr): Fixed a syntax error created in + the previous code cleanup. 2003-08-19 Donal K. Fellows - * win/tclWinSerial.c: Adjusted commenting and spacing usage to - follow the principles of the Style Guide better. + * win/tclWinSerial.c: Adjusted commenting and spacing usage to follow + the principles of the Style Guide better. 2003-08-18 Mo DeJong * win/configure: Regen. - * win/tcl.m4 (SC_ENABLE_SYMBOLS): Use test instead - of -eq, which does not work. [Bug 781109] + * win/tcl.m4 (SC_ENABLE_SYMBOLS): Use test instead of -eq, which does + not work. [Bug 781109] 2003-08-13 Chengye Mao - * win/tclWinPipe.c: fixed a bug in BuildCommandLine. - This bug built a command line with a missing space between - tclpipe.dll and the following arguments. It caused error - in Windows 98 when exec command.com (e.g. dir) [Bug 789040] + * win/tclWinPipe.c: fixed a bug in BuildCommandLine. This bug built a + command line with a missing space between tclpipe.dll and the + following arguments. It caused error in Windows 98 when exec + command.com (e.g. dir). [Bug 789040] 2003-08-11 Donal K. Fellows @@ -1006,7 +990,7 @@ * doc/lrepeat.n: patch, updated to the HEAD * tests/lrepeat.test: and matching the core style. * generic/tclBasic.c (buildIntCmds): Splice into core. - * generic/tclInt.h: + * generic/tclInt.h: * doc/list.n: Cross-reference. 2003-08-06 Jeff Hobbs @@ -1017,50 +1001,45 @@ * library/msgcat/msgcat.tcl: Added escape so that non-Windows * library/msgcat/pkgIndex.tcl: platforms do not try to use the - registry package. This can save a costly and pointless package - search. Bumped to 1.3.1. Thanks to Dave Bodenstab. [Bug 781609]. + registry package. This can save a costly and pointless package search. + Bumped to 1.3.1. Thanks to Dave Bodenstab. [Bug 781609] 2003-08-05 Miguel Sofer * generic/tclExecute.c (INST_INVOKE, INST_EVAL, INST_PUSH_RESULT): added a Tcl_ResetResult(interp) at each point where the interp's - result is pushed onto the stack, to avoid keeping an extra - reference that may cause costly Tcl_Obj duplication [Bug 781585] - Detected by Franco Violi, analyzed by Peter Spjuth and Donal - Fellows. + result is pushed onto the stack, to avoid keeping an extra reference + that may cause costly Tcl_Obj duplication. Detected by Franco Violi, + analyzed by Peter Spjuth and Donal Fellows. [Bug 781585] 2003-07-28 Vince Darley * doc/FileSystem.3: - * doc/Translate.3: better documentation of Tcl_TranslateFileName - and related functions [Bug 775220] + * doc/Translate.3: better documentation of Tcl_TranslateFileName and + related functions. [Bug 775220] 2003-07-24 Mo DeJong - * generic/tcl.h: Revert change made on 2003-07-21 - since it made the sizeof(Tcl_Obj) different for - regular vs mem debug builds. - * generic/tclInt.h: Define TclDecrRefCount in terms - of Tcl_DbDecrRefCount which removes one layer of - inderection. + * generic/tcl.h: Revert change made on 2003-07-21 since it made the + sizeof(Tcl_Obj) different for regular vs mem debug builds. + * generic/tclInt.h: Define TclDecrRefCount in terms of + Tcl_DbDecrRefCount which removes one layer of inderection. * generic/tclObj.c (TclDbInitNewObj, Tcl_DbIncrRefCount, - Tcl_DbDecrRefCount, Tcl_DbIsShared): - Define ThreadSpecificData that contains a hashtable. - The table is used to ensure that a Tcl_Obj is only - acted upon in the thread that allocated it. This - checking code is enabled only when mem debug and - threads are enabled. + (Tcl_DbDecrRefCount, Tcl_DbIsShared): Define ThreadSpecificData that + contains a hashtable. The table is used to ensure that a Tcl_Obj is + only acted upon in the thread that allocated it. This checking code is + enabled only when mem debug and threads are enabled. 2003-07-24 Don Porter - * tests/async.test: Added several tests that demonstrate Tcl - * tests/basic.test: Bug 489537, Tcl's longstanding failure to - * tests/dict.test: properly quote any leading '#' character - * tests/dstring.test: when generating the string rep of a list - * tests/list.test: so that the comment-power of that character - * tests/parse.test: is hidden from any [eval], in order to - * tests/util.test: satisfy the documentation that [list] does - [eval]-safe quoting. + * tests/async.test: Added several tests that demonstrate [Bug + * tests/basic.test: 489537], Tcl's longstanding failure to + * tests/dict.test: properly quote any leading '#' character when + * tests/dstring.test: generating the string rep of a list so that + * tests/list.test: the comment-power of that character is hidden + * tests/parse.test: from any [eval], in order to satisfy the + * tests/util.test: documentation that [list] does [eval]-safe + quoting. 2003-07-24 Reinhard Max @@ -1069,12 +1048,12 @@ * ChangeLog.2002 (new file): * ChangeLog: broke changes from 2002 into ChangeLog.2002 to reduce - size of the main ChangeLog. + size of the main ChangeLog. 2003-07-23 Daniel Steffen - * unix/Makefile.in: changes to html-tcl & html-tk - targets for compatibility with non-gnu makes. + * unix/Makefile.in: changes to html-tcl & html-tk targets for + compatibility with non-gnu makes. * unix/Makefile.in: added macosx/README to dist target. @@ -1086,48 +1065,41 @@ 2003-07-21 Mo DeJong - Check that the thread incrementing or decrementing - the ref count of a Tcl_Obj is the thread that - originally allocated the thread. This fail fast - behavior will catch programming errors that - allow a single Tcl_Obj to be accessed from multiple - threads. - - * generic/tcl.h (Tcl_Obj): Add allocThread member - to Tcl_Obj. This member records the thread id the - Tcl_Obj was allocated. It is used to check that - any future ref count incr or decr is done from - the same thread that allocated the Tcl_Obj. - This member is defined only when threads and - mem debug are enabled. - * generic/tclInt.h (TclNewObj, TclDbNewObj, - TclDecrRefCount): - Define TclNewObj and TclDbNewObj using TclDbInitNewObj - when mem debug is enabled. This fixes a problem where - TclNewObj calls did not work the same as TclDbNewObj - when mem debug was enabled. + Check that the thread incrementing or decrementing the ref count of a + Tcl_Obj is the thread that originally allocated the thread. This fail + fast behavior will catch programming errors that allow a single + Tcl_Obj to be accessed from multiple threads. + + * generic/tcl.h (Tcl_Obj): Add allocThread member to Tcl_Obj. This + member records the thread id the Tcl_Obj was allocated. It is used to + check that any future ref count incr or decr is done from the same + thread that allocated the Tcl_Obj. This member is defined only when + threads and mem debug are enabled. + * generic/tclInt.h (TclNewObj, TclDbNewObj, TclDecrRefCount): + Define TclNewObj and TclDbNewObj using TclDbInitNewObj when mem debug + is enabled. This fixes a problem where TclNewObj calls did not work + the same as TclDbNewObj when mem debug was enabled. * generic/tclObj.c (TclDbInitNewObj, Tcl_DbIncrRefCount, - Tcl_DbDecrRefCount): Add new helper to init Tcl_Obj - members when mem debug is enabled. Init the allocThread - member in TclDbInitNewObj and check it in - Tcl_DbIncrRefCount and Tcl_DbDecrRefCount to make sure - a Tcl_Obj allocated in one thread is not being acted - upon in another thread. + (Tcl_DbDecrRefCount): Add new helper to init Tcl_Obj members when mem + debug is enabled. Init the allocThread member in TclDbInitNewObj and + check it in Tcl_DbIncrRefCount and Tcl_DbDecrRefCount to make sure a + Tcl_Obj allocated in one thread is not being acted upon in another + thread. 2003-07-21 Vince Darley - * test/cmdAH.test: ensure certain tests run in local filesystem - [Bug 748960] + * test/cmdAH.test: ensure certain tests run in local filesystem. [Bug + 748960] 2003-07-18 Daniel Steffen - * macosx/Makefile: added option to allow installing manpages - in addition to default html help. + * macosx/Makefile: added option to allow installing manpages in + addition to default html help. 2003-07-18 Donal K. Fellows - * doc/Utf.3: Tightened up documentation of Tcl_UtfNext and - Tcl_UtfPrev to better match the behaviour. [Bug 769895] + * doc/Utf.3: Tightened up documentation of Tcl_UtfNext and Tcl_UtfPrev + to better match the behaviour. [Bug 769895] 2003-07-18 Jeff Hobbs @@ -1146,18 +1118,18 @@ only in the caller's namespace. Documentation made more precise on the subject. [Bug 706359] - * doc/AddErrInfo.3: Improved consistency of documentation - * doc/CrtTrace.3: by using "null" everywhere to refer to - * doc/Encoding.3: the character '\0', and using "NULL" - * doc/Eval.3: everywhere to refer to the value of a - * doc/GetIndex.3: pointer that points to nowhere. - * doc/Hash.3: Also dropped references to ASCII that - * doc/LinkVar.3: are no longer true, and standardized on - * doc/Macintosh.3: the hyphenated spelling of "null-terminated". - * doc/OpenFileChnl.3: - * doc/SetVar.3: - * doc/StringObj.3: - * doc/Utf.3: + * doc/AddErrInfo.3: Improved consistency of documentation by + * doc/CrtTrace.3: using "null" everywhere to refer to the + * doc/Encoding.3: character '\0', and using "NULL" everywhere + * doc/Eval.3: to refer to the value of a pointer that points + * doc/GetIndex.3: to nowhere. Also dropped references to ASCII + * doc/Hash.3: that are no longer true, and standardized on + * doc/LinkVar.3: the hyphenated spelling of "null-terminated". + * doc/Macintosh.3: + * doc/OpenFileChnl.3: + * doc/SetVar.3: + * doc/StringObj.3: + * doc/Utf.3: * doc/CrtSlave.3 (Tcl_MakeSafe): Removed warning about possible deprecation (no TIP on that). @@ -1170,17 +1142,16 @@ * macosx/Makefile: Rewrote buildsystem for Mac OS X framework build to be purely make driven; in order to become independent of Apple's closed-source IDE and build tool. The changes are intended to be - transparent to the Makefile user, all existing make targets and - cmd line variable overrides should continue to work. - Changed build to only include tcl specific html help in Tcl.framework, - the tk specific html help is now included in Tk.framework. - Added var to allow overriding of tclsh used during html help - building (Landon Fuller). + transparent to the Makefile user, all existing make targets and cmd + line variable overrides should continue to work. Changed build to only + include tcl specific html help in Tcl.framework, the tk specific html + help is now included in Tk.framework. Added var to allow overriding of + tclsh used during html help building (Landon Fuller). * macosx/Tcl.pbproj/project.pbxproj: - * macosx/Tcl.pbproj/jingham.pbxuser: Changed to purely call through - to the make driven buildsystem; Tcl.framework is no longer assembled - by ProjectBuilder. + * macosx/Tcl.pbproj/jingham.pbxuser: Changed to purely call through to + the make driven buildsystem; Tcl.framework is no longer assembled by + ProjectBuilder. Set default SYMROOT in target options to simplify setting up PB (manually setting common build folder for tcl & tk no longer needed). @@ -1188,17 +1159,17 @@ tcl or tk html help files; the default behaviour with none of the new options is to build both, as before. - * unix/Makefile.in: Added targets for building only the tcl or tk help. + * unix/Makefile.in: Added targets for building only the tcl or tk help - * macosx/README (new): Tcl specific excerpts of tk/macosx/README. + * macosx/README (new): Tcl specific excerpts of tk/macosx/README. * generic/tcl.h: Updated reminder comment about editing macosx/Tcl.pbproj/project.pbxproj when version number changes. 2003-07-16 Mumit Khan - * generic/tclPathObj.c (SetFsPathFromAny): Add Cygwin specific - code to convert POSIX filename to native format. + * generic/tclPathObj.c (SetFsPathFromAny): Add Cygwin specific code to + convert POSIX filename to native format. * generic/tclFileName.c (Tcl_TranslateFileName): And remove from here. (TclDoGlob): Adjust for cygwin and append / for dirs instead of \ * win/tclWinFile.c (TclpObjChdir): Use chdir on Cygwin. @@ -1209,12 +1180,12 @@ * library/safe.tcl (FileInAccessPath): normalize paths before comparison. [Bug 759607] (myers) - * unix/tclUnixNotfy.c (NotifierThreadProc): correct size of found - and word vars from int to long. [Bug 767578] (hgo) + * unix/tclUnixNotfy.c (NotifierThreadProc): correct size of found and + word vars from int to long. [Bug 767578] (hgo) - * generic/tcl.h: add recognition of -DTCL_UTF_MAX=6 on the - * generic/regcustom.h: make line to support UCS-4 mode. No config - arg at this time, as it is not the recommended build mode. + * generic/tcl.h: Add recognition of -DTCL_UTF_MAX=6 on the make + * generic/regcustom.h: line to support UCS-4 mode. No config arg at + this time, as it is not the recommended build mode. * generic/tclPreserve.c: In Result and Preserve'd routines, do not * generic/tclUtil.c: assume that ckfree == free, as that is not @@ -1223,8 +1194,8 @@ 2003-07-16 Donal K. Fellows * doc/CrtSlave.3 (Tcl_MakeSafe): Updated documentation to strongly - discourage use. IMHO code outside the core that uses this - function is a bug... [Bug 655300] + discourage use. IMHO code outside the core that uses this function is + a bug... [Bug 655300] 2003-07-16 Don Porter @@ -1234,13 +1205,13 @@ Silence compiler warnings about unreached lines. * library/tcltest/tcltest.tcl (ProcessFlags): Corrected broken call - * library/tcltest/pkgIndex.tcl: to [lrange]. Bumped - to version 2.2.4. [Bug 772333] + * library/tcltest/pkgIndex.tcl: to [lrange]. Bumped to + version 2.2.4. [Bug 772333] 2003-07-15 Mo DeJong - * unix/dltest/pkga.c (Pkga_EqObjCmd): Fix typo - that was causing a crash in load.test. + * unix/dltest/pkga.c (Pkga_EqObjCmd): Fix typo that was causing a + crash in load.test. 2003-07-15 Donal K. Fellows @@ -1248,20 +1219,20 @@ 2003-07-15 Don Porter - * doc/http.n: Updated SYNOPSIS to match actual syntax of - commands. [Bug 756112] + * doc/http.n: Updated SYNOPSIS to match actual syntax of commands. + [Bug 756112] * unix/dltest/pkga.c: Updated to not use Tcl_UtfNcmp and counted - strings instead of strcmp (not defined in any #include'd header) - and presumed NULL-terminated strings. + strings instead of strcmp (not defined in any #include'd header) and + presumed NULL-terminated strings. - * generic/tclCompCmds.c (TclCompileIfCmd): Prior fix of Bug 711371 - on 2003-04-07 introduced a buffer overflow. Corrected. [Bug 771613] + * generic/tclCompCmds.c (TclCompileIfCmd): Prior fix of Bug 711371 on + 2003-04-07 introduced a buffer overflow. Corrected. [Bug 771613] 2003-07-15 Kevin B. Kenny - * win/rules.vc: Added a missing $(OPTDEFINES) which broke the - build if STATS=memdbg was specified. + * win/rules.vc: Added a missing $(OPTDEFINES) which broke the build if + STATS=memdbg was specified. 2003-07-15 Donal K. Fellows @@ -1270,16 +1241,16 @@ 2003-07-11 Donal K. Fellows - * tests/binary.test (binary-46.*): Tests to help enforce the - current behaviour. + * tests/binary.test (binary-46.*): Tests to help enforce the current + behaviour. * doc/binary.n: Documented that [binary format a] and [binary scan a] - do encoding conversion by dropping high bytes, unlike the rest of - the core. [Bug 735364] + do encoding conversion by dropping high bytes, unlike the rest of the + core. [Bug 735364] 2003-07-11 Don Porter * library/package.tcl: Corrected [pkg_mkIndex] bug reported on - comp.lang.tcl. The indexer was searching for newly indexed packages + comp.lang.tcl. The indexer was searching for newly indexed packages instead of newly provided packages. 2003-07-08 Vince Darley @@ -1302,15 +1273,14 @@ filesystems. [Patch 760768] Also a little general cleanup. * generic/tclCmdMZ.c (Tcl_StringObjCmd): Made [string map] accept - dictionaries for maps. This is much trickier than it looks, since - map entry ordering is significant. [Bug 759936] + dictionaries for maps. This is much trickier than it looks, since map + entry ordering is significant. [Bug 759936] - * generic/tclVar.c (Tcl_ArrayObjCmd, TclArraySet): Made [array - get] and [array set] work with dictionaries, producing them and - consuming them. Note that for compatability reasons, you will - never get a dict from feeding a string literal to [array set] - since that alters the trace behaviour of "multi-key" sets. - [Bug 759935] + * generic/tclVar.c (Tcl_ArrayObjCmd, TclArraySet): Made [array get] + and [array set] work with dictionaries, producing them and consuming + them. Note that for compatability reasons, you will never get a dict + from feeding a string literal to [array set] since that alters the + trace behaviour of "multi-key" sets. [Bug 759935] 2003-06-23 Vince Darley @@ -1330,16 +1300,15 @@ 2003-06-25 Donal K. Fellows * generic/tclTrace.c: New file, factoring out of virtually all the - various trace-related things from tclBasic.c and tclCmdMZ.c with - the goal of making this a separate maintenance area. + various trace-related things from tclBasic.c and tclCmdMZ.c with the + goal of making this a separate maintenance area. 2003-06-25 Mo DeJong * unix/configure: Regen. - * unix/tcl.m4 (SC_CONFIG_CFLAGS): Add -ieee when - compiling with cc and add -mieee when compiling - with gcc under OSF1-V5 "Tru64" systems. - [Bug 748957] + * unix/tcl.m4 (SC_CONFIG_CFLAGS): Add -ieee when compiling with cc and + add -mieee when compiling with gcc under OSF1-V5 "Tru64" systems. [Bug + 748957] 2003-06-24 Donal K. Fellows @@ -1353,15 +1322,14 @@ 2003-06-24 Mo DeJong - * unix/tclUnixPort.h: #undef inet_ntoa before - #define to avoid compiler warning under freebsd. - [Bug 745844] + * unix/tclUnixPort.h: #undef inet_ntoa before #define to avoid + compiler warning under freebsd. [Bug 745844] 2003-06-23 Pat Thoyts * doc/dde.n: Committed TIP #135 which changes the - * win/tclWinDde.c: -exact option to -force. Also cleaned - * tests/winDde.test: a bug in the tests. + * win/tclWinDde.c: -exact option to -force. Also cleaned a + * tests/winDde.test: bug in the tests. * library/dde/pkgIndex.tcl: Incremented version to 1.2.5 * doc/dde.n: Committed TIP #120 which provides the @@ -1371,70 +1339,70 @@ 2003-06-23 Vince Darley - * generic/tclFCmd.c: fix to bad error message when trying to - do 'file copy foo ""'. [Bug 756951] + * generic/tclFCmd.c: fix to bad error message when trying to do 'file + copy foo ""'. [Bug 756951] * tests/fCmd.test: added two new tests for the bug. * win/tclWinFile.c: - * win/tclWin32Dll.c: recommitted some filesystem globbing - speed-ups, but disabled some on the older Win 95/98/ME where - they don't seem to work. + * win/tclWin32Dll.c: recommitted some filesystem globbing speed-ups, + but disabled some on the older Win 95/98/ME where they don't seem to + work. * doc/FileSystem.3: documentation fix [Bug 720634] 2003-06-18 Miguel Sofer - * generic/tclNamesp.c (Tcl_Export): removed erroneous comments - [Bug 756744] + * generic/tclNamesp.c (Tcl_Export): removed erroneous comments. [Bug + 756744] 2003-06-17 Vince Darley - * win/makefile.vc: fixes to check-in below so compilation now - works again on Windows. + * win/makefile.vc: fixes to check-in below so compilation now works + again on Windows. * generic/tclCmdMZ.c: * tests/regexp.test: fixing of bugs related to regexp and regsub - matching of empty strings. Addition of a number of new tests. - [Bug 755335] + matching of empty strings. Addition of a number of new tests. [Bug + 755335] 2003-06-16 Andreas Kupries - * win/Makefile.in: Haven't heard back from David for a week. - * win/configure: Now committing the remaining changes. - * win/configure.in: Note: In active contact with Helmut Giese - * win/makefile.vc: about the borland relatedchanges. This part - * win/rules.vc: will see future updates. - * win/tcl.m4: + * win/Makefile.in: Haven't heard back from David for a week. Now + * win/configure: committing the remaining changes. + * win/configure.in: Note: In active contact with Helmut Giese about + * win/makefile.vc: the borland relatedchanges. This part will see + * win/rules.vc: future updates. + * win/tcl.m4: * win/makefile.bc: 2003-06-10 Andreas Kupries * generic/tclConfig.c (ASSOC_KEY): Changed the key to - "tclPackageAboutDict" (tcl prefix) to make collisions with the - keys of other packages more unlikely. + "tclPackageAboutDict" (tcl prefix) to make collisions with the keys of + other packages more unlikely. 2003-06-10 Miguel Sofer * generic/tclBasic.c: * generic/tclExecute.c: let TclExecuteObjvInternal call - TclInterpReady instead of relying on its callers to do so; fix for - the part of [Bug 495830] that is new in 8.4. + TclInterpReady instead of relying on its callers to do so; fix for the + part of [Bug 495830] that is new in 8.4. * tests/interp.test: Added tests 18.9 (knownbug) and 18.10 2003-06-09 Andreas Kupries * generic/tcl.decls: Ported the changes from the * generic/tcl.h: 'tip-59-implementation' branch into the CVS - * generic/tclBasic.c: head. Regenerated stub table. Regenerated - * generic/tclInt.h: the configure's scripts, with help from Joe - * generic/tclDecls.h English. + * generic/tclBasic.c: head. Regenerated stub table. Regenerated the + * generic/tclInt.h: configure's scripts, with help from Joe English. + * generic/tclDecls.h: * generic/tclStubInit.c: * generic/tclConfig.c: * generic/tclPkgConfig.c: - * unix/Makefile.in: - * unix/configure.in: The changes in the windows section are not - * unix/tcl.m4: yet committed, they await feedback from - * unix/mkLinks: David Gravereaux. + * unix/Makefile.in: + * unix/configure.in: The changes in the windows section are not yet + * unix/tcl.m4: committed, they await feedback from David + * unix/mkLinks: Gravereaux. * doc/RegConfig.3: * mac/tclMacPkgConfig.c: * tests/config.test: @@ -1447,17 +1415,16 @@ 2003-06-04 Joe Mistachkin - * tools/man2help.tcl: Added duplicate help section checking - * tools/index.tcl: and corrected a comment typo for the - getTopics proc in index.tcl [Bug #748700]. + * tools/man2help.tcl: Added duplicate help section checking and + * tools/index.tcl: corrected a comment typo for the getTopics proc + in index.tcl. [Bug 748700] 2003-06-02 Vince Darley * win/tclWinFCmd.c: - * tests/fCmd.test: fix to [Bug #747575] in which a bad error - message is given when trying to rename a busy directory to - one with the same prefix, but not the same name. Added three - new tests. + * tests/fCmd.test: fix to [Bug #747575] in which a bad error message + is given when trying to rename a busy directory to one with the same + prefix, but not the same name. Added three new tests. 2003-05-23 D. Richard Hipp @@ -1467,30 +1434,28 @@ 2003-05-23 Don Porter * generic/tclObj.c (tclCmdNameType): Converted internal rep - management of the cmdName Tcl_ObjType the opposite way, to always - use the twoPtrValue instead of always using the otherValuePtr. - Previous fix on 2003-05-12 broke several extensions that wanted - to poke around with the twoPtrValue.ptr2 value of a cmdName - Tcl_Obj, like TclBlend and e4graph. [Bug 726018] - Thanks to George Petasis for the bug report and Jacob Levy for - testing assistance. + management of the cmdName Tcl_ObjType the opposite way, to always use + the twoPtrValue instead of always using the otherValuePtr. Previous + fix on 2003-05-12 broke several extensions that wanted to poke around + with the twoPtrValue.ptr2 value of a cmdName Tcl_Obj, like TclBlend + and e4graph. [Bug 726018] + Thanks to George Petasis for the bug report and Jacob Levy for testing + assistance. 2003-05-23 Mo DeJong - * unix/mkLinks: Set the var S to "" at the top - of the file to avoid error when user has set S - to something. - [Tk Bug #739833] + * unix/mkLinks: Set the var S to "" at the top of the file to avoid + error when user has set S to something. [Tk Bug 739833] 2003-05-22 Daniel Steffen - * macosx/Tcl.pbproj/project.pbxproj: added missing references to - new source files tclPathObj.c and tclMacOSXFCmd.c. + * macosx/Tcl.pbproj/project.pbxproj: added missing references to new + source files tclPathObj.c and tclMacOSXFCmd.c. - * macosx/tclMacOSXBundle.c: fixed a problem that caused only the - first call to Tcl_MacOSXOpenVersionedBundleResources() for a given - bundle identifier to succeed. This caused the tcl runtime library - not to be found in all interps created after the inital one. + * macosx/tclMacOSXBundle.c: fixed a problem that caused only the first + call to Tcl_MacOSXOpenVersionedBundleResources() for a given bundle + identifier to succeed. This caused the tcl runtime library not to be + found in all interps created after the inital one. 2003-05-19 Kevin B. Kenny @@ -1499,31 +1464,30 @@ 2003-05-19 Daniel Steffen - * macosx/Tcl.pbproj/project.pbxproj: changed tclConfig.sh location - in versioned framework subdirectories to be identical to location - in framework toplevel; fixed stub library symbolic links to be - tcl version specific. + * macosx/Tcl.pbproj/project.pbxproj: changed tclConfig.sh location in + versioned framework subdirectories to be identical to location in + framework toplevel; fixed stub library symbolic links to be tcl + version specific. * unix/tclUnixTime.c: fixed typo. 2003-05-18 Kevin Kenny - * compat/strftime.c: Modified TclpStrftime to return its - * generic/tclClock.c: result in UTF-8 encoding, and removed - * mac/tclMacTime.c: the conversion from system encoding to - * unix/tclUnixTime.c: UTF-8 from [clock format]. Needed to - * win/tclWinTime.c: avoid double conversion of the timezone - name on Windows systems. [Bug 624408] + * compat/strftime.c: Modified TclpStrftime to return its result in + * generic/tclClock.c: UTF-8 encoding, and removed the conversion from + * mac/tclMacTime.c: system encoding to UTF-8 from [clock format]. + * unix/tclUnixTime.c: Needed to avoid double conversion of the + * win/tclWinTime.c: timezone name on Windows systems. [Bug 624408] 2003-05-16 Pat Thoyts - * library/dde/pkgIndex.tcl: Applied TIP #130 which provides - * tests/winDde.test: for unique dde server names. Added - * win/tclWinDde.c: some more tests. Fixes [Bug 219293] + * library/dde/pkgIndex.tcl: Applied TIP #130 which provides for + * tests/winDde.test: unique dde server names. Added some more + * win/tclWinDde.c: tests. Fixes [Bug 219293] * doc/dde.n: Updated documentation re TIP #130. - * tests/winDde.test: Applied patch for [Bug 738929] by KKB and - changed to new-style tests. + * tests/winDde.test: Applied patch for [Bug 738929] by KKB and changed + to new-style tests. 2003-05-16 Kevin B. Kenny @@ -1536,33 +1500,33 @@ 2003-05-15 Kevin B. Kenny * generic/tclGetDate.y: added further hackery to the yacc - * generic/tclDate.c: post-processing to arrange for the - * unix/Makefile.in: code to set up exit handlers to free - the stacks [Bug 736425]. + * generic/tclDate.c: post-processing to arrange for the code to set + * unix/Makefile.in: up exit handlers to free the stacks. [Bug + 736425] 2003-05-15 Jeff Hobbs - * win/tclWinFile.c (TclpMatchInDirectory): revert glob code to - r1.44 as 2003-04-11 optimizations broke Windows98 glob'ing. + * win/tclWinFile.c (TclpMatchInDirectory): revert glob code to r1.44 + as 2003-04-11 optimizations broke Windows98 glob'ing. * doc/socket.n: nroff font handling correction * library/encoding/gb2312-raw.enc (new): This is the original - gb2312.enc renamed to allow for it to still be used. This is - needed by Tk (unix) because X fonts with gb2312* charsets really - do want the original gb2312 encoding. [Bug 557030] + gb2312.enc renamed to allow for it to still be used. This is needed by + Tk (unix) because X fonts with gb2312* charsets really do want the + original gb2312 encoding. [Bug 557030] 2003-05-14 Donal K. Fellows - * generic/tclCmdAH.c (Tcl_FormatObjCmd): Stop unwarranted demotion - of wide values to longs by formatting of int values. [Bug 699060] + * generic/tclCmdAH.c (Tcl_FormatObjCmd): Stop unwarranted demotion of + wide values to longs by formatting of int values. [Bug 699060] 2003-05-14 Jeff Hobbs * library/encoding/gb2312.enc: copy euc-cn.enc over original - gb2312.enc. gb2312.enc appeared to not work as expected, and most - uses of gb2312 really mean euc-cn (which may be the cause of the - problem). [Bug 557030] + gb2312.enc. gb2312.enc appeared to not work as expected, and most uses + of gb2312 really mean euc-cn (which may be the cause of the problem). + [Bug 557030] 2003-05-14 Daniel Steffen @@ -1602,50 +1566,48 @@ * tests/unixFCmd.test: added tests of -readonly attribute. - * tests/macOSXFCmd.test (new): tests of macosx file attributes and - of preservation of attributes & resource fork during [file copy]. + * tests/macOSXFCmd.test (new): tests of macosx file attributes and of + preservation of attributes & resource fork during [file copy]. * tests/macFCmd.test: restore -readonly attribute of test dir, as otherwise its removal can fail on unices supporting -readonly. 2003-05-13 David Gravereaux - * generic/tclEnv.c: Another putenv() copy behavior problem - repaired when compiling on windows and using microsoft's runtime. - [Bug 736421] + * generic/tclEnv.c: Another putenv() copy behavior problem repaired + when compiling on windows and using microsoft's runtime. [Bug 736421] 2003-05-13 Jeff Hobbs * generic/tclIOUtil.c: ensure cd is thread-safe. - [Bug #710642] (vasiljevic) + [Bug 710642] (vasiljevic) 2003-05-13 Donal K. Fellows - * generic/tclEvent.c (Tcl_Finalize): Removed unused variable to - reduce compiler warnings. [Bug 664745] + * generic/tclEvent.c (Tcl_Finalize): Removed unused variable to reduce + compiler warnings. [Bug 664745] 2003-05-13 Joe Mistachkin * generic/tcl.decls: Changed Tcl_JoinThread parameter name from * generic/tclDecls.h: "id" to "threadId". [Bug 732477] * unix/tclUnixThrd.c: - * win/tclWinThrd.c: + * win/tclWinThrd.c: * mac/tclMacThrd.c: 2003-05-13 Daniel Steffen * generic/tcl.decls: - * macosx/tclMacOSXBundle.c: added extended version of the + * macosx/tclMacOSXBundle.c: added extended version of the Tcl_MacOSXOpenBundleResources() API taking an extra version number - argument: Tcl_MacOSXOpenVersionedBundleResources(). - This is needed to be able to access bundle resources in versioned - frameworks such as Tcl and Tk, otherwise if multiple versions were - installed, only the latest version's resources could be accessed. - [Bug 736774] + argument: Tcl_MacOSXOpenVersionedBundleResources(). This is needed to + be able to access bundle resources in versioned frameworks such as Tcl + and Tk, otherwise if multiple versions were installed, only the latest + version's resources could be accessed. [Bug 736774] * unix/tclUnixInit.c (Tcl_MacOSXGetLibraryPath): use new versioned - bundle resource API to get tcl runtime library for TCL_VERSION. - [Bug 736774] + bundle resource API to get tcl runtime library for TCL_VERSION. [Bug + 736774] * generic/tclPlatDecls.h: * generic/tclStubInit.c: regen. @@ -1658,13 +1620,13 @@ * tests/cmdAH.test: General clean-up of tests so that all tcltest-specific commands are protected by constraints and all - platforms see the same number of tests. [Bug 736431] + platforms see the same number of tests. [Bug 736431] 2003-05-12 Don Porter * generic/tclInterp.c: (AliasObjCmd): Added refCounting of the words * tests/interp.test (interp-33.1): of the target of an interp - alias during its execution. Also added test. [Bug 730244]. + alias during its execution. Also added test. [Bug 730244] * generic/tclBasic.c (TclInvokeObjectCommand): objv[argc] is no longer set to NULL (Tcl_CreateObjCommand docs already say that it @@ -1674,7 +1636,7 @@ * generic/tclObj.c (tclCmdNameType): Corrected variable use of the otherValuePtr or the twoPtrValue.ptr1 fields to store a - (ResolvedCmdName *) as the internal rep. [Bug 726018]. + (ResolvedCmdName *) as the internal rep. [Bug 726018] * doc/Eval.3: Corrected prototype for Tcl_GlobalEvalObj [Bug 727622]. @@ -1686,26 +1648,26 @@ 2003-05-10 Jeff Hobbs - * win/tclWinSerial.c (SerialCloseProc): correct mem leak on - closing a Windows serial port [Bug #718002] (schroedter) + * win/tclWinSerial.c (SerialCloseProc): correct mem leak on closing a + Windows serial port [Bug 718002] (schroedter) - * generic/tclCmdMZ.c (Tcl_StringObjCmd): prevent string repeat - crash when overflow sizes were given (throws error). [Bug #714106] + * generic/tclCmdMZ.c (Tcl_StringObjCmd): prevent string repeat crash + when overflow sizes were given (throws error). [Bug 714106] 2003-05-09 Joe Mistachkin * generic/tclThreadAlloc.c (TclFreeAllocCache): Fixed memory leak - caused by treating cachePtr as a TLS index [Bug 731754]. + caused by treating cachePtr as a TLS index. [Bug 731754] * win/tclAppInit.c (Tcl_AppInit): Fixed memory leaks caused by not freeing the memory allocated by setargv and the async handler created by Tcl_AppInit. An exit handler has been created that takes care of both leaks. In addition, Tcl_AppInit now uses ckalloc instead of Tcl_Alloc to allow for easier leak tracking and to be more consistent - with the rest of the Tcl core [Bugs 733156, 733221]. + with the rest of the Tcl core. [Bugs 733156, 733221] * tools/encoding/txt2enc.c (main): Fixed memory leak caused by failing - to free the memory used by the toUnicode array of strings [Bug 733221]. + to free the memory used by the toUnicode array of strings [Bug 733221] 2003-05-09 Miguel Sofer @@ -1716,17 +1678,17 @@ 2003-05-09 Donal K. Fellows - * generic/tclCmdMZ.c (Tcl_ReturnObjCmd): The array of strings - passed to Tcl_GetIndexFromObj must be NULL terminated. [Bug 735186] + * generic/tclCmdMZ.c (Tcl_ReturnObjCmd): The array of strings passed + to Tcl_GetIndexFromObj must be NULL terminated. [Bug 735186] Thanks to Joe Mistachkin for spotting this. 2003-05-07 Donal K. Fellows - * doc/trace.n: Fixed very strange language in the documentation - for 'trace add execution'. [Bug 729821] + * doc/trace.n: Fixed very strange language in the documentation for + 'trace add execution'. [Bug 729821] - * generic/tclCmdMZ.c (Tcl_TraceObjCmd): Made error message for - 'trace info' more consistent with documentation. [Bug 706961] + * generic/tclCmdMZ.c (Tcl_TraceObjCmd): Made error message for 'trace + info' more consistent with documentation. [Bug 706961] * generic/tclDictObj.c (DictInfoCmd): Fixed memory leak caused by confusion about string ownership. [Bug 731706] @@ -1755,89 +1717,85 @@ 2003-04-28 Donal K. Fellows - * generic/tclDictObj.c (DictIncrCmd): Updated to reflect the - behaviour with wide increments of the normal [incr] command. - * generic/tclInt.decls: Added TclIncrWideVar2 to internal stub - table and cleaned up. + * generic/tclDictObj.c (DictIncrCmd): Updated to reflect the behaviour + with wide increments of the normal [incr] command. + * generic/tclInt.decls: Added TclIncrWideVar2 to internal stub table + and cleaned up. * tests/incr.test (incr-3.*): - * generic/tclVar.c (TclIncrWideVar2, TclPtrIncrWideVar): - * generic/tclExecute.c (TclExecuteByteCode): - * generic/tclCmdIL.c (Tcl_IncrObjCmd): Make [incr] work when - trying to increment by wide values. [Bug 728838] + * generic/tclVar.c (TclIncrWideVar2, TclPtrIncrWideVar): + * generic/tclExecute.c (TclExecuteByteCode): + * generic/tclCmdIL.c (Tcl_IncrObjCmd): Make [incr] work when trying to + increment by wide values. [Bug 728838] * generic/tclCompCmds.c (TclCompileSwitchCmd): Default mode of - operation of [switch] is exact matching. [Bug 727563] + operation of [switch] is exact matching. [Bug 727563] 2003-04-25 Don Porter * generic/tclBasic.c: Tcl_EvalObjv() failed to honor the - TCL_EVAL_GLOBAL flag when resolving command names. Tcl_EvalEx - passed a string rep including leading whitespace and comments - to TclEvalObjvInternal(). + TCL_EVAL_GLOBAL flag when resolving command names. Tcl_EvalEx passed a + string rep including leading whitespace and comments to + TclEvalObjvInternal(). 2003-04-25 Andreas Kupries - * win/tclWinThrd.c: Applied SF patch #727271. This patch changes - the code to catch any errors returned by the windows functions - handling TLS ASAP instead of waiting to get some mysterious - crash later on due to bogus pointers. Patch provided by Joe - Mistachkin. + * win/tclWinThrd.c: Applied SF patch #727271. This patch changes the + code to catch any errors returned by the windows functions handling + TLS ASAP instead of waiting to get some mysterious crash later on due + to bogus pointers. Patch provided by Joe Mistachkin. - This is a stop-gap measure to deal with the low number of ?TLS - slots provided by some of the variants of Windows (60-80). + This is a stop-gap measure to deal with the low number of ?TLS slots + provided by some of the variants of Windows (60-80). 2003-04-24 Vince Darley - * generic/tclFileName.c: fix to bug reported privately by - Jeff where, for example, 'glob -path {[tcl]} *' gets confused - by the leading special character (which is escaped internally), - and instead lists files in '/'. Bug only occurs on Windows - where '\' is also a directory separator. + * generic/tclFileName.c: fix to bug reported privately by Jeff where, + for example, 'glob -path {[tcl]} *' gets confused by the leading + special character (which is escaped internally), and instead lists + files in '/'. Bug only occurs on Windows where '\' is also a directory + separator. * tests/fileName.test: added test for the above bug. 2003-04-22 Andreas Kupries * The changes below fix SF bugs [593810], and [718045]. - * generic/tclIO.c (Tcl_CutChannel, Tcl_SpliceChannel): - Invoke TclpCutSockChannel and TclpSpliceSockChannel. + * generic/tclIO.c (Tcl_CutChannel, Tcl_SpliceChannel): Invoke + TclpCutSockChannel and TclpSpliceSockChannel. * generic/tclInt.h: Declare TclpCutSockChannel and - TclpSpliceSockChannel. + TclpSpliceSockChannel. * unix/tclUnixSock.c (TclpCutSockChannel, TclpSpliceSockChannel): - Dummy functions, on unix the sockets are _not_ handled - specially. + Dummy functions, on unix the sockets are _not_ handled specially. * mac/tclMacSock.c (TclpCutSockChannel, TclpSpliceSockChannel): - * win/tclWinSock.c (TclpCutSockChannel, TclpSpliceSockChannel): - New functions to handle socket specific cut/splice operations: - auto-initi of socket system for thread on splice, management of - the module internal per-thread list of sockets, management of - association of sockets with HWNDs for event notification. + * win/tclWinSock.c (TclpCutSockChannel, TclpSpliceSockChannel): New + functions to handle socket specific cut/splice operations: auto-init + of socket system for thread on splice, management of the module + internal per-thread list of sockets, management of association of + sockets with HWNDs for event notification. * win/tclWinSock.c (NewSocketInfo): Extended initialization - assignments to cover all items of the structure. During - debugging of the new code mentioned above I found that two - fileds could contain bogus data. + assignments to cover all items of the structure. During debugging of + the new code mentioned above I found that two fileds could contain + bogus data. * win/tclWinFile.c: Added #undef HAVE_NO_FINDEX_ENUMS before - definition because when compiling in debug mode the compiler - complains about a redefinition, and this warning is also treated - as an error. + definition because when compiling in debug mode the compiler complains + about a redefinition, and this warning is also treated as an error. 2003-04-21 Don Porter * library/tcltest/tcltest.tcl: When the return code of a test does - not meet expectations, report that as the reason for test failure, - and do not attempt to check the test result for correctness. - [Bug 725253] + not meet expectations, report that as the reason for test failure, and + do not attempt to check the test result for correctness. [Bug 725253] 2003-04-18 Jeff Hobbs * win/tclWinInt.h (VER_PLATFORM_WIN32_CE): conditionally define. - * win/tclWinInit.c: recognize Windows CE as a Win platform. - This just recognizes CE - full support will come later. + * win/tclWinInit.c: recognize Windows CE as a Win platform. This just + recognizes CE - full support will come later. * win/configure: regen * win/configure.in (SHELL): force it to /bin/sh as autoconf 2.5x @@ -1848,26 +1806,26 @@ 2003-04-18 Donal K. Fellows - * doc/open.n: Moved serial port options from [fconfigure] - * doc/fconfigure.n: to [open] as it is up to the creator of a - channel to describe the channel's special - config options. [Bug 679010] + * doc/open.n: Moved serial port options from [fconfigure] to + * doc/fconfigure.n: [open] as it is up to the creator of a channel + to describe the channel's special config + options. [Bug 679010] 2003-04-16 Don Porter * generic/tcl.h: Made changes so that the "wideInt" Tcl_ObjType * generic/tclObj.c: is defined on all platforms, even those where - * generic/tclPort.h: TCL_WIDE_INT_IS_LONG is defined. Also made - the Tcl_Value struct have a wideValue field on all platforms. This is - a ***POTENTIAL INCOMPATIBILITY*** for TCL_WIDE_INT_IS_LONG platforms - because that struct changes size. This is the same TIP 72 + * generic/tclPort.h: TCL_WIDE_INT_IS_LONG is defined. Also made the + Tcl_Value struct have a wideValue field on all platforms. This is a + ***POTENTIAL INCOMPATIBILITY*** for TCL_WIDE_INT_IS_LONG platforms + because that struct changes size. This is the same TIP 72 incompatibility that was seen on other platforms at the 8.4.0 release, - when this change should have happened as well. [Bug 713562] + when this change should have happened as well. [Bug 713562] * generic/tclInt.h: New internal macros TclGetWide() and TclGetLongFromWide() to deal with both forms of the "wideInt" - Tcl_ObjType, so that conditional TCL_WIDE_INT_IS_LONG code - is confined to the header file. + Tcl_ObjType, so that conditional TCL_WIDE_INT_IS_LONG code is confined + to the header file. * generic/tclCmdAH.c: Replaced most coding that was conditional * generic/tclCmdIL.c: on TCL_WIDE_INT_IS_LONG with code that @@ -1878,35 +1836,36 @@ 2003-04-17 Donal K. Fellows - * doc/socket.n: Added a paragraph to remind people to specify - their encodings when using sockets. [Bug 630621] + * doc/socket.n: Added a paragraph to remind people to specify their + encodings when using sockets. [Bug 630621] 2003-04-16 Donal K. Fellows - * doc/CrtMathFnc.3: Functions also have to deal with wide ints, - but this was not documented. [Bug 709720] + * doc/CrtMathFnc.3: Functions also have to deal with wide ints, but + this was not documented. [Bug 709720] 2003-04-16 Vince Darley - * generic/tclPathObj.c: removed undesired 'static' for function - which is now shared (previously it was duplicated). + * generic/tclPathObj.c: removed undesired 'static' for function which + is now shared (previously it was duplicated). 2003-04-15 Joe English - * doc/namespace.n: added example section "SCOPED SCRIPTS", - supplied by Kevin Kenny. (Fixes [Bug 219183]) + + * doc/namespace.n: added example section "SCOPED SCRIPTS", supplied by + Kevin Kenny. [Bug 219183] 2003-04-15 Kevin Kenny - * makefile.vc: Updated makefile.vc to conform with Mo DeJong's - changes to Makefile.in and tclWinPipe.c on 2003-04-14. Now passes - TCL_PIPE_DLL in place of TCL_DBGX. + * makefile.vc: Updated makefile.vc to conform with Mo DeJong's changes + to Makefile.in and tclWinPipe.c on 2003-04-14. Now passes TCL_PIPE_DLL + in place of TCL_DBGX. * win/tclWinTime.c: Corrected use of types to make compilation compatible with VC++5. 2003-04-15 Vince Darley - * generic/tclIOUtil.c: finished check-in from yesterday, - removing duplicate function definition. + * generic/tclIOUtil.c: finished check-in from yesterday, removing + duplicate function definition. 2003-04-14 Don Porter @@ -1915,19 +1874,14 @@ 2003-04-14 Mo DeJong - * win/Makefile.in: Don't define TCL_DBGX - symbol for every compile. Instead, define - TCL_PIPE_DLL only when compiling tclWinPipe.c. - This will break other build systems, so - they will need to remove the TCL_DBGX define - and replace it with a define for TCL_PIPE_DLL. - * win/tclWinPipe.c (TclpCreateProcess): - Remove PREFIX_IDENT and DEBUG_IDENT from - top of file. Use TCL_PIPE_DLL passed in - from build env instead of trying to construct - the dll name from already defined symbols. - This approach is more flexible and better - in the long run. + * win/Makefile.in: Don't define TCL_DBGX symbol for every compile. + Instead, define TCL_PIPE_DLL only when compiling tclWinPipe.c. This + will break other build systems, so they will need to remove the + TCL_DBGX define and replace it with a define for TCL_PIPE_DLL. + * win/tclWinPipe.c (TclpCreateProcess): Remove PREFIX_IDENT and + DEBUG_IDENT from top of file. Use TCL_PIPE_DLL passed in from build + env instead of trying to construct the dll name from already defined + symbols. This approach is more flexible and better in the long run. 2003-04-14 Kevin Kenny @@ -1936,29 +1890,26 @@ 2003-04-14 Vince Darley - * generic/tclIOUtil.c: - * generic/tclPathObj.c: - * generic/tclFileSystem.h: overlooked one function which - was duplicated, so this is now shared between modules. + * generic/tclIOUtil.c: + * generic/tclPathObj.c: + * generic/tclFileSystem.h: overlooked one function which was + duplicated, so this is now shared between modules. * win/tclWinFile.c: allow this file to compile with VC++ 5.2 again since Mingw build fixes broke that. 2003-04-13 Mo DeJong * win/configure: Regen. - * win/configure.in: Add check for FINDEX_INFO_LEVELS - from winbase.h, known to be a problem in VC++ 5.2. - Define HAVE_NO_FINDEX_ENUMS if the define does not - exist. - * win/tclWinFile.c: Put declarations for - FINDEX_INFO_LEVELS and FINDEX_SEARCH_OPS inside - a check for HAVE_NO_FINDEX_ENUMS so that these are - not declared twice. This fixes the Mingw build. - * win/tclWinTime.c: Rework the init of timeInfo - so that the number or initializers matches the - declaration. This was broken under Mingw. Add - cast to avoid compile warning when calling the - AccumulateSample function. + * win/configure.in: Add check for FINDEX_INFO_LEVELS from winbase.h, + known to be a problem in VC++ 5.2. Define HAVE_NO_FINDEX_ENUMS if the + define does not exist. + * win/tclWinFile.c: Put declarations for FINDEX_INFO_LEVELS and + FINDEX_SEARCH_OPS inside a check for HAVE_NO_FINDEX_ENUMS so that + these are not declared twice. This fixes the Mingw build. + * win/tclWinTime.c: Rework the init of timeInfo so that the number or + initializers matches the declaration. This was broken under Mingw. Add + cast to avoid compile warning when calling the AccumulateSample + function. 2003-04-12 Jeff Hobbs @@ -1967,76 +1918,73 @@ 2003-04-12 Kevin Kenny * doc/clock.n: - * generic/tclClock.c (Tcl_ClockObjCmd): - * tests/clock.test: Implementation of TIP #124. Also renumbered - test cases to avoid duplicates [Bug 710310]. + * generic/tclClock.c (Tcl_ClockObjCmd): + * tests/clock.test: Implementation of TIP #124. Also renumbered test + cases to avoid duplicates. [Bug 710310] * tests/winTime.test: * win/tclWinTest.c (TestwinclockCmd, TestwinsleepCmd): * win/tclWinTime.c (Tcl_WinTime, UpdateTimeEachSecond, - ResetCounterSamples, AccumulateSample, - SAMPLES, TimeInfo): Made substantial changes - to the phase-locked loop (replaced an IIR filter with an FIR one) - in a quest for improved loop stability (Bug not logged at SF, but - cited in private communication from Jeff Hobbs). + (ResetCounterSamples, AccumulateSample, SAMPLES, TimeInfo): Made + substantial changes to the phase-locked loop (replaced an IIR filter + with an FIR one) in a quest for improved loop stability (Bug not + logged at SF, but cited in private communication from Jeff Hobbs). 2003-04-11 Don Porter * generic/tclCmdMZ.c (Tcl_StringObjCmd,STR_IS_INT): Corrected - inconsistent results of [string is integer] observed on systems - where sizeof(long) != sizeof(int). [Bug 718878] + inconsistent results of [string is integer] observed on systems where + sizeof(long) != sizeof(int). [Bug 718878] * tests/string.test: Added tests for Bug 718878. - * doc/string.n: Clarified that [string is integer] accepts - 32-bit integers. + * doc/string.n: Clarified that [string is integer] accepts 32-bit + integers. 2003-04-11 Andreas Kupries * generic/tclIO.c (UpdateInterest): When dropping interest in - TCL_READABLE now dropping interest in TCL_EXCEPTION too. This - fixes a bug where Expect detects eof on a file prematurely on - solaris 2.6 and higher. A much more complete explanation is in - the code itself (40 lines of comments for a one-line change :) + TCL_READABLE now dropping interest in TCL_EXCEPTION too. This fixes a + bug where Expect detects eof on a file prematurely on solaris 2.6 and + higher. A much more complete explanation is in the code itself (40 + lines of comments for a one-line change :) 2003-04-11 Vince Darley - * tests/cmdAH.test: fix test suite problem if /home is a symlink - [Bug #703264] - * generic/tclIOUtil.c: fix bad error message with 'cd ""' - [Bug #704917] - * win/tclWinFile.c: - * win/tclWin32Dll.c: - * win/tclWinInt.h: allow Tcl to differentiate between reparse - points which are symlinks and mounted volumes, and correctly - handle the latter. This involves some elaborate code to find - the actual drive letter (if possible) corresponding to a mounted - volume. [Bug #697862] - * tests/fileSystem.test: add constraints to stop tests running - in ordinary tcl interpreter. [Bug #705675] + * tests/cmdAH.test: fix test suite problem if /home is a symlink. [Bug + 703264] + * generic/tclIOUtil.c: fix bad error message with 'cd ""'. [Bug + 704917] + * win/tclWinFile.c, win/tclWin32Dll.c: + * win/tclWinInt.h: allow Tcl to differentiate between reparse points + which are symlinks and mounted volumes, and correctly handle the + latter. This involves some elaborate code to find the actual drive + letter (if possible) corresponding to a mounted volume. [Bug 697862] + * tests/fileSystem.test: add constraints to stop tests running in + ordinary tcl interpreter. [Bug 705675] * generic/tclIOUtil.c: * generic/tclPathObj.c: (new file) * generic/tclFileSystem.h: (new file) * win/makefile.vc: - Split path object handling out of the virtual filesystem layer, - into tclPathObj.c. This refactoring cleans up the internal - filesystem code, and will make any future optimisations and - forthcoming better thread-safety much easier. + Split path object handling out of the virtual filesystem layer, into + tclPathObj.c. This refactoring cleans up the internal filesystem code, + and will make any future optimisations and forthcoming better + thread-safety much easier. * generic/tclTest.c: - * tests/reg.test: added some 'knownBug' tests for problems in - Tcl's regexp code with the TCL_REG_CAN_MATCH flag (see Bug #703709). - Code too impenetrable to fix right now, but a fix is needed - for tip113 to work correctly. + * tests/reg.test: added some 'knownBug' tests for problems in Tcl's + regexp code with the TCL_REG_CAN_MATCH flag (see Bug 703709). Code too + impenetrable to fix right now, but a fix is needed for tip113 to work + correctly. * tests/fCmd.test - * win/tclWinFile.c: added some filesystem optimisation to the - 'glob' implementation, and some new tests. + * win/tclWinFile.c: added some filesystem optimisation to the 'glob' + implementation, and some new tests. * generic/tclCmdMZ.c: fix typo in comment * tests/winFile.test: * tests/ioUtil.test: - * tests/unixFCmd.test: renumbered tests with duplicate numbers. - (Bug #710361) + * tests/unixFCmd.test: renumbered tests with duplicate numbers. [Bug + 710361] 2003-04-10 Donal K. Fellows @@ -2045,8 +1993,8 @@ 2003-04-08 Donal K. Fellows * generic/tclCmdAH.c (Tcl_ErrorObjCmd): Strings are only empty if - they have zero length, not if their first byte is zero, so fix - test guarding Tcl_AddObjErrorInfo to take this into account. [Bug + they have zero length, not if their first byte is zero, so fix test + guarding Tcl_AddObjErrorInfo to take this into account. [Bug reported by Don Porter; no bug-id.] 2003-04-07 Don Porter @@ -2066,58 +2014,56 @@ 2003-04-07 Donal K. Fellows - * tests/dict.test (dict-2.6): + * tests/dict.test (dict-2.6): * generic/tclDictObj.c (Tcl_NewDictObj, Tcl_DbNewDictObj): Oops! Failed to fully initialise the Dict structure. - (DictIncrCmd): Moved valueAlreadyInDictionary label to stop - compiler complaints. [Bug 715751] + (DictIncrCmd): Moved valueAlreadyInDictionary label to stop compiler + complaints. [Bug 715751] * generic/tclDictObj.c (DictIncrCmd): Followed style in the rest of - the core by commenting out wide-specific operations on platforms - where wides are longs, and used longs more thoroughly than ints - through [dict incr] anyway to forestall further bugs. + the core by commenting out wide-specific operations on platforms where + wides are longs, and used longs more thoroughly than ints through + [dict incr] anyway to forestall further bugs. * generic/tclObj.c: Made sure there's always a tclWideIntType - implementation available, not that it is always useful. [Bug 713562] + implementation available, not that it is always useful. [Bug 713562] 2003-04-05 Donal K. Fellows - * generic/tclDictObj.c: Removed commented out notes on - declarations to be moved to elsewhere in the Tcl core. + * generic/tclDictObj.c: Removed commented out notes on declarations to + be moved to elsewhere in the Tcl core. * generic/tclInt.h: Final stages of plumbing in. - * generic/tclBasic.c: - * generic/tclObj.c (TclInitObjSubsystem): + * generic/tclBasic.c: + * generic/tclObj.c (TclInitObjSubsystem): * unix/Makefile.in, win/Makefile.in, win/makefile.[bv]c: Build support. * generic/tcl.decls: Added dict public API to stubs table. - * generic/tcl.h (Tcl_DictSearch): Added declaration of structure - to allow user code to iterate over dictionaries. + * generic/tcl.h (Tcl_DictSearch): Added declaration of structure to + allow user code to iterate over dictionaries. - * doc/DictObj.3: New files containing dictionary - * doc/dict.n: implementation, documentation and tests - * generic/tclDictObj.c: as mandated by TIP #111. + * doc/DictObj.3: New files containing dictionary implementation + * doc/dict.n: documentation and tests as as mandated by TIP + * generic/tclDictObj.c: #111. * tests/dict.test: 2003-04-03 Mo DeJong * unix/configure: - * unix/tcl.m4 (SC_CONFIG_CFLAGS): Don't set - TCL_LIBS if it is already set to support - use of TCL_LIBS var from tclConfig.sh in - the Tk configure script. + * unix/tcl.m4 (SC_CONFIG_CFLAGS): Don't set TCL_LIBS if it is already + set to support use of TCL_LIBS var from tclConfig.sh in the Tk + configure script. 2003-04-03 Mo DeJong - * unix/Makefile.in: Don't subst MATH_LIBS, - LIBS, and DL_LIBS separately. Instead, just - subst TCL_LIBS since it includes the others. + * unix/Makefile.in: Don't subst MATH_LIBS, LIBS, and DL_LIBS + separately. Instead, just subst TCL_LIBS since it includes the + others. * unix/configure: Regen. - * unix/tcl.m4 (SC_CONFIG_CFLAGS, SC_TCL_LINK_LIBS): - Set and subst TCL_LIBS in SC_CONFIG_CFLAGS instead - of SC_TCL_LINK_LIBS. Don't subst MATH_LIBS - since it is now covered by TCL_LIBS. - * unix/tclConfig.sh.in: Use TCL_LIBS instead - of DL_LIBS, LIBS, and MATH_LIBS. + * unix/tcl.m4 (SC_CONFIG_CFLAGS, SC_TCL_LINK_LIBS): Set and subst + TCL_LIBS in SC_CONFIG_CFLAGS instead of SC_TCL_LINK_LIBS. Don't subst + MATH_LIBS since it is now covered by TCL_LIBS. + * unix/tclConfig.sh.in: Use TCL_LIBS instead of DL_LIBS, LIBS, and + MATH_LIBS. * unix/dltest/Makefile.in: Ditto. 2003-04-03 Don Porter @@ -2128,56 +2074,51 @@ 2003-04-02 Mo DeJong * win/configure: Regen. - * win/configure.in: Set stub lib flag based - on new LIBFLAGSUFFIX variable. - * win/tcl.m4 (SC_CONFIG_CFLAGS): Set new - LIBFLAGSUFFIX that works like LIBSUFFIX, - it is used when creating library names. - The previous implementation would generate - -ltclstub85 instead of -ltclstub85s when + * win/configure.in: Set stub lib flag based on new LIBFLAGSUFFIX + variable. + * win/tcl.m4 (SC_CONFIG_CFLAGS): Set new LIBFLAGSUFFIX that works like + LIBSUFFIX, it is used when creating library names. The previous + implementation would generate -ltclstub85 instead of -ltclstub85s when configured with --disable-shared. 2003-04-02 Don Porter * generic/tclParse.c (TclSubstTokens): Moved declaration of - utfCharBytes to beginning of procedure so that it does not go - out of scope (get free()d) while append is still pointing to it. - [Bugs 703167, 713754] + utfCharBytes to beginning of procedure so that it does not go out of + scope (get free()d) while append is still pointing to it. [Bugs + 703167, 713754] 2003-04-01 Mo DeJong * unix/configure: Regen. - * unix/tcl.m4 (SC_CONFIG_CFLAGS): Check for - inet_ntoa in -lbind inside the BeOS block since - doing it later broke the build under SuSE 7.3. + * unix/tcl.m4 (SC_CONFIG_CFLAGS): Check for inet_ntoa in -lbind inside + the BeOS block since doing it later broke the build under SuSE 7.3. [Bug 713128] 2003-04-01 Don Porter * tests/README: Direct [source] of *.test files is no longer - recommended. The tests/*.test files should only be evaluated under - the control of the [runAllTests] command in tests/all.tcl. + recommended. The tests/*.test files should only be evaluated under the + control of the [runAllTests] command in tests/all.tcl. - * generic/tclExecute.c (INST_RETURN): Bytecompiled [return] failed - to reset iPtr->returnCode, causing tests parse-18.17 and parse-18.21 - to fail strangely. + * generic/tclExecute.c (INST_RETURN): Bytecompiled [return] failed to + reset iPtr->returnCode, causing tests parse-18.17 and parse-18.21 to + fail strangely. * tests/parse.test (parse-18.21): Corrected now functioning test. Added further coverage tests. 2003-03-31 Don Porter * tests/parse.test (parse-18.*): Coverage tests for the new - implementation of Tcl_SubstObj(). Note that tests parse-18.17 and + implementation of Tcl_SubstObj(). Note that tests parse-18.17 and parse-18.21 demonstrate some bugs left to fix in the current code. 2003-03-27 Mo DeJong * unix/configure: Regen. - * unix/tcl.m4 (SC_CONFIG_CFLAGS): Use -Wl,--export-dynamic - instead of -rdynamic for LDFLAGS. The -rdynamic is - not documented so it seems better to pass the - --export-dynamic flag to the linker. - [Patch 573395] + * unix/tcl.m4 (SC_CONFIG_CFLAGS): Use -Wl,--export-dynamic instead of + -rdynamic for LDFLAGS. The -rdynamic is not documented so it seems + better to pass the --export-dynamic flag to the linker. [Patch 573395] 2003-03-27 Miguel Sofer @@ -2206,19 +2147,18 @@ 2003-03-26 Mo DeJong * unix/configure: Regen. - * unix/tcl.m4 (SC_CONFIG_CFLAGS, SC_TCL_LINK_LIBS): - Add BeOS system to SC_CONFIG_CFLAGS. Check for - inet_ntoa in -lbind, needed for BeOS. + * unix/tcl.m4 (SC_CONFIG_CFLAGS, SC_TCL_LINK_LIBS): Add BeOS system to + SC_CONFIG_CFLAGS. Check for inet_ntoa in -lbind, needed for BeOS. 2003-03-26 Don Porter * doc/tcltest.n: - * library/tcltest/tcltest.tcl: Added reporting during - [configure -debug 1] operations to warn about multiple uses of - the same test name. [FR 576693] + * library/tcltest/tcltest.tcl: Added reporting during [configure + -debug 1] operations to warn about multiple uses of the same test + name. [FRQ 576693] * tests/msgcat.test (msgcat-2.2.1): changed test name to avoid - duplication. [Bug 710356] + duplication. [Bug 710356] * unix/dltest/pkg?.c: Changed all Tcl_InitStubs calls to pass argument exact = 0, so that rebuilds are not required when Tcl @@ -2228,13 +2168,13 @@ * generic/tclVar.c: * tests/var.test: fixing ObjMakeUpvar's lookup algorithm for the - created local variable, bugs #631741 (Chris Darroch) and #696893 - (David Hilker). + created local variable. [Bug 631741] (Chris Darroch) and [Bug 696893] + (David Hilker) 2003-03-24 Pat Thoyts * library/dde/pkgIndex.tcl: bumped version to 1.2.2 in tclWinDde.c, - now adding here too. + now adding here too. 2003-03-22 Kevin Kenny @@ -2243,20 +2183,19 @@ or [package require registry] attempted to load the release version of the DLL into a debug build. [Bug 708218] Thanks to Joe Mistachkin for the patch. - * win/makefile.vc: Added quoting around the script name in the - 'test' target; Joe Mistachkin insists that he has a configuration - that fails to launch tcltest without it, and it appears harmless - otherwise. + * win/makefile.vc: Added quoting around the script name in the 'test' + target; Joe Mistachkin insists that he has a configuration that fails + to launch tcltest without it, and it appears harmless otherwise. 2003-03-22 Pat Thoyts * win/tclWinDde.c: Make dde services conform the the documentation - such that giving only a topic name really returns all services - with that topic. [Bug 219155] + such that giving only a topic name really returns all services with + that topic. [Bug 219155] Prevent hangup caused by dde server applications failing to process - messages [Bug 707822] - * tests/winDde.test: Corrected labels and added a test for search - by topic name. + messages. [Bug 707822] + * tests/winDde.test: Corrected labels and added a test for search by + topic name. 2003-03-20 Don Porter @@ -2264,30 +2203,30 @@ * generic/tclStubInit.c (tclOriginalNotifier): * mac/tclMacNotify.c (Tcl_SetTimer,Tcl_WaitForEvent): * unix/tclUnixNotfy.c (Tcl_SetTimer,Tcl_WaitForEvent, - Tcl_CreateFileHandler,Tcl_DeleteFileHandler): + (Tcl_CreateFileHandler,Tcl_DeleteFileHandler): * win/tclWinNotify.c (Tcl_SetTimer,Tcl_WaitForEvent): Some linkers apparently use a different representation for a pointer to a function within the same compilation unit and a pointer to a function in a - different compilation unit. This causes checks like those in the - original notifier procedures to fall into infinite loops. The fix - is to store pointers to the original notifier procedures in a struct + different compilation unit. This causes checks like those in the + original notifier procedures to fall into infinite loops. The fix is + to store pointers to the original notifier procedures in a struct defined in the same compilation unit as the stubs tables, and compare - against those values. [Bug 707174] + against those values. [Bug 707174] - * generic/tclInt.h: Removed definition of ParseValue struct that - is no longer used. + * generic/tclInt.h: Removed definition of ParseValue struct that is + no longer used. 2003-03-19 Miguel Sofer * generic/tclCompile.c: - * tests/compile.test: bad command count on TCL_OUT_LINE_COMPILE - [Bug 705406] (Don Porter). + * tests/compile.test: bad command count on TCL_OUT_LINE_COMPILE. + [Bug 705406] (Don Porter) 2003-03-19 Don Porter * library/auto.tcl: Replaced [regexp] and [regsub] with * library/history.tcl: [string map] where possible. Thanks - * library/ldAout.tcl: to David Welton. [Bugs 667456,667558] + * library/ldAout.tcl: to David Welton. [Bugs 667456,667558] * library/safe.tcl: Bumped to http 2.4.3, opt 0.4.5, and * library/http/http.tcl: tcltest 2.2.3. * library/http/pkgIndex.tcl: @@ -2300,67 +2239,64 @@ * unix/mkLinks.tcl: * doc/Eval.3 (Tcl_EvalObjEx): Corrected CONST and - * doc/ParseCmd.3 (Tcl_EvalTokensStandard): return type errors - in documentation. [Bug 683994] + * doc/ParseCmd.3 (Tcl_EvalTokensStandard): return type errors in + documentation. [Bug 683994] * generic/tclCompCmds.c (TclCompileReturnCmd): Alternative fix for * generic/tclCompile.c (INST_RETURN): [Bug 633204] that uses a new * generic/tclCompile.h (INST_RETURN): bytecode INST_RETURN to - * generic/tclExecute.c (INST_RETURN): properly bytecode the - [return] command to something that returns TCL_RETURN. + * generic/tclExecute.c (INST_RETURN): properly bytecode the [return] + command to something that returns TCL_RETURN. 2003-03-18 Mo DeJong * win/configure: Regen. - * win/configure.in: Don't run the AC_CYGWIN - macro since it uses AC_CANONICAL_HOST under - autoconf 2.5X. Just check to see if __CYGWIN__ - is defined by the compiler and set the - ac_cv_cygwin variable based on that. - [Bug 705912] + * win/configure.in: Don't run the AC_CYGWIN macro since it uses + AC_CANONICAL_HOST under autoconf 2.5X. Just check to see if __CYGWIN__ + is defined by the compiler and set the ac_cv_cygwin variable based on + that. [Bug 705912] 2003-03-18 Kevin Kenny - * tests/registry.test: Changed the conditionals to avoid an - abort if [testlocale] is missing, as when running the test in - tclsh rather than tcltest. [Bug #705677] + * tests/registry.test: Changed the conditionals to avoid an abort if + [testlocale] is missing, as when running the test in tclsh rather than + tcltest. [Bug 705677] 2003-03-18 Daniel Steffen * tools/tcltk-man2html.tcl: added support for building 'make html' - from inside distribution directories named with 8.x.x version - numbers. tcltk-man2html now uses the latest tcl8.x.x resp. tk8.x.x - directories found inside its --srcdir argument. + from inside distribution directories named with 8.x.x version numbers. + tcltk-man2html now uses the latest tcl8.x.x resp. tk8.x.x directories + found inside its --srcdir argument. 2003-03-17 Mo DeJong - * tests/format.test: Renumber tests, a bunch of - tests all had the same id. + * tests/format.test: Renumber tests, a bunch of tests all had the same + id. 2003-03-17 Donal K. Fellows * doc/lsearch.n: Altered documentation of -ascii options so - * doc/lsort.n: they don't specify that they operate on - ASCII strings, which they never did - anyway. [Bug #703807] + * doc/lsort.n: they don't specify that they operate on ASCII + strings, which they never did anyway. [Bug + 703807] 2003-03-14 Donal K. Fellows - * generic/tclCmdAH.c (Tcl_FormatObjCmd): Only add the modifier - that indicates we've got a wide int when we're formatting in an - integer style. Stops some libc's from going mad. [Bug #702622] - Also tidied whitespace. + * generic/tclCmdAH.c (Tcl_FormatObjCmd): Only add the modifier that + indicates we've got a wide int when we're formatting in an integer + style. Stops some libc's from going mad. [Bug 702622] Also tidied + whitespace. 2003-03-13 Mo DeJong - * win/tcl.m4 (SC_WITH_TCL): Port version number - fix that was made in tk instead of tcl sources. + * win/tcl.m4 (SC_WITH_TCL): Port version number fix that was made in + tk instead of tcl sources. 2003-03-13 Mo DeJong - Require autoconf 2.57 or newer, see TIP 34 - for a detailed explanation of why this is good. - This will no doubt break the build on some + Require autoconf 2.57 or newer, see TIP 34 for a detailed explanation + of why this is good. This will no doubt break the build on some platforms, let the flaming begin. * tools/configure: Regen with autoconf 2.57. @@ -2371,8 +2307,8 @@ * unix/tcl.m4: Ditto. * win/configure: Regen with autoconf 2.57. * win/configure.in: Require autoconf 2.57. - Don't subst LIBOBJS since this happens by - default, this avoids an autoconf error. + Don't subst LIBOBJS since this happens by default, this avoids an + autoconf error. 2003-03-12 Don Porter @@ -2381,7 +2317,7 @@ * generic/tclCompCmds.c (TclCompileSwitchCmd): * generic/tclCompExpr.c (CompileSubExpr): * generic/tclCompile.c (TclSetByteCodeFromAny,TclCompileScript, - TclCompileTokens,TclCompileCmdWord): + (TclCompileTokens,TclCompileCmdWord): * generic/tclCompile.h (TclCompileScript): * generic/tclExecute.c (TclCompEvalObj): * generic/tclInt.h (Interp,TCL_BRACKET_TERM,TclSubstTokens): @@ -2389,16 +2325,16 @@ * tests/subst.test (2.4, 8.7, 8.8, 11.4, 11.5): Substantial refactoring of Tcl_SubstObj to make use of the same parsing and substitution procedures as normal script evaluation. - Tcl_SubstObj() moved to tclParse.c. New routine TclSubstTokens() - created in tclParse.c which implements all substantial functioning - of Tcl_EvalTokensStandard(). TclCompileScript() loses its - "nested" argument, the Tcl_Interp struct loses its termOffset - field and the TCL_BRACKET_TERM flag in the evalFlags field, all - of which were only used (indirectly) by Tcl_SubstObj(). Tests - subst-8.7,8.8,11.4,11.5 modified to accomodate the only behavior - change: reporting of parse errors now takes precedence over - [return] and [continue] exceptions. All other behavior should - remain compatible. [RFE 536831,684982] [Bug 685106] + Tcl_SubstObj() moved to tclParse.c. New routine TclSubstTokens() + created in tclParse.c which implements all substantial functioning of + Tcl_EvalTokensStandard(). TclCompileScript() loses its "nested" + argument, the Tcl_Interp struct loses its termOffset field and the + TCL_BRACKET_TERM flag in the evalFlags field, all of which were only + used (indirectly) by Tcl_SubstObj(). Tests subst-8.7,8.8,11.4,11.5 + modified to accomodate the only behavior change: reporting of parse + errors now takes precedence over [return] and [continue] exceptions. + All other behavior should remain compatible. [RFE 536831,684982] [Bug + 685106] * generic/tcl.h: Removed TCL_PREFIX_IDENT and TCL_DEBUG_IDENT * win/tclWinPipe.c: from tcl.h -- they are not part of Tcl's @@ -2406,7 +2342,7 @@ * generic/tclInterp.c (Tcl_InterpObjCmd): Corrected and added * tests/interp.test (interp-2.13): test for option - parsing beyond objc for [interp create --]. Thanks to Marco Maggi. + parsing beyond objc for [interp create --]. Thanks to Marco Maggi. [Bug 702383] 2003-03-11 Kevin Kenny @@ -2416,52 +2352,48 @@ 2003-03-09 Kevin Kenny - * generic/tclTest.c (TestChannelCmd): Removed an unused local - variable that caused compilation problems on some platforms. + * generic/tclTest.c (TestChannelCmd): Removed an unused local variable + that caused compilation problems on some platforms. 2003-03-08 Don Porter - * doc/tcltest.n: Added missing "-body" to example. Thanks to - Helmut Giese. [Bug 700011] + * doc/tcltest.n: Added missing "-body" to example. Thanks to Helmut + Giese. [Bug 700011] 2003-03-07 Mo DeJong * tests/io.test: - * tests/ioCmd.test: Define a fcopy constraint and add - it to the constraint list of any test that depends - on the fcopy command. This is only useful to - Jacl which does not support fcopy. + * tests/ioCmd.test: Define a fcopy constraint and add it to the + constraint list of any test that depends on the fcopy command. This is + only useful to Jacl which does not support fcopy. 2003-03-07 Mo DeJong - * tests/encoding.test: Name temp files *.tcltestout - instead of *.out so that when they are removed later, - we don't accidently toast any files named *.out that - the user has created in the build directory. + * tests/encoding.test: Name temp files *.tcltestout instead of *.out + so that when they are removed later, we don't accidently toast any + files named *.out that the user has created in the build directory. 2003-03-07 Donal K. Fellows * generic/tclCmdAH.c (Tcl_FileObjCmd): Fix the setting of a file's - mtime and atime on 64-bit platforms. [Bug #698146] + mtime and atime on 64-bit platforms. [Bug 698146] 2003-03-06 Mo DeJong - * tests/io.test: Doh! Undo accidental commenting - out of a couple of tests. + * tests/io.test: Doh! Undo accidental commenting out of a couple of + tests. 2003-03-06 Mo DeJong - * tests/io.test: Define a fileevent constraint and add - it to the constraint list of any test that depends - on the fileevent command. This is only useful to - Jacl which does not support fileevent. + * tests/io.test: Define a fileevent constraint and add it to the + constraint list of any test that depends on the fileevent command. + This is only useful to Jacl which does not support fileevent. 2003-03-06 Mo DeJong - * tests/io.test: Define an openpipe constraint and add - it to the constraint list of any test that creates - a pipe using the open command. This is only useful to - Jacl which does not support pipes. + * tests/io.test: Define an openpipe constraint and add it to the + constraint list of any test that creates a pipe using the open + command. This is only useful to Jacl which does not support pipes. 2003-03-06 Don Porter @@ -2472,72 +2404,57 @@ 2003-03-06 Kevin Kenny * generic/tclCompCmds.c (TclCompileSwitchCmd): - Replaced a non-portable 'bzero' with a portable 'memset'. - [Bug 698442]. + Replaced a non-portable 'bzero' with a portable 'memset'. [Bug 698442] 2003-03-06 Mo DeJong - * generic/tclIO.c (Tcl_Seek, Tcl_OutputBuffered): - If there is data buffered in the statePtr->curOutPtr - member then set the BUFFER_READY flag in Tcl_Seek. - This is needed so that the next call to FlushChannel - will write any buffered bytes before doing the seek. - The existing code would set the BUFFER_READY flag - inside the Tcl_OutputBuffered function. This was a - programming error made when Tcl_OutputBuffered - was originally created in CVS revision 1.35. The - setting of the BUFFER_READY flag should not have - been included in the Tcl_OutputBuffered function. - * generic/tclTest.c (TestChannelCmd): Use the - Tcl_InputBuffered and Tcl_OutputBuffered - util methods to query the amount of buffered - input and output. + * generic/tclIO.c (Tcl_Seek, Tcl_OutputBuffered): If there is data + buffered in the statePtr->curOutPtr member then set the BUFFER_READY + flag in Tcl_Seek. This is needed so that the next call to FlushChannel + will write any buffered bytes before doing the seek. The existing code + would set the BUFFER_READY flag inside the Tcl_OutputBuffered + function. This was a programming error made when Tcl_OutputBuffered + was originally created in CVS revision 1.35. The setting of the + BUFFER_READY flag should not have been included in the + Tcl_OutputBuffered function. + * generic/tclTest.c (TestChannelCmd): Use the Tcl_InputBuffered and + Tcl_OutputBuffered util methods to query the amount of buffered input + and output. 2003-03-06 Mo DeJong - * generic/tclIO.c (Tcl_Flush): Compare the - nextAdded member of the ChannelBuffer to the - nextRemoved member to determine if any output - has been buffered. The previous check against - the value 0 seems to have just been a coding - error. See other methods like Tcl_OutputBuffered - for examples where nextAdded is compared to - nextRemoved to find the number of bytes buffered. + * generic/tclIO.c (Tcl_Flush): Compare the nextAdded member of the + ChannelBuffer to the nextRemoved member to determine if any output has + been buffered. The previous check against the value 0 seems to have + just been a coding error. See other methods like Tcl_OutputBuffered + for examples where nextAdded is compared to nextRemoved to find the + number of bytes buffered. 2003-03-06 Mo DeJong - * generic/tclIO.c (Tcl_GetsObj): Check that - the eol pointer has not gone past the end - of the string when in auto translation - mode and the INPUT_SAW_CR flag is set. - The previous code worked because the - end of string value \0 was being compared - to \n, this patch just skips that pointless - check. + * generic/tclIO.c (Tcl_GetsObj): Check that the eol pointer has not + gone past the end of the string when in auto translation mode and the + INPUT_SAW_CR flag is set. The previous code worked because the end of + string value \0 was being compared to \n, this patch just skips that + pointless check. 2003-03-06 Mo DeJong - * generic/tclIO.c (WriteBytes, WriteChars, - Tcl_GetsObj, ReadBytes): Rework calls to - TranslateOutputEOL to make it clear that - a boolean value is being returned. - Add some comments in an effort to make - the code more clear. This patch makes - no functional changes. + * generic/tclIO.c (WriteBytes, WriteChars, Tcl_GetsObj, ReadBytes): + Rework calls to TranslateOutputEOL to make it clear that a boolean + value is being returned. Add some comments in an effort to make the + code more clear. This patch makes no functional changes. 2003-03-06 Mo DeJong - * generic/tclIO.c (Tcl_SetChannelOption): - Invoke the Tcl_SetChannelBufferSize method - as a result of changing the -buffersize - option to fconfigure. The previous - implementation used some inlined code that - reset the buffer size to the default size - instead of ignoring the request as - implemented in Tcl_SetChannelBufferSize. - * tests/io.test: Update test case so that - it actually checks the implementation of + * generic/tclIO.c (Tcl_SetChannelOption): Invoke the + Tcl_SetChannelBufferSize method as a result of changing the + -buffersize option to fconfigure. The previous implementation used + some inlined code that reset the buffer size to the default size + instead of ignoring the request as implemented in Tcl_SetChannelBufferSize. + * tests/io.test: Update test case so that it actually checks the + implementation of Tcl_SetChannelBufferSize. 2003-03-05 David Gravereaux @@ -2546,17 +2463,17 @@ 2003-03-05 Donal K. Fellows * generic/tclCompCmds.c (TclCompileSwitchCmd): First attempt at a - bytecode-compiled switch command. It only handles the most common - case of switching, but that should be enough for this to speed up - a lot of people's code. It is expected that the speed gains come - from two things: better handling of the switch itself, and - integrated compilation of the arms instead of embedding separate - bytecode sequences (i.e. better local variable handling.) + bytecode-compiled switch command. It only handles the most common case + of switching, but that should be enough for this to speed up a lot of + people's code. It is expected that the speed gains come from two + things: better handling of the switch itself, and integrated + compilation of the arms instead of embedding separate bytecode + sequences (i.e. better local variable handling.) * tests/switch.test (switch-10.*): Tests of both uncompiled and compiled switch behaviour. [Patch #644819] - * generic/tclCompile.h (TclFixupForwardJumpToHere): Additional - macro to make the most common kind of jump fixup a bit easier. + * generic/tclCompile.h (TclFixupForwardJumpToHere): Additional macro + to make the most common kind of jump fixup a bit easier. 2003-03-04 Don Porter @@ -2589,16 +2506,16 @@ 2003-03-03 Daniel Steffen Mac OS Classic specific fixes: - * generic/tclIOUtil.c (TclNewFSPathObj): on TCL_PLATFORM_MAC, - skip potential directory separator at the beginning of addStrRep. - * mac/tclMacChan.c (OpenFileChannel, CommonWatch): followup - fixes to cut and splice implementation for file channels. + * generic/tclIOUtil.c (TclNewFSPathObj): on TCL_PLATFORM_MAC, skip + potential directory separator at the beginning of addStrRep. + * mac/tclMacChan.c (OpenFileChannel, CommonWatch): followup fixes to + cut and splice implementation for file channels. * mac/tclMacFile.c (TclpUtime): pass native path to utime(). - * mac/tclMacFile.c (TclpObjLink): correctly implemented creation - of alias files via new static proc CreateAliasFile(). + * mac/tclMacFile.c (TclpObjLink): correctly implemented creation of + alias files via new static proc CreateAliasFile(). * mac/tclMacPort.h: define S_ISLNK macro to fix stat'ing of links. - * mac/tclMacUtil.c (FSpLocationFromPathAlias): fix to enable - stat'ing of broken links. + * mac/tclMacUtil.c (FSpLocationFromPathAlias): fix to enable stat'ing + of broken links. 2003-03-03 Kevin Kenny @@ -2618,8 +2535,8 @@ * win/configure: * win/configure.in: check for 'g' for debug build type, not 'd'. - * win/rules.vc (DBGX): correct to use 'g' for nmake win makefile - to match the cygwin makefile for debug builds. [Bug #635107] + * win/rules.vc (DBGX): correct to use 'g' for nmake win makefile to + match the cygwin makefile for debug builds. [Bug 635107] 2003-02-28 Vince Darley @@ -2630,14 +2547,14 @@ * generic/tclIOUtil.c (MakeFsPathFromRelative): removed dead code check of typePtr (darley). - * tests/winTime.test: added note about PCI hardware dependency - issues with high performance clock. + * tests/winTime.test: added note about PCI hardware dependency issues + with high performance clock. 2003-02-27 Donal K. Fellows - * tests/lsearch.test (lsearch-10.7): - * generic/tclCmdIL.c (Tcl_LsearchObjCmd): Stopped -start option - from causing an option when used with an empty list. [Bug #694232] + * tests/lsearch.test (lsearch-10.7): + * generic/tclCmdIL.c (Tcl_LsearchObjCmd): Stopped -start option from + causing an option when used with an empty list. [Bug 694232] 2003-02-26 Chengye Mao @@ -2648,21 +2565,20 @@ 2003-02-26 Jeff Hobbs - * generic/tclCmdMZ.c (TraceCommandProc): Fix mem leak when - deleting a command that had trace on it. [Bug #693564] (sofer) + * generic/tclCmdMZ.c (TraceCommandProc): Fix mem leak when deleting a + command that had trace on it. [Bug 693564] (sofer) 2003-02-25 Don Porter * doc/pkgMkIndex.n: Modified [pkg_mkIndex] to use -nocase matching - * library/package.tcl: of -load patterns, to better accomodate - common user errors due to confusion between [package names] names - and [info loaded] names. + * library/package.tcl: of -load patterns, to better accomodate common + user errors due to confusion between [package names] names and [info + loaded] names. 2003-02-25 Andreas Kupries - * tests/pid.test: See below [Bug #678412]. - * tests/io.test: Made more robust against spaces in paths - [Bug #678400]. + * tests/pid.test: See below [Bug 678412]. + * tests/io.test: Made more robust against spaces in paths [Bug 678400] 2003-02-25 Miguel Sofer @@ -2671,13 +2587,13 @@ 2003-02-22 Zoran Vasiljevic - * generic/tclEvent.c (Tcl_FinalizeThread): Fix [Bug #571002] + * generic/tclEvent.c (Tcl_FinalizeThread): Fix [Bug 571002] 2003-02-21 Donal K. Fellows - * tests/binary.test (binary-44.[34]): + * tests/binary.test (binary-44.[34]): * generic/tclBinary.c (ScanNumber): Fixed problem with unwanted - sign-bit propagation when scanning wide ints. [Bug #690774] + sign-bit propagation when scanning wide ints. [Bug 690774] 2003-02-21 Daniel Steffen @@ -2686,16 +2602,16 @@ 2003-02-21 Don Porter - * library/package.tcl (tclPkgUnknown): Minor performance tweaks - to reduce the number of [file] invocations. Meant to improve - startup times, at least a little bit. [Patch 687906] + * library/package.tcl (tclPkgUnknown): Minor performance tweaks to + reduce the number of [file] invocations. Meant to improve startup + times, at least a little bit. [Patch 687906] 2003-02-20 Daniel Steffen * unix/tcl.m4: - * unix/tclUnixPipe.c: (macosx) use vfork() instead of fork() to - create new processes, as recommended by Apple (vfork can be up to - 100 times faster thank fork on macosx). + * unix/tclUnixPipe.c: (macosx) use vfork() instead of fork() to create + new processes, as recommended by Apple (vfork can be up to 100 times + faster thank fork on macosx). * unix/configure: regen. 2003-02-20 Jeff Hobbs @@ -2703,53 +2619,52 @@ * generic/tclEncoding.c (LoadTableEncoding): * library/encoding/cp932.enc: Correct jis round-trip encoding * library/encoding/euc-jp.enc: by adding 'R' type to .enc files. - * library/encoding/iso2022-jp.enc: [Patch #689341] (koboyasi, taguchi) + * library/encoding/iso2022-jp.enc: [Patch 689341] (koboyasi, taguchi) * library/encoding/jis0208.enc: * library/encoding/shiftjis.enc: * tests/encoding.test: * unix/tclUnixChan.c (Tcl_MakeTcpClientChannel): add - MakeTcpClientChannelMode that takes actual mode flags to avoid - hang on OS X (may be OS X bug, but patch works x-plat). - [Bug #689835] (steffen) + MakeTcpClientChannelMode that takes actual mode flags to avoid hang on + OS X (may be OS X bug, but patch works x-plat). [Bug 689835] (steffen) 2003-02-20 Donal K. Fellows - * doc/regsub.n: Typo fix [Bug #688943] + * doc/regsub.n: Typo fix [Bug 688943] 2003-02-19 Jeff Hobbs * unix/tclUnixThrd.c (TclpReaddir): - * unix/tclUnixPort.h: update to Bug 689100 patch to ensure that - there is a defined value of MAXNAMLEN (aka NAME_MAX in POSIX) and - that we have some buffer allocated. + * unix/tclUnixPort.h: update to Bug 689100 patch to ensure that there + is a defined value of MAXNAMLEN (aka NAME_MAX in POSIX) and that we + have some buffer allocated. 2003-02-19 Daniel Steffen - * generic/tclStringObj.c: restored Tcl_SetObjLength() side-effect - of always invalidating unicode rep (if the obj has a string rep). - Added hasUnicode flag to String struct, allows decoupling of - validity of unicode rep from buffer size allocated to it (improves - memory allocation efficiency). [Bugs #686782, #671138, #635200] + * generic/tclStringObj.c: restored Tcl_SetObjLength() side-effect of + always invalidating unicode rep (if the obj has a string rep). Added + hasUnicode flag to String struct, allows decoupling of validity of + unicode rep from buffer size allocated to it (improves memory + allocation efficiency). [Bugs 686782, 671138, 635200] * macosx/Tcl.pbproj/project.pbxproj: * macosx/Makefile: reworked embedded build to no longer require relinking but to use install_name_tool instead to change the - install_names for embedded frameworks. [Bug #644510] + install_names for embedded frameworks. [Bug 644510] - * macosx/Tcl.pbproj/project.pbxproj: preserve mod dates when - running 'make install' to build framework (avoids bogus rebuilds - of dependent frameworks because tcl headers appear changed). + * macosx/Tcl.pbproj/project.pbxproj: preserve mod dates when running + 'make install' to build framework (avoids bogus rebuilds of dependent + frameworks because tcl headers appear changed). - * tests/ioCmd.test (iocmd-1.8): fix failure when system encoding - is utf-8: use iso8859-1 encoding explicitly. + * tests/ioCmd.test (iocmd-1.8): fix failure when system encoding is + utf-8: use iso8859-1 encoding explicitly. 2003-02-18 Miguel Sofer - * generic/tclCompile.c (TclCompileExprWords): remove unused - variable "range" [Bug 664743] - * generic/tclExecute.c (ExprSrandFunc): remove unused - variable "result" [Bug 664743] + * generic/tclCompile.c (TclCompileExprWords): remove unused variable + "range" [Bug 664743] + * generic/tclExecute.c (ExprSrandFunc): remove unused variable + "result" [Bug 664743] * generic/tclStringObj.c (UpdateStringOfString): remove unused variable "length" [Bug 664751] * tests/execute.test (execute-7.30): fix for [Bug 664775] @@ -2757,9 +2672,9 @@ 2003-02-18 Andreas Kupries * unix/tcl.m4: [Bug #651811] Added definition of _XOPEN_SOURCE and - linkage of 'xnet' library to HP 11 branch. This kills a lot of - socket-related failures in the testsuite when Tcl was compiled - in 64 bit mode (both PA-RISC 2.0W, and IA 64). + linkage of 'xnet' library to HP 11 branch. This kills a lot of + socket-related failures in the testsuite when Tcl was compiled in 64 + bit mode (both PA-RISC 2.0W, and IA 64). * unix/configure: Regenerated. @@ -2767,25 +2682,24 @@ * generic/tclIO.c (HaveVersion): correctly decl static - * unix/tclUnixThrd.c (TclpReaddir): reduce size of name string in - tsd to NAME_MAX instead of PATH_MAX. [Bug #689100] (waters) + * unix/tclUnixThrd.c (TclpReaddir): reduce size of name string in tsd + to NAME_MAX instead of PATH_MAX. [Bug 689100] (waters) 2003-02-18 Mo DeJong * unix/configure: Regen. - * unix/tcl.m4 (SC_ENABLE_THREADS): Make sure - -lpthread gets passed on the link line when - checking for the pthread_attr_setstacksize symbol. + * unix/tcl.m4 (SC_ENABLE_THREADS): Make sure -lpthread gets passed on + the link line when checking for the pthread_attr_setstacksize symbol. 2003-02-18 Vince Darley - * generic/tclTest.c: cleanup of new 'simplefs' test code, and - better documentation. + * generic/tclTest.c: cleanup of new 'simplefs' test code, and better + documentation. 2003-02-17 Miguel Sofer * generic/tclBasic.c (TclRenameCommand): fixing error in previous - commit. + commit. 2003-02-17 Jeff Hobbs @@ -2794,24 +2708,22 @@ * generic/tclUtf.c (TclUniCharMatch): * generic/tclInt.decls: add private TclUniCharMatch function that * generic/tclIntDecls.h: does string match on counted unicode - * generic/tclStubInit.c: strings. Tcl_UniCharCaseMatch has the - * tests/string.test: failing that it can't handle strings or - * tests/stringComp.test: patterns with embedded NULLs. Added - tests that actually try strings/pats with NULLs. TclUniCharMatch - should be TIPed and made public in the next minor version rev. + * generic/tclStubInit.c: strings. Tcl_UniCharCaseMatch has the failing + * tests/string.test: that it can't handle strings or patterns with + * tests/stringComp.test: embedded NULLs. Added tests that actually try + strings/pats with NULLs. TclUniCharMatch should be TIPed and made + public in the next minor version rev. 2003-02-17 Miguel Sofer - * generic/tclBasic.c (TclRenameCommand): 'oldFullName' object was - not being freed on all function exits, causing a memory leak - [Bug 684756] + * generic/tclBasic.c (TclRenameCommand): 'oldFullName' object was not + being freed on all function exits, causing a memory leak. [Bug 684756] 2003-02-17 Mo DeJong - * generic/tclIO.c (Tcl_GetsObj): Minor change - so that eol is only assigned at the top of the - TCL_TRANSLATE_AUTO case block. The other cases - assign eol so this does not change any functionality. + * generic/tclIO.c (Tcl_GetsObj): Minor change so that eol is only + assigned at the top of the TCL_TRANSLATE_AUTO case block. The other + cases assign eol so this does not change any functionality. 2003-02-17 Kevin Kenny @@ -2829,23 +2741,23 @@ * tests/misc.test (1.2): * tests/parse.test (6.18): * tests/parseExpr.test (15.35): - * tests/subst.test (8.6): Don Porter's fix for bad parsing of - nested scripts [Bug 681841]. + * tests/subst.test (8.6): Don Porter's fix for bad parsing of nested + scripts. [Bug 681841] 2003-02-15 Kevin Kenny - * tests/notify.test (new-file): + * tests/notify.test (new-file): * generic/tclTest.c (TclTest_Init, EventtestObjCmd, EventtestProc, - EventTestDeleteProc): - * generic/tclNotify.c (Tcl_DeleteEvents): Fixed Tcl_DeleteEvents - not to get a pointer smash when deleting the last event in the - queue. Added test code in 'tcltest' and a new file of test cases - 'notify.test' to exercise this functionality; several of the new - test cases fail for the original code and pass for the corrected - code. [Bug 673714] + (EventTestDeleteProc): + * generic/tclNotify.c (Tcl_DeleteEvents): Fixed Tcl_DeleteEvents not + to get a pointer smash when deleting the last event in the queue. + Added test code in 'tcltest' and a new file of test cases + 'notify.test' to exercise this functionality; several of the new test + cases fail for the original code and pass for the corrected code. [Bug + 673714] - * unix/tclUnixTest.c (TestfilehandlerCmd): Corrected a couple - of typos in error messages. [Bug 596027] + * unix/tclUnixTest.c (TestfilehandlerCmd): Corrected a couple of typos + in error messages. [Bug 596027] 2003-02-14 Jeff Hobbs @@ -2867,40 +2779,38 @@ 2003-02-14 Kevin Kenny - * win/tclWinTime.c: Added code to test and compensate for - forward leaps of the performance counter. See the MSDN Knowledge - Base article Q274323 for the hardware problem that makes this - necessary on certain machines. - * tests/winTime.test: Revised winTime-2.1 - it had a tolerance - of thousands of seconds, rather than milliseconds. (What's six - orders of magnitude among friends? - Both the above changes are triggered by a problem reported at + * win/tclWinTime.c: Added code to test and compensate for forward + leaps of the performance counter. See the MSDN Knowledge Base article + Q274323 for the hardware problem that makes this necessary on certain + machines. + * tests/winTime.test: Revised winTime-2.1 - it had a tolerance of + thousands of seconds, rather than milliseconds. (What's six orders of + magnitude among friends?) Both the above changes are triggered by a + problem reported at: http://aspn.activestate.com/ASPN/Mail/Message/ActiveTcl/1536811 - although the developers find it difficult to believe that it - accounts for the observed behavior and suspect a fault in the - RTC chip. + although the developers find it difficult to believe that it accounts + for the observed behavior and suspect a fault in the RTC chip. 2003-02-13 Kevin Kenny - * win/tclWinInit.c: Added conversion from the system encoding - to tcl_platform(user), so that it works with non-ASCII7 user names. - [Bug 685926] + * win/tclWinInit.c: Added conversion from the system encoding to + tcl_platform(user), so that it works with non-ASCII7 user names. [Bug + 685926] * doc/tclsh.1: Added language to describe the handling of the - end-of-file character \u001a embedded in a script file. - [Bug 685485] + end-of-file character \u001a embedded in a script file. [Bug 685485] 2003-02-11 Vince Darley * tests/fileName.test: - * unix/tclUnixFile.c: fix for [Bug 685445] when using 'glob -l' - on broken symbolic links. Added two new tests for this bug. + * unix/tclUnixFile.c: fix for [Bug 685445] when using 'glob -l' on + broken symbolic links. Added two new tests for this bug. 2003-02-11 Kevin Kenny - * tests/http.test: Corrected a problem where http-4.14 would fail - when run in an environment with a proxy server. Replaced references - to scriptics.com by tcl.tk. + * tests/http.test: Corrected a problem where http-4.14 would fail when + run in an environment with a proxy server. Replaced references to + scriptics.com by tcl.tk. 2003-02-11 Jeff Hobbs @@ -2909,47 +2819,44 @@ that lsearch -regepx list and pattern objects are equal. * tests/stringObj.test: - * generic/tclStringObj.c (Tcl_GetCharLength): correct ascii char - opt of 2002-11-11 to not stop early on \x00. [Bug #684699] + * generic/tclStringObj.c (Tcl_GetCharLength): correct ascii char opt + of 2002-11-11 to not stop early on \x00. [Bug 684699] * tests.parse.test: remove excess EOF whitespace - * generic/tclParse.c (CommandComplete): more paranoid check to - break on (p >= end) instead of just (p == end). + * generic/tclParse.c (CommandComplete): more paranoid check to break + on (p >= end) instead of just (p == end). 2003-02-11 Miguel Sofer - * generic/tclParse.c (CommandComplete): + * generic/tclParse.c (CommandComplete): * tests/parse.test: fix for [Bug 684744], by Don Porter. 2003-02-11 Jeff Hobbs - * generic/tclIOUtil.c (Tcl_FSJoinPath, Tcl_FSGetNormalizedPath): + * generic/tclIOUtil.c (Tcl_FSJoinPath, Tcl_FSGetNormalizedPath): (UpdateStringOfFsPath): revert the cwdLen == 0 check and instead follow a different code path in Tcl_FSJoinPath. (Tcl_FSConvertToPathType, Tcl_FSGetNormalizedPath): - (Tcl_FSGetFileSystemForPath): Update string rep of path objects - before freeing the internal object. (darley) + (Tcl_FSGetFileSystemForPath): Update string rep of path objects before + freeing the internal object. (darley) * tests/fileSystem.test: added test 8.3 - * generic/tclIOUtil.c (Tcl_FSGetNormalizedPath): - (UpdateStringOfFsPath): handle the cwdLen == 0 case + * generic/tclIOUtil.c (Tcl_FSGetNormalizedPath): + (UpdateStringOfFsPath): handle the cwdLen == 0 case - * unix/tclUnixFile.c (TclpMatchInDirectory): simplify the hidden - file match check. + * unix/tclUnixFile.c (TclpMatchInDirectory): simplify the hidden file + match check. 2003-02-10 Mo DeJong * win/configure: - * win/configure.in: Generate error when attempting - to build under Cygwin. The Cygwin port of Tcl/Tk - does not build and people are filing bug reports - under the mistaken impression that someone is - actually maintaining the Cygwin port. A post to - comp.lang.tcl asking someone to volunteer as an - area maintainer has generated no results. - Closing bugs 680840, 630199, and 634772 and - marking as "Won't fix". + * win/configure.in: Generate error when attempting to build under + Cygwin. The Cygwin port of Tcl/Tk does not build and people are filing + bug reports under the mistaken impression that someone is actually + maintaining the Cygwin port. A post to comp.lang.tcl asking someone to + volunteer as an area maintainer has generated no results. Closing bugs + 680840, 630199, and 634772 and marking as "Won't fix". 2003-02-10 Donal K. Fellows @@ -2963,17 +2870,16 @@ * tests/fileSystem.test: * unix/tclUnixFCmd.c: * unix/tclUnixFile.c: - * win/tclWinFile.c: further filesystem optimization, applying - [Patch 682500]. In particular, these code examples are - faster now: - foreach f $flist { if {[file exists $f]} {file stat $f arr;...}} - foreach f [glob -dir $dir *] { # action and/or recursion on $f } - cd $dir - foreach f [glob *] { # action and/or recursion on $f } - cd .. - - * generic/tclTest.c: Fix for [Bug 683181] where test suite - left files in 'tmp'. + * win/tclWinFile.c: further filesystem optimization, applying [Patch + 682500]. In particular, these code examples are faster now: + foreach f $flist { if {[file exists $f]} {file stat $f arr;...}} + foreach f [glob -dir $dir *] { # action and/or recursion on $f } + cd $dir + foreach f [glob *] { # action and/or recursion on $f } + cd .. + + * generic/tclTest.c: Fix for [Bug 683181] where test suite left files + in 'tmp'. 2003-02-08 Jeff Hobbs @@ -2985,58 +2891,52 @@ * win/tclWinFile.c: sped up pure 'glob' by a factor of 2.5 ('foreach f [glob *] { file exists $f }' is still slow) * tests/fileSystem.text: - * tests/fileName.test: added new tests to ensure correct - behaviour in optimized filesystem code. + * tests/fileName.test: added new tests to ensure correct behaviour in + optimized filesystem code. 2003-02-07 Vince Darley * generic/tclTest.c: - * tests/fileSystem.text: fixed test 7.2 to avoid a possible - crash, and not change the pwd. + * tests/fileSystem.text: fixed test 7.2 to avoid a possible crash, and + not change the pwd. - * tests/http.text: added comment to test 4.15, that it may - fail if you use a proxy server. + * tests/http.text: added comment to test 4.15, that it may fail if you + use a proxy server. 2003-02-06 Mo DeJong * generic/tclCompCmds.c (TclCompileIncrCmd): - * tests/incr.test: Don't include the text - "(increment expression)" in the errorInfo - generated by the compiled version of the - incr command since it does not match the - message generated by the non-compiled version - of incr. It is also not possible to match - this error output under Jacl, which does - not support a compiler. + * tests/incr.test: Don't include the text "(increment expression)" in + the errorInfo generated by the compiled version of the incr command + since it does not match the message generated by the non-compiled + version of incr. It is also not possible to match this error output + under Jacl, which does not support a compiler. 2003-02-06 Mo DeJong - * generic/tclExecute.c (TclExecuteByteCode): When an - error is encountered reading the increment value during - a compiled call to incr, add a "(reading increment)" - error string to the errorInfo variable. This makes - the errorInfo variable set by the compiled incr command - match the value set by the non-compiled version. - * tests/incr-old.test: Change errorInfo result for - the compiled incr command case to match the modified - implementation. - * tests/incr.test: Add tests to make sure the compiled - and non-compiled errorInfo messages are the same. + * generic/tclExecute.c (TclExecuteByteCode): When an error is + encountered reading the increment value during a compiled call to + incr, add a "(reading increment)" error string to the errorInfo + variable. This makes the errorInfo variable set by the compiled incr + command match the value set by the non-compiled version. + * tests/incr-old.test: Change errorInfo result for the compiled incr + command case to match the modified implementation. + * tests/incr.test: Add tests to make sure the compiled and + non-compiled errorInfo messages are the same. 2003-02-06 Don Porter * library/tcltest/tcltest.tcl: Filename arguments to [outputChannel] and [errorChannel] (also -outfile and -errfile) were [open]ed but - never [closed]. Also, [cleanupTests] could remove output or error - files. [Bug 676978]. + never [closed]. Also, [cleanupTests] could remove output or error + files. [Bug 676978]. * library/tcltest/pkgIndex.tcl: Bumped to version 2.2.2. 2003-02-05 Mo DeJong * tests/interp.test: - * tests/set-old.test: Run test cases that depend - on hash order through lsort so that the tests - also pass under Jacl. Does not change test + * tests/set-old.test: Run test cases that depend on hash order through + lsort so that the tests also pass under Jacl. Does not change test results under Tcl. 2003-02-04 Vince Darley @@ -3050,172 +2950,158 @@ * win/tclWinFCmd.c: * win/tclWinInit.c: * win/tclWinInt.h: - * tests/fileSystem.test: fix to finalization/unloading/encoding - issues to make filesystem much less dependent on encodings for - its cleanup, and therefore allow it to be finalized later in the - exit process. This fixes fileSystem.test-7.1. Also fixed one - more bug in setting of modification dates of files which have - undergone cross-platform copies. [Patch 676271] + * tests/fileSystem.test: fix to finalization/unloading/encoding issues + to make filesystem much less dependent on encodings for its cleanup, + and therefore allow it to be finalized later in the exit process. This + fixes fileSystem.test-7.1. Also fixed one more bug in setting of + modification dates of files which have undergone cross-platform + copies. [Patch 676271] * tests/basic.test: * tests/exec.test: * tests/fileName.test: - * tests/io.test: fixed some test failures when tests are run - from a directory containing spaces. + * tests/io.test: fixed some test failures when tests are run from a + directory containing spaces. * tests/fileSystem.test: - * generic/tclTest.c: added regression test for the modification - date setting of cross-platform file copies. + * generic/tclTest.c: added regression test for the modification date + setting of cross-platform file copies. 2003-02-03 Kevin Kenny * generic/tclBasic.c: Changed [trace add command] so that 'rename' - callbacks get fully qualified names of the command. [Bug - 651271]. ***POTENTIAL INCOMPATIBILITY*** - * tests/trace.test: Modified the test cases for [trace add - command] to expect fully qualified names on the 'rename' - callbacks. Added a case for renaming a proc within a namespace. - * doc/trace.n: Added language about use of fully qualified names - in trace callbacks. + callbacks get fully qualified names of the command. [Bug 651271]. + ***POTENTIAL INCOMPATIBILITY*** + * tests/trace.test: Modified the test cases for [trace add command] to + expect fully qualified names on the 'rename' callbacks. Added a case + for renaming a proc within a namespace. + * doc/trace.n: Added language about use of fully qualified names in + trace callbacks. 2003-02-01 Kevin Kenny * generic/tclCompCmds.c: Removed an unused variable that caused compiler warnings on SGI. [Bug 664379] - * generic/tclLoad.c: Changed the code so that if Tcl_StaticPackage - is called to report the same package as being loaded in two interps, - it shows up in [info loaded {}] in both of them (previously, - it didn't appear in the static package list in the second. + * generic/tclLoad.c: Changed the code so that if Tcl_StaticPackage is + called to report the same package as being loaded in two interps, it + shows up in [info loaded {}] in both of them (previously, it didn't + appear in the static package list in the second). - * tests/load.test Added regression test for the above bug. - [Bug 670042] + * tests/load.test Added regression test for the above bug. [Bug + 670042] - * generic/tclClock.c: Fixed a bug that incorrectly allowed - [clock clicks {}] and [clock clicks -] to be accepted as if - they were [clock clicks -milliseconds]. + * generic/tclClock.c: Fixed a bug that incorrectly allowed [clock + clicks {}] and [clock clicks -] to be accepted as if they were [clock + clicks -milliseconds]. - * tests/clock.test: Added regression tests for the above bug. - [Bug 675356] + * tests/clock.test: Added regression tests for the above bug. [Bug + 675356] - * tests/unixNotfy.test: Added cleanup of working files - [Bug 675609] + * tests/unixNotfy.test: Added cleanup of working files. [Bug 675609] * doc/Tcl.n: Added headings to the eleven paragraphs, to improve formatting in the tools that attempt to extract tables of contents from the manual pages. [Bug 627455] - * generic/tclClock.c: Expanded mutex protection around the setting - of env(TZ) and the thread-unsafe call to tzset(). [Bug 656660] + * generic/tclClock.c: Expanded mutex protection around the setting of + env(TZ) and the thread-unsafe call to tzset(). [Bug 656660] 2003-01-31 Don Porter * tests/tcltest.test: Cleaned up management of file/directory - creation/deletion to improve "-debug 1" output. [Bug 675614] + creation/deletion to improve "-debug 1" output. [Bug 675614] The utility [slave] command failed to properly [list]-quote a constructed [open] command, causing failure when the pathname - contained whitespace. [Bug 678415] + contained whitespace. [Bug 678415] - * tests/main.test: Stopped main.test from deleting existing file. - Test suite should not delete files that already exist. [Bug 675660] + * tests/main.test: Stopped main.test from deleting existing file. Test + suite should not delete files that already exist. [Bug 675660] 2003-01-28 Don Porter - * tests/main.test: Constrain tests that do not work on Windows. - [Bug 674387] + * tests/main.test: Constrain tests that do not work on Windows. [Bug + 674387] 2003-01-28 Vince Darley - * generic/tclIOUtil.c: fix to setting modification date - in TclCrossFilesystemCopy. Also added 'panic' in - Tcl_FSGetFileSystemForPath under illegal calling circumstances - which lead to hard-to-track-down bugs. + * generic/tclIOUtil.c: fix to setting modification date in + TclCrossFilesystemCopy. Also added 'panic' in + Tcl_FSGetFileSystemForPath under illegal calling circumstances which + lead to hard-to-track-down bugs. - * generic/tclTest.c: added test suite code to allow - exercising a vfs-crash-on-exit bug in Tcl's finalization caused - by the encodings being cleaned up before unloading occurs. - * tests/fileSystem.test: added new 'knownBug' test 7.1 - to demonstrate the crash on exit. + * generic/tclTest.c: added test suite code to allow exercising a + vfs-crash-on-exit bug in Tcl's finalization caused by the encodings + being cleaned up before unloading occurs. + * tests/fileSystem.test: added new 'knownBug' test 7.1 to demonstrate + the crash on exit. 2003-01-28 Mo DeJong - * generic/tcl.h: Add TCL_PREFIX_IDENT and - TCL_DEBUG_IDENT, used only by TclpCreateProcess. + * generic/tcl.h: Add TCL_PREFIX_IDENT and TCL_DEBUG_IDENT, used only + by TclpCreateProcess. * unix/Makefile.in: Define TCL_DBGX. * win/Makefile.in: Define TCL_DBGX. - * win/tclWinPipe.c (TclpCreateProcess): - Check that the Tcl pipe dll actually exists - in the Tcl bin directory and panic if it - is not found. Incorporate TCL_DBGX into - the Tcl pipe dll name. This fixes a really - mysterious error that would show up when - exec'ing a 16 bit application under Win95 - or Win98 when Tcl was compiled with symbols. - The error seemed to indicate that the executable - could not be found, but it was actually the - Tcl pipe dll that could not be found. + * win/tclWinPipe.c (TclpCreateProcess): Check that the Tcl pipe dll + actually exists in the Tcl bin directory and panic if it is not found. + Incorporate TCL_DBGX into the Tcl pipe dll name. This fixes a really + mysterious error that would show up when exec'ing a 16 bit application + under Win95 or Win98 when Tcl was compiled with symbols. The error + seemed to indicate that the executable could not be found, but it was + actually the Tcl pipe dll that could not be found. 2003-01-26 Mo DeJong - * win/README: Update msys+mingw URL to release 6. - This version bundles gcc 3. + * win/README: Update msys+mingw URL to release 6. This version bundles + gcc 3. 2003-01-26 Mo DeJong * win/configure: Regen. - * win/configure.in: Add test that checks to - see if the compiler can cast to a union type. - * win/tclWinTime.c: Squelch compiler warning - about union initializer by casting to union - type when compiling with gcc. + * win/configure.in: Add test that checks to see if the compiler can + cast to a union type. + * win/tclWinTime.c: Squelch compiler warning about union initializer + by casting to union type when compiling with gcc. 2003-01-25 Mo DeJong - * generic/tclIO.c (Tcl_CutChannel, Tcl_SpliceChannel): - Invoke TclpCutFileChannel and TclpSpliceFileChannel. - * generic/tclInt.h: Declare TclpCutFileChannel - and TclpSpliceFileChannel. + * generic/tclIO.c (Tcl_CutChannel, Tcl_SpliceChannel): Invoke + TclpCutFileChannel and TclpSpliceFileChannel. + * generic/tclInt.h: Declare TclpCutFileChannel and + TclpSpliceFileChannel. * unix/tclUnixChan.c (FileCloseProc, TclpOpenFileChannel, - Tcl_MakeFileChannel, TclpCutFileChannel, - TclpSpliceFileChannel): Implement thread load data - cut and splice for file channels. This avoids - an invalid memory ref when compiled with -DDEPRECATED. + (Tcl_MakeFileChannel, TclpCutFileChannel, TclpSpliceFileChannel): + Implement thread load data cut and splice for file channels. This + avoids an invalid memory ref when compiled with -DDEPRECATED. * win/tclWinChan.c (FileCloseProc, TclpCutFileChannel, - TclpSpliceFileChannel): Implement thread load data - cut and splice for file channels. This avoids - an invalid memory ref that was showing up in the - thread extension. + (TclpSpliceFileChannel): Implement thread load data cut and splice for + file channels. This avoids an invalid memory ref that was showing up + in the thread extension. 2003-01-25 Mo DeJong * win/tclWin32Dll.c (TclpCheckStackSpace, squelch_warnings): * win/tclWinChan.c (Tcl_MakeFileChannel, squelch_warnings): * win/tclWinFCmd.c (DoRenameFile, DoCopyFile, squelch_warnings): - Re-implement inline ASM SEH handlers for gcc. - The esp and ebp registers are now saved on the - stack instead of in global variables so that - the code is thread safe. Add additional checks - when TCL_MEM_DEBUG is defined to be sure the - values were recovered from the stack properly. - Remove squelch_warnings functions and add - a dummy call in the handler methods to squelch - compiler warnings. + Re-implement inline ASM SEH handlers for gcc. The esp and ebp + registers are now saved on the stack instead of in global variables so + that the code is thread safe. Add additional checks when TCL_MEM_DEBUG + is defined to be sure the values were recovered from the stack + properly. Remove squelch_warnings functions and add a dummy call in + the handler methods to squelch compiler warnings. 2003-01-25 Mo DeJong * win/configure: - * win/configure.in: Define HAVE_ALLOCA_GCC_INLINE - when we detect that no alloca function is found - in malloc.h and we are compiling with GCC. + * win/configure.in: Define HAVE_ALLOCA_GCC_INLINE when we detect that + no alloca function is found in malloc.h and we are compiling with GCC. Remove HAVE_NO_ALLOC_DECL define. - * win/tclWin32Dll.c (TclpCheckStackSpace): - Don't define alloca as a cdecl function. - Doing this caused a tricky runtime bug because - the _alloca function expects the size argument - to be passed in a register and not on the stack. - To fix this problem, we use inline ASM when - compiling with gcc to invoke _alloca with the - size argument loaded into a register. + * win/tclWin32Dll.c (TclpCheckStackSpace): Don't define alloca as a + cdecl function. Doing this caused a tricky runtime bug because the + _alloca function expects the size argument to be passed in a register + and not on the stack. To fix this problem, we use inline ASM when + compiling with gcc to invoke _alloca with the size argument loaded + into a register. 2003-01-24 Jeff Hobbs @@ -3223,57 +3109,53 @@ (DdeServerProc): better refcount handling of returnPackagePtr. * generic/tclEvent.c (Tcl_Finalize): revert finalize change on - 2002-12-04 to correct the issue with extensions that have TSD - needing to finalize that before they are unloaded. This issue - needs further clarification. + 2002-12-04 to correct the issue with extensions that have TSD needing + to finalize that before they are unloaded. This issue needs further + clarification. * tests/unixFCmd.test: only do groups check on unix 2003-01-24 Vince Darley - * generic/tclStringObj.c: proper fixes for Tcl_SetObjLength and - Tcl_AttemptSetObjectLength dealing with string objects with - both pure-unicode and normal internal representations. - Previous fix didn't handle all cases correctly. - * generic/tclIO.c: Add 'Tcl_GetString()' to ensure the object has - a valid 'objPtr->bytes' field before manipulating it directly. + * generic/tclStringObj.c: proper fixes for Tcl_SetObjLength and + Tcl_AttemptSetObjectLength dealing with string objects with both + pure-unicode and normal internal representations. Previous fix didn't + handle all cases correctly. + * generic/tclIO.c: Add 'Tcl_GetString()' to ensure the object has a + valid 'objPtr->bytes' field before manipulating it directly. This fixes [Bug 635200] and [Bug 671138], but may reduce performance - of Unicode string handling in some cases. A further patch will - be applied to address this, once the code is known to be correct. + of Unicode string handling in some cases. A further patch will be + applied to address this, once the code is known to be correct. 2003-01-24 Mo DeJong * win/configure: Regen. - * win/configure.in: Add test to see if alloca - is undefined in malloc.h. - * win/tclWin32Dll.c (TclpCheckStackSpace): Rework - the SEH exception handler logic to avoid using - the stack since alloca will modify the stack. - This was causing a nasty bug that would set the - exception handler to 0 because it tried to pop - the previous exception handler off the top of - the stack. + * win/configure.in: Add test to see if alloca is undefined in + malloc.h. + * win/tclWin32Dll.c (TclpCheckStackSpace): Rework the SEH exception + handler logic to avoid using the stack since alloca will modify the + stack. This was causing a nasty bug that would set the exception + handler to 0 because it tried to pop the previous exception handler + off the top of the stack. 2003-01-23 Donal K. Fellows - * doc/lset.n: Fixed fault in return values from lset in - documentation examples [SF Bug #658463] and tidied up a bit at the - same time. + * doc/lset.n: Fixed fault in return values from lset in documentation + examples [SF Bug #658463] and tidied up a bit at the same time. 2003-01-21 Joe English + * doc/namespace.n (namespace inscope): Clarified documentation - [SF Patch #670110] + [Patch 670110] 2003-01-21 Mo DeJong * win/configure: Regen. - * win/tcl.m4 (SC_CONFIG_CFLAGS): Set SHLIB_SUFFIX - so that TCL_SHLIB_SUFFIX will be set to a useful - value in the generated tclConfig.sh. - Set SHLIB_LD_LIBS to "" or '${LIBS}' based on - the --enable-shared flag. This matches the - UNIX implementation. + * win/tcl.m4 (SC_CONFIG_CFLAGS): Set SHLIB_SUFFIX so that + TCL_SHLIB_SUFFIX will be set to a useful value in the generated + tclConfig.sh. Set SHLIB_LD_LIBS to "" or '${LIBS}' based on the + --enable-shared flag. This matches the UNIX implementation. 2003-01-18 Jeff Hobbs @@ -3281,158 +3163,139 @@ 2003-01-17 Mo DeJong - * win/tclWinDde.c (DdeServerProc): Deallocate - the Tcl_Obj returned by ExecuteRemoteObject - if it was not saved in a connection object. + * win/tclWinDde.c (DdeServerProc): Deallocate the Tcl_Obj returned by + ExecuteRemoteObject if it was not saved in a connection object. 2003-01-17 Mo DeJong - * generic/tcl.h: Revert earlier change that - defined TCL_WIDE_INT_TYPE as long long and - TCL_LL_MODIFIER as L when compiling with - mingw. This change ended up causing some - test case failures when compiling with mingw. - * generic/tclObj.c (UpdateStringOfWideInt): - Describe the warning generated by mingw and - why it needs to be ignored so that someone - is not tempted to "fix" this problem again - in the future. + * generic/tcl.h: Revert earlier change that defined TCL_WIDE_INT_TYPE + as long long and TCL_LL_MODIFIER as L when compiling with mingw. This + change ended up causing some test case failures when compiling with + mingw. + * generic/tclObj.c (UpdateStringOfWideInt): Describe the warning + generated by mingw and why it needs to be ignored so that someone is + not tempted to "fix" this problem again in the future. 2003-01-16 Vince Darley - * generic/tclStringObj.c: Tcl_SetObjLength fix for when - the object has a unicode string rep. Fixes [Bug 635200] - * tests/stringObj.test: removed 'knownBug' constraint from - test 14.1 now that this bug is fixed. + * generic/tclStringObj.c: Tcl_SetObjLength fix for when the object has + a unicode string rep. [Bug 635200] + * tests/stringObj.test: removed 'knownBug' constraint from test 14.1 + now that this bug is fixed. * generic/tclInt.h: * generic/tclBasic.c: * generic/tclCmdMZ.z: * tests/trace.test: execution and command tracing bug fixes and - cleanup. In particular fixed [Bug 655645], [Bug 615043], - [Bug 571385] - - fixed some subtle cleanup problems with tracing. This - required replacing Tcl_Preserve/Tcl_Release with a more - robust refCount approach. Solves at least one known crash - caused by memory corruption. - - fixed some confusion in the code between new style traces - (Tcl 8.4) and the very limited 'Tcl_CreateTrace' which existed - before. - - made behaviour consistent with documentation (several - tests even contradicted the documentation before). + cleanup. In particular fixed [Bug 655645], [Bug 615043], [Bug 571385] + - fixed some subtle cleanup problems with tracing. This required + replacing Tcl_Preserve/Tcl_Release with a more robust refCount + approach. Solves at least one known crash caused by memory + corruption. + - fixed some confusion in the code between new style traces (Tcl + 8.4) and the very limited 'Tcl_CreateTrace' which existed before. + - made behaviour consistent with documentation (several tests even + contradicted the documentation before). - fixed some minor error message details - added a number of new tests 2003-01-16 Jeff Hobbs - * win/tclWinSerial.c (SerialOutputProc): add casts for - bytesWritten to allow strict compilation (no warnings). + * win/tclWinSerial.c (SerialOutputProc): add casts for bytesWritten to + allow strict compilation (no warnings). * tests/winDde.test: - * win/tclWinDde.c (Tcl_DdeObjCmd): Prevent crash when empty - service name is passed to 'dde eval' and goto errorNoResult in - request and poke error cases to free up any allocated data. + * win/tclWinDde.c (Tcl_DdeObjCmd): Prevent crash when empty service + name is passed to 'dde eval' and goto errorNoResult in request and + poke error cases to free up any allocated data. 2003-01-16 Mo DeJong - * win/tclWin32Dll.c (squelch_warnings): Squelch - compiler warnings from SEH ASM code. - * win/tclWinChan.c (squelch_warnings): Squelch - compiler warnings from SEH ASM code. - * win/tclWinDde.c: Add casts to avoid compiler - warnings. Pass pointer to DWORD instead of int - to avoid compiler warnings. - * win/tclWinFCmd.c (squelch_warnings): Add casts - and fixup decls to avoid compiler warnings. - Squelch compiler warnings from SEH ASM code. - * win/tclWinFile.c: Add casts and fixup decls - to avoid compiler warnings. Remove unused variable. - * win/tclWinNotify.c: Declare as DWORD instead - of int to avoid compiler warning. - * win/tclWinReg.c: Add casts to avoid compiler - warning. Fix assignment in if expression bug. - * win/tclWinSerial.c: Add casts to avoid compiler + * win/tclWin32Dll.c (squelch_warnings): Squelch compiler warnings from + SEH ASM code. + * win/tclWinChan.c (squelch_warnings): Squelch compiler warnings from + SEH ASM code. + * win/tclWinDde.c: Add casts to avoid compiler warnings. Pass pointer + to DWORD instead of int to avoid compiler warnings. + * win/tclWinFCmd.c (squelch_warnings): Add casts and fixup decls to + avoid compiler warnings. Squelch compiler warnings from SEH ASM code. + * win/tclWinFile.c: Add casts and fixup decls to avoid compiler warnings. Remove unused variable. - * win/tclWinSock.c: Add casts and fixup decls - to avoid compiler warnings. + * win/tclWinNotify.c: Declare as DWORD instead of int to avoid + compiler warning. + * win/tclWinReg.c: Add casts to avoid compiler warning. Fix assignment + in if expression bug. + * win/tclWinSerial.c: Add casts to avoid compiler warnings. Remove + unused variable. + * win/tclWinSock.c: Add casts and fixup decls to avoid compiler + warnings. 2003-01-14 Jeff Hobbs - * generic/tclClock.c (FormatClock): corrected typo that - incorrectly conditionally defined savedTZEnv and savedTimeZone. + * generic/tclClock.c (FormatClock): corrected typo that incorrectly + conditionally defined savedTZEnv and savedTimeZone. 2003-01-13 Mo DeJong Fix mingw build problems and compiler warnings. - * generic/tcl.h: Add if defined(__MINGW32__) - check to code that sets the TCL_WIDE_INT_TYPE - and TCL_LL_MODIFIER. - * generic/tclClock.c (FormatClock): Don't - define savedTimeZone and savedTZEnv if - we are not going to use them. + * generic/tcl.h: Add if defined(__MINGW32__) check to code that sets + the TCL_WIDE_INT_TYPE and TCL_LL_MODIFIER. + * generic/tclClock.c (FormatClock): Don't define savedTimeZone and + savedTZEnv if we are not going to use them. * generic/tclEnv.c: Add cast to avoid warning. - * win/tclWinChan.c: Use DWORD instead of int - to avoid compiler warning. - * win/tclWinThrd.c: Only define allocLock, - allocLockPtr, and dataKey when TCL_THREADS - is defined. This avoid a compiler warning - about unused variables. + * win/tclWinChan.c: Use DWORD instead of int to avoid compiler warning + * win/tclWinThrd.c: Only define allocLock, allocLockPtr, and dataKey + when TCL_THREADS is defined. This avoid a compiler warning about + unused variables. 2003-01-12 Mo DeJong - * win/README: Update msys + mingw URL, the - new release includes the released 1.0.8 - version of msys which includes a number - of bug fixes. + * win/README: Update msys + mingw URL, the new release includes the + released 1.0.8 version of msys which includes a number of bug fixes. 2003-01-12 Mo DeJong * win/configure: Regen. - * win/tcl.m4 (SC_CONFIG_CFLAGS): Pull in - addition of shell32.lib to LIBS_GUI that - was added to the Tk tcl.m4 but never made - it back into the Tcl version. + * win/tcl.m4 (SC_CONFIG_CFLAGS): Pull in addition of shell32.lib to + LIBS_GUI that was added to the Tk tcl.m4 but never made it back into + the Tcl version. 2003-01-12 Mo DeJong - * generic/tcl.h: Skip Tcl's define of CHAR, - SHORT, and LONG when HAVE_WINNT_IGNORE_VOID - is defined. This avoids a bunch of compiler + * generic/tcl.h: Skip Tcl's define of CHAR, SHORT, and LONG when + HAVE_WINNT_IGNORE_VOID is defined. This avoids a bunch of compiler warnings when building with Cygwin or Mingw. * win/configure: Regen. - * win/configure.in: Define HAVE_WINNT_IGNORE_VOID - when we detect a winnt.h that still defines - CHAR, SHORT, and LONG when VOID has already + * win/configure.in: Define HAVE_WINNT_IGNORE_VOID when we detect a + winnt.h that still defines CHAR, SHORT, and LONG when VOID has already been defined. - * win/tcl.m4 (SC_LOAD_TCLCONFIG): Subst the - TCL_DEFS loaded from tclConfig.sh so that - Tcl defines can make it into the Tk Makefile. + * win/tcl.m4 (SC_LOAD_TCLCONFIG): Subst the TCL_DEFS loaded from + tclConfig.sh so that Tcl defines can make it into the Tk Makefile. 2003-01-12 Mo DeJong * win/configure: Regen. - * win/configure.in: Check for typedefs like LPFN_ACCEPT - in winsock2.h and define HAVE_NO_LPFN_DECLS if not found. - * win/tclWinSock.c: Define LPFN_* typedefs if - HAVE_NO_LPFN_DECLS is defined. This fixes the build - under Mingw and Cygwin, it was broken by the changes - made on 2002-11-26. + * win/configure.in: Check for typedefs like LPFN_ACCEPT in winsock2.h + and define HAVE_NO_LPFN_DECLS if not found. + * win/tclWinSock.c: Define LPFN_* typedefs if HAVE_NO_LPFN_DECLS is + defined. This fixes the build under Mingw and Cygwin, it was broken by + the changes made on 2002-11-26. 2003-01-10 Vince Darley * generic/tclIOUtil.c: * win/tclWinInt.h: * win/tclWinInit.c: fix to new WinTcl crash on exit with vfs, - introduced on 2002-12-06. Encodings must be cleaned up after - the filesystem. + introduced on 2002-12-06. Encodings must be cleaned up after the + filesystem. * win/makefile.vc: fix to minor VC++ 5.2 syntax problem 2003-01-09 Don Porter * generic/tclCompCmds.c (TclCompileReturnCmd): Corrected off-by-one - problem with recent commit. [Bug 633204] + problem with recent commit. [Bug 633204] 2003-01-09 Vince Darley @@ -3445,40 +3308,38 @@ * mac/tclMacFile.c: * win/tclWinFile.c: * win/tclWinInt.h: - * win/tclWin32Dll.c: - * tests/cmdAH.test: fix to non-ascii chars in paths when - setting mtime and atime through 'file (a|m)time $path $time' - [Bug 634151] + * win/tclWin32Dll.c: + * tests/cmdAH.test: fix to non-ascii chars in paths when setting mtime + and atime through 'file (a|m)time $path $time'. [Bug 634151] 2003-01-08 Don Porter - * generic/tclExecute.c (TclExprFloatError): Use the IS_NAN macro - for greater clarity of code. + * generic/tclExecute.c (TclExprFloatError): Use the IS_NAN macro for + greater clarity of code. 2003-01-07 Don Porter - * generic/tclCompCmds.c (TclCompileReturnCmd): - * tests/compile.test: Corrects failure of bytecompiled - [catch {return}] to have result TCL_RETURN (not TCL_OK) [Bug 633204]. - This patch is a workaround for 8.4.X. A new opcode INST_RETURN is a - better long term solution for 8.5 and later. + * generic/tclCompCmds.c (TclCompileReturnCmd): + * tests/compile.test: Corrects failure of bytecompiled [catch + {return}] to have result TCL_RETURN (not TCL_OK) [Bug 633204]. This + patch is a workaround for 8.4.X. A new opcode INST_RETURN is a better + long term solution for 8.5 and later. 2003-01-04 David Gravereaux * win/makefile.vc: - * win/rules.vc: Fixed INSTALLDIR macro problem that blanked itself - by accident causing the install target to put the tree at the root - of the drive built on. Whoops.. - - Renamed the 'linkexten' option to be 'staticpkg'. Added 'thrdalloc' - to allow the switching _on_ of the thread allocator. Under testing, - I found it not to be benificial under windows for the purpose of the - application I was using it for. It was more important for this app + * win/rules.vc: Fixed INSTALLDIR macro problem that blanked itself by + accident causing the install target to put the tree at the root of the + drive built on. Whoops.. + + Renamed the 'linkexten' option to be 'staticpkg'. Added 'thrdalloc' to + allow the switching _on_ of the thread allocator. Under testing, I + found it not to be benificial under windows for the purpose of the + application I was using it for. It was more important for this app that resources for tcl threads be returned to the system rather than - saved/moved to the global recycler. Be extra clean or extra fast - for the default threaded build? Let's move to clean and allow it to - be switched on for users who find it benificial for their use of - threads. + saved/moved to the global recycler. Be extra clean or extra fast for + the default threaded build? Let's move to clean and allow it to be + switched on for users who find it benificial for their use of threads. ****************************************************************** *** CHANGELOG ENTRIES FOR 2002 IN "ChangeLog.2002" *** diff --git a/ChangeLog.2004 b/ChangeLog.2004 index c179e13..82acd5c 100644 --- a/ChangeLog.2004 +++ b/ChangeLog.2004 @@ -15,9 +15,9 @@ * library/clock.tcl: Added code to interpret correctly months outside the range 01-12 as reduced modulo 12 with a corresponding adjustment to the year. [Bug 1092789] - * tests/clock.test: Added regression test cases for the above two bugs. + * tests/clock.test: Added regression test cases for the above two bugs * unix/Makefile.in: Added --no-lines to the 'bison' command line to - * win/Makefile.in: help constrain the number of diffs in a cvs checkin + * win/Makefile.in: help constrain the number of diffs in a cvs checkin 2004-12-24 Miguel Sofer @@ -28,7 +28,7 @@ * generic/tclLiteral.c: * generic/tclProc.c: Avoid sharing cmdName literals accross namespaces, and generalise - usage of the TclRegisterNewLiteral macro [Patch 1090905] + usage of the TclRegisterNewLiteral macro. [Patch 1090905] 2004-12-20 Miguel Sofer @@ -423,7 +423,7 @@ * unix/configure: Regenerated. * unix/tclUnixNotfy.c: Corrected all uses of 'select' to manage their masks using the FD_CLR, FD_ISSET, FD_SET, and FD_ZERO macros rather - than bit-whacking that failed under Solaris-Sparc-64. [Bug 1071807] + than bit-whacking that failed under Solaris-Sparc-64. [Bug 1071807] * win/tclWinInit.c (TclpInitLibraryPath): Removed unused vars 'pathc' and 'pathv' that caused compilation problems on VC++ with --enable-symbols. @@ -431,7 +431,7 @@ 2004-11-24 Don Porter * unix/tcl.m4 (SC_ENABLE_THREADS): Corrected failure to determine the - number of arguments for readdir_r on SunOS systems. [Bug 1071701] + number of arguments for readdir_r on SunOS systems. [Bug 1071701] * unix/configure: autoconf-2.57 @@ -457,10 +457,9 @@ 2004-11-22 Mo DeJong * unix/configure: Regen. - * unix/tcl.m4 (SC_TCL_64BIT_FLAGS): Define HAVE_TYPE_OFF64_T - only when off64_t, open64(), and lseek64() are defined. - IRIX 5.3 is known to not include an open64 function. - [Bug 1030465] + * unix/tcl.m4 (SC_TCL_64BIT_FLAGS): Define HAVE_TYPE_OFF64_T only when + off64_t, open64(), and lseek64() are defined. IRIX 5.3 is known to not + include an open64 function. [Bug 1030465] 2004-11-22 Mo DeJong @@ -496,7 +495,7 @@ 2004-11-19 Don Porter - * doc/AddErrInfo.3: Docs for Tcl_(Get|Set)ReturnOptions. [TIP 227] + * doc/AddErrInfo.3: Docs for Tcl_(Get|Set)ReturnOptions. [TIP 227] * doc/AddErrInfo.3: * doc/Async.3: Documentation updates to replace references @@ -558,7 +557,7 @@ 2004-11-17 Don Porter * unix/configure.in: The change below reveals that the public data - type Tcl_StatBuf relies on config information. For now, disabled the + type Tcl_StatBuf relies on config information. For now, disabled the use of the tclConfig.h file until its full impact on Tcl's interface can be assessed. @@ -771,7 +770,7 @@ 2004-11-05 Donal K. Fellows * tests/reg.test: Major reorganization so that this file is much - easier for a normal Tcl maintainer to comprehend. The test flags are + easier for a normal Tcl maintainer to comprehend. The test flags are still very cryptic, but they appear to have to be that way. The number of skipped tests has increased, but now the skipped tests have much more meaningful content. @@ -807,7 +806,7 @@ * generic/tclPlatDecls.h: Proto for Tcl_Main moved in tcl.h * win/tclWinPort.h: to prior the inclusion of the Stubs headers as they are now resetting TCL_STORAGE_CLASS. Removed - extraineous reset from tclWinPort.h. [Patch 1055668] + extraineous reset from tclWinPort.h. [Patch 1055668] * generic/tclCompile.h: Removed extrainious reset of TCL_STORAGE_CLASS missed in my last edit. @@ -846,8 +845,8 @@ * library/tcltest/tcltest.tcl: Corrected some misleading * tests/tcltest.test (tcltest-26.1,2): displays of ::errorInfo and ::errorCode information when the -setup, -body, and/or -cleanup scripts - return an unexpected return code. Thanks to Robert Seeger for the - fix. [RFE 1017151]. + return an unexpected return code. Thanks to Robert Seeger for the fix. + [RFE 1017151]. 2004-11-02 Donal K. Fellows @@ -975,7 +974,7 @@ * generic/tclInt.decls: The following 9 functions were moved from * generic/tclInt.h: tclInt.h to the private/int Stubs table for - * generic/tclIntDecls.h: use by the test suite. As tclTest.obj is + * generic/tclIntDecls.h: use by the test suite. As tclTest.obj is * generic/tclStubInit.c: linked to the shell, these functions need "blessed" status so as to always be exported from the library. Being placed in the Stubs table guarantees this [Bug 1054748]: @@ -988,9 +987,9 @@ * tests/registry.test: Fixed test files to load the correct * tests/winDde.test: registry and dde packages by using the info * win/Makefile.in: from makefiles to tell tcltest where to load - * win/makefile.vc: them from. This avoids grabbing the wrong + * win/makefile.vc: them from. This avoids grabbing the wrong package from $auto_path which might be the install point rather than - the dev location. Kudos to Jennifer Hom for adding -load and + the dev location. Kudos to Jennifer Hom for adding -load and -loadfile to the tcltest package. [Bug 926088] * win/tclWinThrd.c (TclFinalizeLock): release the critical section @@ -1001,7 +1000,7 @@ function prototypes have the proper extern usage already. * unix/tclAppInit.c: When built as tcltest, TclThread_Init was - * win/tclAppInit.c: getting called twice. First by Tcltest_Init, + * win/tclAppInit.c: getting called twice. First by Tcltest_Init, then again in Tcl_AppInit. The call from Tcl_AppInit is now removed. 2004-10-27 Andreas Kupries @@ -1034,12 +1033,12 @@ 2004-10-26 Don Porter - * generic/tclParse.c (Tcl_SubstObj): Fix for failed subst-12.3 test. + * generic/tclParse.c (Tcl_SubstObj): Fix for failed subst-12.3 test * tests/subst.test (subst-12.3-5): More tests for Bug 1036649. * unix/Makefile.in (install-libraries): Updated the installation of the http, msgcat, and tcltest packages to install as Tcl Modules on - Unix systems. Other platform Makefiles still need updating. [Patch + Unix systems. Other platform Makefiles still need updating. [Patch 1054370] * tests/basic.test: Added missing constraints. @@ -1086,7 +1085,7 @@ needed for protection because routines like Tcl_SetErrorCode() and Tcl_AddErrorInfo() can no longer re-enter bytecode execution. - * generic/tclResult.c (TclProcessReturn): Bug fix. Be sure that a + * generic/tclResult.c (TclProcessReturn): Bug fix. Be sure that a missing -errorinfo option when code == TCL_ERROR causes the errorInfo field to get reset. @@ -1215,8 +1214,8 @@ * generic/tclThreadTest.c (ThreadEventProc): Corrected subtle bug where the returned (char *) from Tcl_GetStringResult(interp) continued to be used without copying or refcounting, while activity on the - interp continued. That's not safe, and recent changes demonstrated - the lack of safety with failing tests thread-4.3 and thread-4.5. + interp continued. That's not safe, and recent changes demonstrated the + lack of safety with failing tests thread-4.3 and thread-4.5. 2004-10-19 Donal K. Fellows @@ -1675,7 +1674,7 @@ 2004-09-23 Don Porter * generic/tclBasic.c: Corrections to the 2004-09-21 commit - * generic/tclExecute.c: regarding ERR_ALREADY_LOGGED. That commit + * generic/tclExecute.c: regarding ERR_ALREADY_LOGGED. That commit * generic/tclNamesp.c: caused Tk test send-10.7 to fail. Added * tests/namespace.test (25.7,8): tests in the Tcl test suite * tests/pkg.test (2.25,26): to catch this error without the aid @@ -1881,13 +1880,13 @@ month was scanned incorrectly in -timezone :localtime. * tests/clock.test (clock-34.*,clock-40.1, clock-41.1): Adjusted the clock-34.* test cases so that the consistency check is performed in - :localtime rather than the current time zone. This change allows + :localtime rather than the current time zone. This change allows dealing with issues where the C library has a different idea of DST conversion than Tcl. (Real fix would be to break TclGetDate into separate parser and time converter, and do the time conversion in - clock.tcl. That's for another day.) Added regression test case for - the bug where month was scanned incorrectly in -timezone :localtime. - [Bug 1023779] Added regression test case for %k at the zero hour. + clock.tcl. That's for another day.) Added regression test case for the + bug where month was scanned incorrectly in -timezone :localtime. [Bug + 1023779] Added regression test case for %k at the zero hour. 2004-09-07 David Gravereaux @@ -1901,7 +1900,7 @@ 1023870] * generic/tclTimer.c: Removed a premature optimisation that attempted to store the assoc data in the client data; the optimisation caused a - bug that [after] would overwrite its imports. [Bug 1016167] + bug that [after] would overwrite its imports. [Bug 1016167] * library/clock.tcl (InitTZData, ClearCaches): Changed so that the in-memory time zone :UTC (and its aliases) always gets reinitialised, in case tzdata is absent. [Bug 1019537, 1023779] @@ -1910,7 +1909,7 @@ the 'system' locale tests fail on a non-English Windows machine. [Bug 1023761]. Added a test to make sure that alias time zones load correctly. [Bug 1023779]. - * tests/timer.test (timer-1.1, timer-2.1): Changed to (one hopes!) be + * tests/timer.test (timer-1.1, timer-2.1): Changed to (one hopes!) be more resilient on an overloaded system, if [after 200] sleeps for 300 ms or longer. * tools/tclZIC.tcl (writeLinks): Corrected a problem where alias time @@ -2012,7 +2011,7 @@ * tests/timer.test (timer-10.1): Test for Bug 1016167. * generic/tclTimer.c: Workaround for situation when a [namespace import] causes the objv[0] value to be something other than what - Tcl_AfterObjCmd expects. [Bug 1016167]. + Tcl_AfterObjCmd expects. [Bug 1016167]. 2004-08-25 Donal K. Fellows @@ -2026,7 +2025,7 @@ * generic/tclProc.c: The routine TclProcInterpProc was a * generic/tclTestProcBodyObj.c: specific instance of the general - service already provided by TclObjInvokeProc. Removed + service already provided by TclObjInvokeProc. Removed TclProcInterpProc and TclGetInterpProc from the code... * generic/tclInt.decls: ...and from the internal stubs table. @@ -2117,7 +2116,7 @@ interpreter is now an alias to the [clock] command in the master, and that [clock] is otherwise not expected to function entirely correctly in safe interps. C code that simply does Tcl_MakeSafe needs to be - aware that [clock] may need special handling. (It appears unlikely + aware that [clock] may need special handling. (It appears unlikely that such code actually exists.) One incompatibility of note is that if the time zone cannot be @@ -2188,7 +2187,7 @@ * tests/safe.test (safe-2.1): Disabled senseless test. [Bug 999612] * library/auto.tcl (auto_reset): Removed "protected" list of commands - from [auto_reset]. All entries in the auto_index can be re-loaded. + from [auto_reset]. All entries in the auto_index can be re-loaded. * library/package.tcl: Updated comment to reflect 2004-07-28 commit. * generic/tclEvent.c (Tcl_Finalize): Re-organized Tcl_Finalize so @@ -2244,7 +2243,7 @@ * generic/tclLiteral.c (TclCleanupLiteralTable): * generic/tclInt.h: added a TclCleanupLiteralTable function, called from DeleteInterpProc, that frees internal representations of shared - literals early when an interpreter is being deleted. This change + literals early when an interpreter is being deleted. This change corrects a number of memory mismanagement issues in the cases where the internal representation of one literal contains a reference to another, and avoids conditions such as resolved variable names @@ -2286,7 +2285,7 @@ * unix/Makefile.in, unix/tcl.m4: move (C|LD)FLAGS after their * unix/configure.in, unix/configure: _DEFAULT to allow for env setting - to override m4 switches. Move SC_MISSING_POSIX_HEADERS up and + to override m4 switches. Move SC_MISSING_POSIX_HEADERS up and consolidate calls to limit redundancy in configure. (CFLAGS_WARNING): Remove -Wconversion (SC_ENABLE_THREADS): Set m4 to force threaded build when built against @@ -2586,7 +2585,7 @@ * generic/tclThreadStorage.c: Corrected type casting errors that led to calculation of a negative index value, thus accesses outside the - threadStorageCache array, thus memory corruption. Crash observed on + threadStorageCache array, thus memory corruption. Crash observed on Mac OS X platform. 2004-06-23 Joe Mistachkin @@ -2690,7 +2689,7 @@ * generic/tclEncoding.c: Static TclFindEncodings -> FindEncodings. * generic/tclInt.h: Updated TclpFindExecutable() so that failed * generic/tclUtil.c: attempts to find the executable are saved - * unix/tclUnixFile.c: just as successful finds are. [Patch 966053] + * unix/tclUnixFile.c: just as successful finds are. [Patch 966053] * unix/tclUnixTest.c: 2004-06-18 Kevin B. Kenny @@ -2891,7 +2890,7 @@ 2004-06-01 David Gravereaux * win/makefile.vc: check for either MSDEVDIR or MSVCDIR being in the - environment, for VC7. [Bug 942214] + environment, for VC7. [Bug 942214] * generic/tclIO.c (Tcl_SetChannelOption): -buffersize wasn't understanding hexidecimal notation nor was reporting number conversion @@ -2975,17 +2974,17 @@ 2004-05-26 Don Porter * library/tcltest/tcltest.tcl: Correction to debug prints and testing - * library/tcltest/pkgIndex.tcl: if TCLTEST_OPTIONS value. Corrected + * library/tcltest/pkgIndex.tcl: if TCLTEST_OPTIONS value. Corrected * tests/tcltest.test: double increment of numTestFiles in - -singleproc 1 configurations. Updated tcltest-19.1 to tcltest 2.1 - behavior. Corrected tcltest-25.3 to not falsely report a failure - in tcltest.test. Bumped to tcltest 2.2.6. [Bugs 960560, 960926] + -singleproc 1 configurations. Updated tcltest-19.1 to tcltest 2.1 + behavior. Corrected tcltest-25.3 to not falsely report a failure in + tcltest.test. Bumped to tcltest 2.2.6. [Bugs 960560, 960926] 2004-05-25 Jeff Hobbs * doc/http.n (http::config): add -urlencoding option (default utf-8) * library/http/http.tcl: that specifies encoding conversion of - * library/http/pkgIndex.tcl: args for http::formatQuery. Previously + * library/http/pkgIndex.tcl: args for http::formatQuery. Previously * tests/http.test: undefined, RFC 2718 says it should be utf-8. 'http::config -urlencoding {}' returns previous behavior, which will throw errors processing non-latin-1 chars. Bumped http package to @@ -3157,7 +3156,7 @@ * tests/*.test: Many minor fixes, including ensuring that every test is run (so constraints control whether the test is doing anything) and making sure that constraints are always set using the API instead of - poking around inside tcltest's internal datastructures. Also got rid + poking around inside tcltest's internal datastructures. Also got rid of all trailing whitespace lines from the test suite! 2004-05-19 Andreas Kupries @@ -3229,8 +3228,7 @@ * doc/global.n, doc/uplevel.n: Added an example. * tests/info.test (info-3.1): Corrected test result back to what it - used to be in Tcl 7.* now that command counts are being correctly - kept. + used to be in Tcl 7.* now that command counts are being correctly kept * generic/tclExecute.c (TEBC:INST_START_CMD): Make sure that the command-count is always advanced. Allows TIP#143 limits to tell that @@ -3284,7 +3282,7 @@ * generic/tclInt.decls: Promoted TclpLocaltime and TclpGmtime * generic/tclIntDecls.h: from Unix-specific stubs to the generic - * generic/tclIntPlatDecls.h: internal Stubs table. Reran 'genstubs' + * generic/tclIntPlatDecls.h: internal Stubs table. Reran 'genstubs' * generic/tclStubInit.c: * unix/tclUnixPort.h: @@ -3438,9 +3436,8 @@ UNIX [Bug 794839] * generic/tclEncoding.c (TclFinalizeEncodingSubsystem): - FreeEncoding(systemEncoding); moved to before the hash table - itereation as it was causing a double free attempt under some - conditions. + FreeEncoding(systemEncoding); moved to before the hash table iteration + as it was causing a double free attempt under some conditions. * win/coffbase.txt: Added the tls extension to the list of preferred load addresses. @@ -3546,7 +3543,7 @@ 2004-04-26 Don Porter * unix/tclUnixFCmd.c (TclpObjNormalizePath): Corrected improper - positioning of returned checkpoint. [Bug 941108] + positioning of returned checkpoint. [Bug 941108] 2004-04-26 Donal K. Fellows @@ -3595,8 +3592,8 @@ * generic/tclIOUtil.c: fix to [Bug 931823] for a more consistent Tcl_FSPathSeparator() implementation which allows filesystems not to implement their Tcl_FSFilesystemSeparatorProc if they wish to use the - default '/'. Also fixed associated memory leak seen with, e.g., - tclvfs package. + default '/'. Also fixed associated memory leak seen with, e.g., tclvfs + package. * doc/FileSystem.3: documented Tcl_FSJoinPath return values more clearly, and Tcl_FSFilesystemSeparatorProc requirements. @@ -3730,13 +3727,13 @@ End Patch 922727. * tests/unixInit.test (unixInit-3.1): Default encoding on Darwin - systems is utf-8. Thanks to Steven Abner (tauvan). [Bug 928808] + systems is utf-8. Thanks to Steven Abner (tauvan). [Bug 928808] 2004-04-06 Donal K. Fellows * tests/cmdAH.test (cmdAH-18.2): Added constraint because access(...,X_OK) is defined to be permitted to be meaningless when - running as root, and OSX exhibits this. [Bug 929892] + running as root, and OSX exhibits this. [Bug 929892] 2004-04-02 Miguel Sofer @@ -3752,12 +3749,12 @@ 2004-04-02 Don Porter * tests/tcltest.test: Corrected constraint typos: "nonRoot" -> - "notRoot". Thanks to Steven Abner (tauvan). [Bug 928353] + "notRoot". Thanks to Steven Abner (tauvan). [Bug 928353] 2004-04-01 Don Porter - * generic/tclInt.h: Removed obsolete tclBlockTime* declarations. - [Bug 926454] + * generic/tclInt.h: Removed obsolete tclBlockTime* declarations. [Bug + 926454] 2004-04-01 Vince Darley @@ -3771,7 +3768,7 @@ * doc/msgcat.n: Clarified message catalog file encodings. [Bug 811457] * library/msgcat/msgcat.tcl: Updated internals to make use of [dict]s to store message catalog data and to use [source -encoding utf-8] to - access catalog files. Thanks to Michael Sclenker. [Patch 875055, RFE + access catalog files. Thanks to Michael Sclenker. [Patch 875055, RFE 811459] Corrected [mcset] to be able to successfully set a translation to the empty string. [mcset $loc $src {}] was incorrectly set the $loc translation of $src back to $src. Also changed [ConvertLocale] to @@ -3797,22 +3794,22 @@ 2004-03-30 Miguel Sofer - * generic/tclCompile.c: New instruction code INST_START_CMD - * generic/tclCompile.h: that allows checking the bytecode's - * generic/tclExecute.c: validity [Bug 729692] and the interp's - * tests/interp.test (18.9): readyness [Bug 495830] before running - * tests/proc.test (7.1): the command. It also changes the - * tests/rename.test (6.1): mechanics of the async tests in TEBC, - doing it now at command start instead of every 16 instructions. + * generic/tclCompile.c: New instruction code INST_START_CMD that + * generic/tclCompile.h: allows checking the bytecode's validity + * generic/tclExecute.c: [Bug 729692] and the interp's readyness + * tests/interp.test (18.9): [Bug 495830] before running the command. + * tests/proc.test (7.1): It also changes the mechanics of the async + * tests/rename.test (6.1): tests in TEBC, doing it now at command + start instead of every 16 instructions. 2004-03-30 Vince Darley - * generic/tclFileName.c: Fix to Windows glob where the pattern is - * generic/tclIOUtil.c: a volume relative path or a network - * tests/fileName.test: share [Bug 898238]. On windows 'glob' - * tests/fileSystem.test: will now return the results of 'glob - /foo/bar' and 'glob \\foo\\bar' as 'C:/foo/bar', i.e. a correct - absolute path (rather than a volume relative path). + * generic/tclFileName.c: Fix to Windows glob where the pattern is a + * generic/tclIOUtil.c: volume relative path or a network share [Bug + * tests/fileName.test: 898238]. On windows 'glob' will now return + * tests/fileSystem.test: the results of 'glob /foo/bar' and 'glob + \\foo\\bar' as 'C:/foo/bar', i.e. a correct absolute path (rather than + a volume relative path). Note that the test suite does not test commands like 'glob //Machine/Shared/*' (on a network share). @@ -3842,9 +3839,9 @@ 2004-03-26 Don Porter - * README: Bumped version number to 8.5a2 to - * tools/tcl.wse.in: distinguish HEAD of CVS development - * unix/configure.in: from the recent 8.5a1 release. + * README: Bumped version number to 8.5a2 to distinguish + * tools/tcl.wse.in: HEAD of CVS development from the recent 8.5a1 + * unix/configure.in: release. * unix/tcl.spec: * win/README.binary: * win/configure.in: @@ -3854,9 +3851,9 @@ 2004-03-26 Vince Darley - * generic/tclPathObj.c: Fix to Windows-only volume relative - * tests/fileSystem.test: path normalization. [Bug 923568]. - Also fixed another volume relative bug found while testing. + * generic/tclPathObj.c: Fix to Windows-only volume relative path + * tests/fileSystem.test: normalization. [Bug 923568]. Also fixed + another volume relative bug found while testing. 2004-03-24 Donal K. Fellows @@ -4176,7 +4173,7 @@ 2004-03-01 Don Porter * unix/tcl.m4 (SC_CONFIG_CFLAGS): Allow 64-bit enabling on - IRIX64-6.5* systems. [Bug 218561] + IRIX64-6.5* systems. [Bug 218561] * unix/configure: autoconf-2.57 * generic/tclTrace.c (TclCheckInterpTraces): The TIP 62 @@ -4200,9 +4197,9 @@ 2004-02-25 Don Porter * tests/basic.test: Made several tests more robust to the - * tests/cmdMZ.test: list-quoting of path names that might - * tests/exec.test: contain Tcl-special chars like { or [. - * tests/io.test: Should help us sort out Tcl Bug 554068. + * tests/cmdMZ.test: list-quoting of path names that might contain + * tests/exec.test: Tcl-special chars like { or [. Should help us + * tests/io.test: sort out [Bug 554068] * tests/pid.test: * tests/socket.test: * tests/source.test: @@ -4213,8 +4210,8 @@ * generic/tclLoad.c (Tcl_LoadObjCmd): Missing dereference caused segfault with non-loadable extension. [Bug 904307] - * unix/tclUnixChan.c (TcpGetOptionProc): Stop memory leak with - very long hostnames. [Bug 888777] + * unix/tclUnixChan.c (TcpGetOptionProc): Stop memory leak with very + long hostnames. [Bug 888777] 2004-02-25 Pat Thoyts @@ -4276,7 +4273,7 @@ * win/tclWinInit.c (AppendEnvironment): Use the tail component of the passed in lib path instead of just blindly using lib+4. That worked - when lib was "lib/..." but fails for other values. Thanks go to + when lib was "lib/..." but fails for other values. Thanks go to Patrick Samson for pointing this out. 2004-02-10 David Gravereaux @@ -4465,16 +4462,16 @@ 2004-01-18 Donal K. Fellows * generic/tclCompile.c, generic/tclCompile.h: Two new opcodes, - INST_LIST_INDEX_IMM and INST_LIST_RANGE_IMM, that have operand(s) - of new type OPERAND_IDX4 which represents indexes into things like - lists (and perhaps other things eventually.) - * generic/tclExecute.c (TclExecuteByteCode): Implementation of the - new opcodes. INST_LIST_INDEX_IMM does a simple [lindex] with - either front- or end-based simple indexing. INST_LIST_RANGE_IMM - does an [lrange] with front- or end-based simple indexing for both - the reference to the first and last items in the range. - * generic/tclCompCmds.c (TclCompileLassignCmd): Generate bytecode - for the [lassign] command. + INST_LIST_INDEX_IMM and INST_LIST_RANGE_IMM, that have operand(s) of + new type OPERAND_IDX4 which represents indexes into things like lists + (and perhaps other things eventually.) + * generic/tclExecute.c (TclExecuteByteCode): Implementation of the new + opcodes. INST_LIST_INDEX_IMM does a simple [lindex] with either front- + or end-based simple indexing. INST_LIST_RANGE_IMM does an [lrange] + with front- or end-based simple indexing for both the reference to the + first and last items in the range. + * generic/tclCompCmds.c (TclCompileLassignCmd): Generate bytecode for + the [lassign] command. 2004-01-17 David Gravereaux @@ -4496,7 +4493,7 @@ * win/tclWinReg.c: Placed the requirement for advapi.lib into the object file itself with #pragma comment (lib, ...) when built with - VC++. This will simplify linking for users of the static library. + VC++. This will simplify linking for users of the static library. * win/rules.vc: Added new 'fullwarn' to the CHECKS commandline macro; sets $(FULLWARNINGS). @@ -4519,7 +4516,7 @@ * generic/tclDictObj.c (TraceDictPath, DictExistsCmd): Adjusted behaviour of [dict exists] so a failure to look up a dictionary along - the path of dicts doesn't trigger an error. This is how it was + the path of dicts doesn't trigger an error. This is how it was documented to behave previously... [Bug 871387] * generic/tclDictObj.c: Assorted dict fixes from Peter Spjuth relating diff --git a/ChangeLog.2005 b/ChangeLog.2005 index 5d2ab96..0d1d7cf 100644 --- a/ChangeLog.2005 +++ b/ChangeLog.2005 @@ -1,3822 +1,3822 @@ -2005-12-30 Kevin B. Kenny - - * generic/tclStubLib.c: Corrected a typo in "missing Stubs table - pointer." - -2005-12-27 Kevin B. Kenny - - * generic/tcl.decls: Destubbed TclTomMathInitializeStubs - it is in - * generic/tcl.h: the stub library, not the main shared - * generic/tclBasic.c: library. Exported Tcl_InitBignumFromDouble. - * generic/tclExecute.c: - * generic/tclInt.h: - * generic/tclStrToD.c: - - * generic/tclDecls.h: - * generic/tclStubLib.c: - * generic/tclStubInit.c: Regenerated. - - * generic/clock.tcl: Reverted to using the time zone abbreviation and - not its name to "stop the bleeding" on [Bug 1386377]. This is *not* a - good long-term solution, but there may not be one. - - * libtommath/bn_mp_sqrt.c: Improved the initial approximation to the - square root, roughly doubling the speed of the routine. (This is a - local change that needs to be communicated to Tom.) - - * win/Makefile.in: Corrected a bug where tommath_class.h and - tommath_superclass.h were not installed, making it impossible for - client code to compile against the tommath stubs. - - * library/tzdata: Updated to Olson's tzdata2005r. (Latest changes to - Daylight Saving Time in Canada, plus redefinition of the Posix-style - zones [e.g., EST5EDT] to be locale-independent.) - - * libtommath: Updated to Tom St.Denis's release 0.37. - -2005-12-20 Donal K. Fellows - - * generic/tclThreadAlloc.c (Tcl_GetMemoryInfo): Format values as longs - and not ints, so they are less likely to wrap on 64-bit machines. - -2005-12-19 Don Porter - - * generic/tclCmdMZ.c: Modified [string is double] to use - * tests/string.test: TclParseNumber() to parse trailing whitespace. - Ensures consistency, and makes it easier to cleanup after invalid - internal reps left behind by parsing [Bugs 1360532 1382287]. - - * generic/tclParseExpr.c: Added TCL_PARSE_NO_WHITESPACE to - * generic/tclScan.c: TclParseNumber() calls since [scan] and [expr] - * tests/scan.test: parsing don't want spaces in parsed numbers. - - * generic/tclInt.h: Added TCL_PARSE_NO_WHITESPACE flag to the - * generic/tclStrToD.c: TclParseNumber() interface. - -2005-12-19 Donal K. Fellows - - * doc/Tcl.n: Clarify what is going on in variable substitution - following thread on comp.lang.tcl. - -2005-12-18 Donal K. Fellows - - * generic/tclCompCmds.c (TclCompileDictCmd): Ensure that we only do an - 'endCatch' when there's a preceding 'beginCatch'. [Bug 1382528] Many - thanks to Anton Kovalenko for finding this and pointing out that it was - a catch stack handling problem! - -2005-12-14 Daniel Steffen - - * generic/tclIOUtil.c: workaround gcc warning "comparison is always - * generic/tclTest.c: false due to limited range of data type". - - * macosx/Tcl.xcode/project.pbxproj: - * macosx/Tcl.xcodeproj/project.pbxproj: - * unix/Makefile.in: add new tclTomMath* files. - - * generic/tclBasic.c: replace panic with Tcl_Panic. - -2005-12-13 Kevin B. Kenny - - * generic/tcl.decls: Added changes to export an additional stubs - * generic/tclBasic.c: table to represent the 'libtommath' routines - * generic/tclDecls.h: that Tcl uses and export them to callers. - * generic/tclInt.decls: Reran 'genstubs' - * generic/tclInt.h: - * generic/tclIntDecls.h: - * generic/tclIntPlatDecls.h: - * generic/tclStubInit.c: - * generic/tclStubLib.c: - * generic/tclTomMath.decls: - * generic/tclTomMath.h: - * generic/tclTomMathDecls.h: - * generic/tclTomMathInterface.c: - * generic/tommath.h: - * tools/fix_tommath_h.tcl: - * unix/Makefile.in: - * win/Makefile.in: - * win/makefile.vc: - - * generic/tclClock.c: Made changes to silence a number of compiler - * generic/tclIO.c: warnings when building with mingw. - * generic/tclIORChan.c: - * generic/tclLink.c: - * generic/tclListObj.c: - * generic/tclObj.c: - * generic/tclParseExpr.c: - * generic/tclProc.c: - * generic/tclTimer.c: - * win/tclWinChan.c: - * win/tclWinConsole.c: - * win/tclWinDde.c: - * win/tclWinFCmd.c: - * win/tclWinFile.c: - * win/tclWinReg.c: - * win/tclWinSock.c: - -2005-12-13 Donal K. Fellows - - * generic/tclExecute.c (TEBC:DICT_FIRST,DICT_DONE): Only decrease the - references to the dictionary once the iteration completes. Do this by - storing the dict in the iterator context variable. [Bug 1379349] Thanks - to Ulrich Ring and Tobias Hippler for finding this. - -2005-12-12 Jeff Hobbs - - * unix/tcl.m4, unix/configure: Fix sh quoting error reported in - bash-3.1+ [Bug 1377619] (schafer) - -2005-12-12 Kevin B. Kenny - - * doc/mathfunc.n: Changed two examples from the incorrect 'tcl::math::' - to 'tcl::mathfunc::' [Bug 1378818] - -2005-12-09 Mo DeJong - - * win/configure: Regen. - * win/tcl.m4 (SC_CONFIG_CFLAGS): Define MACHINE for gcc builds. The - lack of a definition of this variable in the manifest file was causing - a runtime error in wish built with gcc. - -2005-12-09 Donal K. Fellows - - * tests/lsearch.test (lsearch-10.8..10): If the -start is off the end, - * generic/tclCmdIL.c (Tcl_LsearchObjCmd): searching should find nothing - at all. [Bug 1374778] - -2005-12-08 Jeff Hobbs - - * win/Makefile.in, win/makefile.vc: Add Win x64 and CE build support - * win/tcl.m4, win/configure: CE still requires C code fixes. - - * generic/tcl.h: use struct __stat64 (not _stat64) for MSC_VER >= 1400 - (i.e. latest Platform SDK). - -2005-12-07 Donal K. Fellows - - * doc/socket.n: Cross-referenced the socket documentation better to the - fconfigure documentation on the topic of asynch sockets. - * doc/fconfigure.n: Added keyword to documentation of -blocking option - so that people looking for "asynch" can find it as well. - -2005-12-05 Daniel Steffen - - * unix/tclUnixPort.h (Darwin): fix incorrect __DARWIN_UNIX03 configure - overrides that were originally copied from Darwin CVS (rdar://3693001) - -2005-12-05 Kevin B. Kenny - - * tools/tclZIC.tcl: Updated to reflect changes in calling sequence when - GetJulianDateFromEraYearMonthDay moved to C. - * library/tzdata: Regenerated from Olson's tzdata2005p.tar.gz - the - 'systemv' changes appear not to affect Tcl's processing of the dates. - -2005-12-05 Daniel Steffen - - * unix/configure.in: move check for fts API to configure.in and run it - * unix/tcl.m4: on all platforms, since Linux glibc2 and *BSDs - also have this; using fts is more efficient than a recursive - opendir/readdir. - * unix/tclUnixFCmd.c (TraverseUnixTree): add support to fts code for - platforms with stat64. - * unix/configure: - * unix/tclConfig.h.in: regen. - -2005-12-05 Jeff Hobbs - - * unix/configure: Use fts file API on Darwin if available. - * unix/tcl.m4: Addresses file delete issues in readdir noted - * unix/tclUnixFCmd.c: in [Bug 1034337]. (steffen) - Remove redundant stat call for each file in DoCopyFile. (steffen) - -2005-12-02 Kevin B. Kenny - - * generic/tclClock.c: Moved a tiny bit more of [clock format] from run - * library/clock.tcl: time to compile time, and fixed a l10n bug in the - process. [Bug 1371446]. Also, conditoned the call to SetupTimeZone to - speed the common case where TZData($timezone) already exists, and - achieved a puny speedup by making ::tcl::clock::getenv not throw - errors. - * unix/Makefile.in: Made some changes to support a 'make' command that - is present on some antiquated versions of Solaris. - -2005-12-01 Kevin B. Kenny - - * library/clock.tcl: Continued rationalizing the code, eliminating - numerous redundant [mc] calls. Added another time boost by precompiling - a [::format] command to do the bulk of the work of [clock format]. - -2005-12-01 Donal K. Fellows - - * unix/Makefile.in: Add remaining dependency info. While automated - maintenance of this information would be good, having it at all is much - better than a poke in the eye with a sharp stick... - -2005-12-01 Daniel Steffen - - * generic/tclClock.c: fix warning. - - * unix/tcl.m4 (Darwin): fix error when MACOSX_DEPLOYMENT_TARGET unset - * unix/configure: regen. - -2005-11-30 Donal K. Fellows - - * unix/Makefile.in: Add dependency information relating to tclCompile.h - since when the list of opcodes changes it is usually useful to rebuild - everything that depends on it (but which is nonetheless a small - fraction of the total set of Tcl source files). - - ***POTENTIAL INCOMPATIBILITY*** for bytecode savers/loaders. See below - - * generic/tclCompCmds.c (TclCompileSwitchCmd): Arrange for very simple - [switch] invokations to be compiled into hash lookups into jump tables; - only a very specific kind of [switch] can be safely compiled this way, - but that happens to be the most common kind. This makes around 5-10% - difference to the speed of execution of clock.test. - * generic/tclExecute.c (TEBC:INST_JUMP_TABLE): New instruction to allow - for jumps to locations looked up in a hashtable. Requires a new AuxData - type, tclJumptableInfoType (supported by the functions DupJumptableInfo - and FreeJumptableInfo in tclCompCmds.c) so anything that saves bytecode - containing this *must* be updated! - -2005-11-30 Kevin Kenny - - * generic/tclClock.c: Fixed a bad refcount in previous commit that led - to a corrupted heap. Also silenced a warning that some compilers gave - about the excessively long constant for JULIAN_SEC_POSIX_EPOCH. Also - fixed a bug where [clock format] would fail in the :localtime zone for - times before the Posix Epoch. Thanks to Miguel Sofer for pointing out - all of these. Also rationalized the code a little bit by moving parts - of [clock scan] into C, eliminating some code that was duplicated in - the C and Tcl layers. - -2005-11-29 Kevin Kenny - - * generic/tclBasic.c: Moved a big part of [clock format] down - * generic/tclClock.c: to the C level in order to make it go faster. - * generic/tclInt.h: Preliminary measurements suggest that it - * generic/clock.tcl: more than doubles in speed with this change. - -2005-11-29 Donal K. Fellows - - * generic/tclCmdIL.c (Tcl_LsearchObjCmd): Allow [lsearch -regexp] to - process REs that contain backreferences. This expensive mode of - operation is only used if the RE would otherwise cause a compilation - failure. [Bug 1366683] - -2005-11-28 Kevin Kenny - - * tools/tclZIC.tcl (convertTimeOfDay): Corrected a typo that caused - wrong DST transitions in any time zone where the transition is - specified as local Standard Time (as opposed to wall-clock or UTC). - (Also updated the code to be bignum-safe.) - * tests/clock.test (clock-51.1): Added regression test for the above. - * library/tzdata: Updated to Olson's 'tzdata2005o' (changes for Cuba, - Nicaragua, Jordan, and Georgia) and regenerated. Thanks to Paul - Mackerras for reporting this problem. - -2005-11-27 Daniel Steffen - - * unix/tcl.m4 (Darwin): add 64bit support, check for Tiger copyfile(), - add CFLAGS to SHLIB_LD to support passing -isysroot in env(CFLAGS) to - configure (flag can't be present twice, so can't be in both CFLAGS and - LDFLAGS during configure), don't use -prebind when deploying on 10.4, - define TCL_IO_TRACK_OS_FOR_DRIVER_WITH_BAD_BLOCKING (rdar://3171542). - (SC_ENABLE_LANGINFO, SC_TIME_HANDLER): add/fix caching, fix obsolete - autoconf macros. Sync with tk/unix/tcl.m4. - - * unix/configure.in: fix obsolete autoconf macros, sync gratuitous - formatting/ordering differences with tk/unix/configure.in. - - * unix/Makefile.in: add CFLAGS to tclsh/tcltest link to make executable - linking the same as during configure (needed to avoid losing any linker - relevant flags in CFLAGS, in particular flags that cannot be in - LDFLAGS). Avoid concurrent linking of tclsh and compiling of - tclTestInit.o or xtTestInit.o during parallel make. - (checkstubs, checkdoc, checkexports): dependency and Darwin fixes - (dist): add new macosx files. - - * unix/tclLoadDyld.c (TclpDlopen): use NSADDIMAGE_OPTION_WITH_SEARCHING - on second NSAddImage only. [Bug 1204237] - (TclGuessPackageName): should not be MODULE_SCOPE. - (TclpLoadMemory): ppc64 and endian (i386) fixes, add support for - loading universal (fat) bundles from memory. - - * unix/tclUnixFCmd.c: - * macosx/tclMacOSXFCmd.c: ppc64 and endian (i386) fixes. - (TclMacOSXCopyFileAttributes): add support for new Tiger copyfile() API - to enable copying of xattrs & ACLs by [file copy]. - - * generic/tcl.h: add Darwin specifc configure overrides for TCL_WIDE - defines to support fat compiles of ppc and ppc64 at the same time, - (replaces Darwin CVS fix by emoy, rdar://3693001). add/correct location - of version numbers in macosx files. - - * generic/tclInt.h: clarify fat compile comment. - - * unix/tclUnixPort.h: add Darwin specifc configure overrides to support - fat compiles, where configure runs only once for multiple architectures - (replaces Darwin CVS fix by emoy, rdar://3693001). - - * macosx/tclMacOSXBundle.c: - * macosx/tclMacOSXNotify.c: - * unix/tclUnixNotfy.c: - * unix/tclUnixPort.h: fix #include order to support compile time - override of HAVE_COREFOUNDATION in tclUnixPort.h when building for - ppc64 - - * macosx/Tcl.pbproj/default.pbxuser (new file): - * macosx/Tcl.pbproj/jingham.pbxuser: - * macosx/Tcl.pbproj/project.pbxproj: - * macosx/Tcl.xcode/default.pbxuser (new file): - * macosx/Tcl.xcode/project.pbxproj (new file): - * macosx/Tcl.xcodeproj/default.pbxuser (new file): - * macosx/Tcl.xcodeproj/project.pbxproj (new file): new/updated - projects for Xcode 2.2 on 10.4, Xcode 1.5 on 10.3 & ProjectBuilder on - 10.2, with native tcltest targets and support for universal (fat) - compiles. - - * macosx/README: clarification/cleanup, document new Xcode projects and - universal (fat) builds via CFLAGS (i.e. all of ppc ppc64 i386 at once). - - * unix/Makefile.in: - * unix/aclocal.m4: - * unix/configure.in: - * unix/dltest/Makefile.in: - * macosx/configure.ac (new file): add support for inclusion of - unix/configure.in by macosx/configure.ac, allows generation of a config - headers enabled configure script in macosx (required by Xcode - projects). - - * macosx/GNUmakefile: rename from Makefile to avoid overwriting by - configure run in tcl/macosx, add support for reusing configure cache, - build target fixes, remove GENERIC_FLAGS override now handled by - tcl.m4. - - * generic/tcl.decls: add Tcl_Main declaration as comment to avoid - 'checkstubs' target complaining about it missing from stubs. - - * generic/regex.h: - * generic/tclDate.c: - * generic/tclEnv.c: - * generic/tclGetDate.y: - * generic/tclIOUtil.c: - * generic/tclObj.c: - * generic/tclStubInit.c: - * generic/tclStubLib.c: - * generic/tclPathObj.c: - * generic/tclThreadAlloc.c: - * generic/tclThreadStorage.c: - * generic/tclTrace.c: - * generic/tclVar.c: - * generic/tommath.h: - * tools/fix_tommath_h.tcl: - * unix/tclUnixFCmd.c: ensure externally visible symbols not contained - in stubs table are declared as MODULE_SCOPE (or as static if not used - outside of own source file). These changes allow 'make checkstubs' to - complete without error on Darwin with gcc 4. - - * generic/rege_dfa.c (getvacant): - * generic/regexec.c (cfind): - * generic/tclCompExpr.c (CompileSubExpr): - * generic/tclNamesp.c (NamespaceEnsembleCmd): - * unix/tclUnixChan.c (TclUnixWaitForFile): initialise variables to - silence gcc 4 warnings. - - * generic/tclExecute.c (TclExecuteByteCode): fix unused variable - warning when NO_WIDE_TYPE is defined. - - * generic/regguts.h: only #define NDEBUG if not already #defined. - - * unix/tclUnixNotfy.c: - * macosx/tclMacOSXNotify.c: sync whitespace & comments. - - * unix/tclUnixPort.h: - * win/tclWinPort.h: remove declaration of obsolete&unused TclpMutex - API. - - * unix/configure: - * unix/tclConfig.h.in: regen. - -2005-11-21 Andreas Kupries - - * unix/Makefile.in (install-libraries): Updated Makefile to new - * win/Makefile.in (install-libraries): version of the http package. - This fixes the ifneeded/provide mismatch reported when trying to - require http. Should we maybe try to automatically extract the version - number from the http code to prevent future breakage ? - - This follows the update of the version number by dgp on Nov 15 (No - entry found in the ChangeLog). - -2005-11-20 Joe English - - * generic/tclStubLib.c: Don't set tclStubsPtr to 0 when - Tcl_PkgRequireEx() fails [Fix for [Bug 1091431] "Tcl_InitStubs failure - crashes wish"] - -2005-11-18 Miguel Sofer - - * tests/trace.test (trace-34.5): [Bug 1047286], added a second test - illustrating the role of "ns in callStack" in the ns's visibility - during deletion traces. - -2005-11-18 Kevin B. Kenny - - * doc/clock.n: Restored several missing lines near the %w format group - so that %w and %W are documented with their actual behaviour. [Bug - 1359183] - -2005-11-18 Jeff Hobbs - - * generic/tclIO.c (TclFinalizeIOSubsystem): preserve statePtr until we - retrieve the next statePtr from it. - -2005-11-18 Miguel Sofer - - * generic/tclObj.c (GetBignumFromObj): replace NULL with - tclEmptyStringRep to stop memcpy from complaining in a debug build - (the corresponding branch is eliminated by the optimiser otherwise). - -2005-11-18 Andreas Kupries - - * generic/tclIO.c (TclFinalizeIOSubsystem): Applied Pat Thoyts' patch - for [Bug 1359094]. This moves the retrieval of the next channel state - to the end of the loop, as the called closeproc may close other - channels, i.e. modify the list we are iterating, invalidating any - pointer retrieved earlier. - -2005-11-18 Don Porter - - * generic/tclListObj.c: Restored the SetListFromAny routine to the - * generic/tclObj.c: "list" Tcl_ObjType, and restored the - Tcl_RegisterObjType() call for "list". This addresses the needs of some - "bridge" extensions to examine whether the Tcl_ObjType of a Tcl_Obj is - that of the "list" Tcl_ObjType. - -2005-11-18 Donal K. Fellows - - * library/http/http.tcl (http::geturl): Improved syntactic validation - of URLs, and better error messages in some cases. [Bug 1358369] - -2005-11-17 Miguel Sofer - - * tests/namespace.test: fix comment - -2005-11-14 Don Porter - - * generic/tclStrToD.c: More data in the "can't happen" Tcl_Panic to - aid debugging. - - * generic/tclBasic.c (CallCommandTraces): Save/restore the interp - result during traces to fix [Bug 1355342]. - -2005-11-13 Miguel Sofer - - * generic/tclInt.h: - * generic/tclNamesp.c: - * tests/namespace.test: fix for [Bug 1354540] and [Bug 1355942]. The - new tests 7.3-6 and the modified 51.13 fail due to the unrelated [Bug - 1355342] - - * tests/trace.test: added tests 20.13-16 for [Bug 1355342] - -2005-11-12 Miguel Sofer - - * generic/tclBasic.c (Tcl_DeleteCommandFromToken): - * generic/tclObj.c (Tcl_GetCommandFromObj): more partial fixes for - [Bug 1354540] - making sure that cached references to a command being - deleted cannot be made reusable by a delete trace. - -2005-11-12 Donal K. Fellows - - * generic/tclNamesp.c (Tcl_FindCommand): Do not find commands in dead - namespaces on the path. Partial fix for [Bug 1354540]. - -2005-11-11 Don Porter - - * generic/tclInt.h: Revised TclParseNumber interface to enable - * generic/tclScan.c: revision to the [scan] command implementation - * generic/tclStrToD.c: to permit tests scan-4.44,55 to pass again. - [Bug 1348067]. - -2005-11-11 Miguel Sofer - - * generic/tclBasic.c (Tcl_DeleteCommandFromToken): - * generic/tclObj.c (Tcl_GetCommandFromObj): bump the cmd epoch early - to insure that cached references to this command are invalidated. - Partial fix for [Bug 1352734] - at least insures that namespace-51.13 - does not cause a panic. The test is still marked as knownbug, pending - resolution of what is actually the correct return value ([Bug - 1354540]) - -2005-11-09 Kevin B. Kenny - - * generic/tclTimer.c: Changed [after] so that it behaves correctly - * tests/timer.test: with negative arguments [Bug 1350293] and - arguments that overflow a 32-bit word. [Bug 1350291] - -2005-11-08 Don Porter - - * tests/compile.test: Updated tests with changed behavior - * tests/execute.test: due to addition of bignums. - * tests/expr-old.test: - * tests/expr.test: - * tests/parseExpr.test: - * tests/platform.test: - * tests/string.test: - -2005-11-08 Jeff Hobbs - - * unix/tclUnixFCmd.c (MAX_READDIR_UNLINK_THRESHOLD): reduce to 130 - based on errors seen on OS X 10.3 with lots of links in a dir. - [Bug 1034337 followup] - -2005-11-09 Donal K. Fellows - - * unix/Makefile.in (gdb-test): Added a new target to make it easier to - run the test suite inside a debugger. - -2005-11-08 Don Porter - - * tests/compExpr-old.test: Updated tests with changed behavior due - to addition of bignums. - - * tests/expr.test: Portable tests expr-46.13-18 [Bug 1341368] - - * generic/tclPkg.c: Corrected inconsistencies in the value returned - * tests/pkg.test: by Tcl_PkgRequire(Ex) so that the returned - values will always agree with what is stored in the package database. - This way repeated calls to Tcl_PkgRequire(Ex) have the same results. - Thanks to Hemang Lavana. [Bug 1162286]. - -2005-11-08 Donal K. Fellows - - * generic/tclTrace.c (TraceVarEx): Factor out heart of Tcl_TraceVar2 - (TclTraceVariableObjCmd,TraceVarProc): Use the new internal API to - arrange for the clientData to be cleaned up at the same time as the - rest of the main trace record. This simplifies the code a bit at the - same time. - -2005-11-07 Miguel Sofer - - * tests/trace.test (trace-13.2-4): added tests to detect leak, see [Bug - 1348775]. The recently added trace-8.9 test is now 13.4. - -2005-11-07 Donal K. Fellows - - * tests/dict.test (dict-19.2): arrange for the stress testing code to - only stress test the dict code and not the trace code as well. [Bug - 1342858] - -2005-11-05 Miguel Sofer - - * tests/trace.test (trace-8.9): added test to detect leak, see [Bug - 1348775]. - -2005-11-04 Pat Thoyts - - * win/tclWinPort.h: Applied [Patch 1267871] by Matt Newman for - * win/tclWinPipe.c: extended error code support on Windows. - * tests/exec.test: Tests for extended error codes. - * generic/tclPipe.c: Permit long codes (platform macros permitting). - -2005-11-04 Miguel Sofer - - * generic/tclBinary.c: - * generic/tclCmdAH.c: - * generic/tclCmdIL.c: - * generic/tclCmdMZ.c: - * generic/tclDictObj.c: - * generic/tclExecute.c: - * generic/tclIOCmd.c: - * generic/tclLink.c: - * generic/tclTest.c: - * generic/tclVar.c: fix for [Bug 1334947]. The functions TclPtrSetVar, - Tcl_ObjSetVar2 and Tcl_SetVar2Ex now always consume the newValuePtr - argument - i.e., they will free a 0-refCount object if they failed to - set the variable. Fixed all callers in the core. - -2005-11-04 Kevin Kenny - - * generic/tclGetDate.y: Added abbreviations for the Korean - * library/clock.tcl: timezone. [Patch 1298737] - * generic/tclDate.c: Regenerated. - - * tools/findBadExternals.tcl: Added this script, which locates external - symbols that do not begin with 'Tcl' or 'tcl' and hence might be in - conflict with other link libraries. Thanks to George Peter Staplin for - the idea and the initial version of the script. [Bug 1263012] - - * unix/Makefile.in: Trimmed a bunch of fat out of the tommath/ - directory in 'make dist'. [RFE 1333318] - - * unix/tcl.m4: Added code to enable [load] on LynxOS. Thanks to - heidibr@users.sf.net for the patch. [Bug 1163896]. Removed the last - vestiges of GNU dld from the Unix build [RFE 1071992]. - - * unix/tclLoadDld.c: Removed. - * unix/configure: Regenerated. - -2005-11-04 Miguel Sofer - - * generic/tclInt.h: - * generic/tclNamesp.c: - * generic/tclVar.c: - * tests/trace.test: fix for [Bugs 1338280/1337229]; changed to use the - same approach as the 8.4 patch in the ticket (i.e., removed the patch - committed on 2005-31-10). - -2005-11-03 Pat Thoyts - - * win/tclWin32Dll.c: Applied [Patch 1256872] to provide unicode - * win/tclWinConsole.c: support in the console on suitable systems. - * win/tclWinInt.h: Patch by Anton Kovalenko - -2005-11-02 Pat Thoyts - - Applied [Patch 1096916] to support building with MSVC 8. - * generic/regerror.c: Avoid use of reserved word. - * generic/tcl.h: Select the right Tcl_Stat structure - * generic/tclDate.c: Casts to handle 64 bit time_t case. - * tests/env.test: Include essential envvar on Win32 - * win/nmakehlp.c: Handle new return codes. - * win/makefile.vc: Use the selected options. - * win/rules.vc: Check options are applicable - * win/tclWinPort.h: Disable deprecated function warnings - * win/tclWinSock.c: Provide default value to avoid warning. - * win/tclWinTime.c: Add casts to handle 64bit time_t type. - -2005-11-01 Don Porter - - * generic/tclTrace.c (TclCheckExecutionTraces): Corrected mistaken - assumption that all command traces are set at the script level. - Report/fix from Jacques H. de Villiers. [Bug 1337941] - - * tests/unixNotfy.test (1.1,2): Update error message whitespace to - match changes in code. - - * tests/expr-old.test (expr-32.52): Use int(.) to restrict result of - left shift to the C long range. - - * expr.test (expr-46.13): Added test that illustrates shortcoming of - [Patch 1340260]. - -2005-10-31 Miguel Sofer - - * generic/tclNamesp.c: fix for [Bugs 1338280/1337229]. Thanks Don. - * tests/trace.test: fix duplicate test numbers - -2005-10-31 Donal K. Fellows - - * win/tclWinSerial.c (SerialSetOptionProc): Cleaned up option parsing - to produce more informative error messages and separate error and - non-error code paths better. - * tests/ioCmd.test (iocmd-8-19): Updated. - -2005-10-29 Miguel Sofer - - * generic/tclTrace.c (TraceVarProc): [Bug 1337229], partial fix. Ensure - that a second call with TCL_TRACE_DESTROYED does not lead to a second - call to Tcl_EventuallyFree(). It is still true that that second call - should not happen, so the bug is not completely fixed. - * tests/trace.test (test-18.3-4): added tests for [Bug 1337229] and - [Bug 1338280]. - -2005-10-23 Vince Darley - - * generic/tclFileName.c: fix to memory leak in glob [Bug 1335006] Obj - leak detection and patch by Eric Melbardis. - - * tests/fCmd.test: - * win/tclWinFile.c: where appropriate windows API is available, try to - set 'nlink' and 'ino' stat fields (previously they were always 0). [Bug - 1325803] - -2005-10-22 Miguel Sofer - - * tests/foreach.test (foreach-8.1): added test for [Bug 1189274] - -2005-10-22 Miguel Sofer - - * generic/tclExecute.c (INST_INCR_*): fixed [Bug 1334570]. Obj leak - detection and patch by Eric Melbardis. - -2005-10-21 Kevin B. Kenny - - * generic/tclStrToD.c (RefineApproximation): Plugged a memory leak - where two intermediate results were not freed on one return path. [Bug - 1334461]. Thanks to Eric Melbardis for the patch. - -2005-10-21 Donal K. Fellows - - * doc/binary.n: Clarify that virtually all code that uses the 'h' - format in [binary scan] should be using the 'H' format instead. It is - nearly always a bug to use the other! - -2005-10-20 Miguel Sofer - - * generic/tclListObj.c (TclLsetFlat): - * tests/lset.test (lset-10.3): fixed handling of unshared lists with - shared sublists, [Bug 1333036] reported by neuronstorm. - -2005-10-19 Donal K. Fellows - - * generic/tclIORChan.c (PassReceivedError,PassReceivedErrorInterp): - Fix crash caused by passing -1 as the length to TclNewStringObj(). Only - Tcl_NewStringObj (the function call, not the macro) handles that sort - of thing correctly. This makes ioCmd.test pass again. - -2005-10-19 Don Porter - - * generic/tclClock.c: Removed some dead code. - * generic/tclCmdIL.c: - * generic/tclCompCmds.c: - * generic/tclDictObj.c: - * generic/tclExecute.c: - * generic/tclLiteral.c: - * generic/tclParseExpr.c: - * generic/tclScan.c: - * generic/tclUtil.c: - * generic/tclVar.c: - -2005-10-19 Donal K. Fellows - - * generic/tclIORChan.c: General cleanup, removing checks that are - unnecessary due to the general contracts of other functions in the - core, converting to using ANSI declarations, etc. Note that nearly the - whole file has changed, but it is often just cosmetic. - -2005-10-19 Miguel Sofer - - * generic/tclExecute.c (INST_DICT_APPEND, INST_DICT_LAPPEND): fixed - faulty peephole optimisation that can cause crashes, [Bug 1331475] - reported by Aric Bills. - -2005-10-18 Don Porter - - * generic/tclExecute.c: Added optimization for I32L64 systems to avoid - using bignums to perform int multiplies. The improvement shows up most - dramatically in tclbench's matrix.bench. - -2005-10-15 Don Porter - - * generic/tclExecute.c: Restored some optimizations of the - INST_INCR_SCALAR1_IMM opcode. - -2005-10-14 Zoran Vasiljevic - - * generic/tclIO.c (Tcl_ClearChannelHandlers): removed change dated - 2005-10-04 (see below). Look into [Bug 1323992] for detailed - discussion. - - * generic/tcl.h: Fixed bad definition of CRTEXPORT which should have - been CRTIMPORT rather. This broke compilation of generic/tclMain.c and - was probably introduced by mistake while applying the fix for [Bug - 1256937] below. - -2005-10-14 Kevin Kenny - - * generic/tclExecute.c (TclIncrObj, TclExecuteByteCode): Tidied up a - couple of infelicitous do {...} while(0) constructs. - -2005-10-14 Pat Thoyts - - * generic/tcl.h: Fix for [Bug 1256937] - correctly decorate - * generic/tclMain.c: imported functions from msvcrt in static builds. - -2005-10-13 Donal K. Fellows - - * tests/format.test: "Forward"-port of test updates relating to [Bug - 1284178]. The bug itself was fixed by TIP#237. - -2005-10-13 Zoran Vasiljevic - - * generic/tclIO.c (Tcl_ClearChannelHandlers): temporary ifdef - TCL_THREADS changes done to de-activate pending event processing when - channel is being closed/cutted. - -2005-10-13 Don Porter - - * generic/tclExecute.c: Removed obsolete use of NO_ERRNO_H. - * tools/man2tcl.c: - * unix/tcl.m4: - * unix/tclConfig.h.in: - * win/configure.in: - - * unix/configure: autoconf-2.59 - * win/configure: - - * compat/tclErrno.h: Removed obsolete file. - - * generic/tclStrToD.c (TclParseNumber): Missing goto caused crash when - parsing "Na". [Bug 1325833] - -2005-10-12 Don Porter - - * generic/tclExecute.c (GetNumberFromObj): Restored some lost - optimizations for empty string values. We avoid cost of a call to - TclParseNumber just to tell us an empty string isn't a number. - -2005-10-12 Donal K. Fellows - - * generic/tclPathObj.c (SetFsPathFromAny): TclGetString macro must not - be combined with post-increment arguments. [Bug 1325099] - -2005-10-12 Kevin Kenny - - * generic/tclExecute.c (Tcl_ExecuteByteCode, TclIncrObj): Several - common cases inlined in hopes of gaining a little performance in [incr] - -2005-10-10 Miguel Sofer - - * generic/tclCompCmds.c: New convenience macro CompileTokens(). - -2005-10-10 Don Porter - - * generic/tclExecute.c: Corrections to the NO_WIDE_TYPE build. Also - added missing "break" to a switch that broke wide XOR operations. - -2005-10-10 Donal K. Fellows - - * generic/tclInterp.c (DeleteScriptLimitCallback) - (SetScriptLimitCallback): Improve the interlocking between the script - limit callback record and the hash table of current such records, to - prevent crashes in callbacks that create callbacks. - (Tcl_LimitSetTime): Reset the correct flag. Problem reported by - Nicolas Castagne on comp.lang.tcl - -2005-10-10 Miguel Sofer - - * generic/tclExecute.c: Fixing errors in last commit. (Two commits, the - second removes wrong comment). - -2005-10-09 Miguel Sofer - - * generic/tclBasic.c: - * generic/tclExecute.c: - * generic/tclStrToD.c: - * generic/tclStringObj.c: Initialise variables to avoid compiler - warnings ([Bug 1320818] among others). - -2005-10-08 Don Porter - - TIP#237 IMPLEMENTATION - - [kennykb-numerics-branch] Resynchronized with the HEAD; at this - checkpoint [-rkennykb-numerics-branch-20051008], the HEAD and - kennykb-numerics-branch contain identical code. - - [kennykb-numerics-branch] Merge updates from HEAD - - * generic/tclExecute.c: More performance macros and special handling of - the wide integer type for performance on 32-bit systems. - -2005-10-07 Don Porter - - [kennykb-numerics-branch] - - * generic/tclExecute.c: Macro GetNumberFromObj() is version of - TclGetNumberFromObj() that saves a function call for common uses. - - * generic/tclInt.h: Made #undef NO_WIDE_TYPE the default on 32-bit - systems. Being able to use 64-bit values without leaping to mp_int - should help with performance. - - * generic/tclObj.c: Bug fixes in the #undef NO_WIDE_TYPE - * generic/tclExecute.c: configuration. - - * generic/tclExecute.c: Improved performance of comparison opcodes and - bitwise operations and removed yet more dead code. - -2005-10-07 Jeff Hobbs - - * unix/tclUnixFCmd.c (TraverseUnixTree): Adjust 2004-11-11 change to - * tests/fCmd.test (fCmd-20.2): account for NFS special files - with a readdir rewind threshold. [Bug 1034337] - -2005-10-06 Don Porter - - [kennykb-numerics-branch] - - * generic/tclExecute.c: Improved performance of INST_RSHIFT and - INST_LSHIFT. - -2005-10-05 Don Porter - - [kennykb-numerics-branch] - - * generic/tclExecute.c: Improved performance of INST_MULT, INST_DIV, - INST_ADD, and INST_SUB and replaced a "goto... label" with a "break - from loop" in TclIncrObj() and removed some dead code. - -2005-10-05 Andreas Kupries - - * generic/tclPipe.c (TclCreatePipeline): Fixed [Bug 1109294]. Applied - the patch provided by David Gravereaux. - - * doc/CrtChannel.3: Fixed [Bug 1104682], by application of David - Welton's patch for it, and added a note about wideSeekProc. - - * generic/tclIORChan.c (RcClose): Removed unreachable panic/return - statements. This fixes the remainder of [Bug 1286256]. - -2005-10-05 Jeff Hobbs - - * tests/env.test (env-6.1): - * win/tclWinPort.h: define USE_PUTENV_FOR_UNSET 1 - * generic/tclEnv.c (TclSetEnv, TclUnsetEnv): add USE_PUTENV_FOR_UNSET - to existing USE_PUTENV define to account for various systems that have - putenv(), but can't unset env vars with it. Note difference between - Windows and Linux for actually unsetting the env var (use of '='). - Correct the resizing of the environ array. We assume that we are in - full ownership, but that's not correct.[Bug 979640] - -2005-10-04 Don Porter - - [kennykb-numerics-branch] - * generic/tclExecute.c: Updated TclIncrObj() to more efficiently add - native long integers. Also updated IllegalExprOperandType and the - INST_UMINUS, INST_UPLUS, INST_BITNOT, and INST_TRY_CVT_TO_NUMERIC - sections for performance. - - * generic/tclBasic.c: Updated more callers to make use of - TclGetNumberFromObj. Removed some dead code. - -2005-10-04 Jeff Hobbs - - * win/tclWinSerial.c (SerialSetOptionProc): free argv [Bug 1067708] - - * tests/http.test: do not URI encode -._~ according - * library/http/http.tcl (init): to RFC3986. [Bug 1182373] (aho) - - * unix/tclLoadShl.c (TclpDlopen): use DYNAMIC_PATH on second shl_load - only. [Bug 1204237] - - * doc/scan.n: scan %[] requires "one or more chars" [Bug 1277503] - - * tests/winFile.test (getuser): allow valid Windows usernames. [Bug - 1311285] - - * generic/tclParse.c (Tcl_ParseCommand): add code that recognizes {} in - addition to {expand} for word expansion (make with - -DALLOW_EMPTY_EXPAND). - -2005-10-04 Zoran Vasiljevic - - * generic/tclIO.c (Tcl_ClearChannelHandlers): now deletes any - outstanding timer for the channel. Also, prevents events still in the - event queue from triggering on the current channel. - - * generic/tclTimer.c (Tcl_DeleteTimerHandler): bail out early if passed - NULL argument. - -2005-10-03 Don Porter - - [kennykb-numerics-branch] - - * generic/tclBasic.c: Re-implemented ExprRoundFunc and - ExprEntierFunc to use TclGetNumberFromObj. - - * generic/tclInt.h: Added new routine TclGetNumberFromObj to - * generic/tclObj.c: provide efficient access to the actual - internal rep of a numeric Tcl_Obj without conversions. - -2005-10-03 Kevin Kenny - - * tools/loadICU.tcl: Changed the file names of message catalogs to - lowercase. - * tools/makeTestCases.tcl: - * library/tzdata/*: Olson's tzdata2005n.tar.gz. Includes new DST - rules for USA and a number of changes to other locales. - * tests/clock.test: Regenerated for new US DST rules. - -2005-09-30 Don Porter - - * generic/tclMain.c: Separate encoding conversion of command line - arguments from list formatting. [Bug 1306162]. - -2005-09-30 Don Porter - - [kennykb-numerics-branch] - - * generic/tclStringObj.c: Bug fix: Missing cast to large enough - integral size before << operations led to broken [format %llx] results. - Thanks to Robert Henry for reporting the bug. - -2005-09-29 Jeff Hobbs - - * doc/mathfunc.n: implementation for TIP #255, expr min/max - * library/init.tcl: - * tests/info.test, tests/expr-old.test: - -2005-09-27 Don Porter - - [kennykb-numerics-branch] - - * generic/tcl.h: Changed name of the new Tcl_Obj intrep field - * generic/tclObj.c: from "bignumValue" to "ptrAndLongRep" as - * generic/tclProc.c: described in TIP 237, and more suitable for - other more general uses. - -2005-09-27 Donal K. Fellows - - * tests/binary.test (binary-14.18): Added test for [Bug 1116542] though - the bug itself was already fixed by unrelated changes. - -2005-09-26 Kevin Kenny - - [kennykb-numerics-branch] Merge updates from HEAD. - -2005-09-26 Kevin Kenny - - * libtommath/: Updated to release 0.36. - * generic/tommath.h: Regenerated. - * generic/tclTomMathInterface.h: Added ten missing aliases for mp_* - functions to avoid namespace pollution in Tcl's exported symbols. [Bug - 1263012] - -2005-09-23 Don Porter - - [kennykb-numerics-branch] - - * unix/Makefile.in: Added -DMP_PREC=4 switch to all compiles so - * win/Makefile.in: that minimum memory requirements of mp_int's - * win/makefile.vc: will not be quite so large. [Bug 1299153]. - - * generic/tclStrToD.c: Fixed memory leak. [Bug 1299803]. - * generic/tclObj.c: - -2005-09-20 Don Porter - - [kennykb-numerics-branch] - - * generic/tclExecute.c: Revise TclIncrObj() to call - Tcl_GetBignumAndClearObj. - - * generic/tcl.decls: Add Tcl_GetBignumAndClearObj. - * generic/tclObj.c: - - * generic/tclDecls.h: make genstubs - * generic/tclStubInit.c: - -2005-09-16 Don Porter - - [kennykb-numerics-branch] - - * generic/tclInt.h: Added TclBNInitBigNumFromWideInt() so - * generic/tclTomMathInterface.c: that every caller isn't required to - duplicate the sign logic to use the unsigned interface. - - * generic/tclBasic.c: Reduce the number of places where Tcl intrudes - * generic/tclExecute.c: into the internal format details of the mp_int - * generic/tclObj.c: struct. - * generic/tclStrToD.c: - * generic/tcLStringObj.c: - - * generic/tclTomMath.h: Added mp_cmp_d to routines from libtommath - * unix/Makefile.in: used by Tcl. - * win/Makefile.in: - * win/makefile.vc: - - * libtommath/bn_mp_add_d.c: Bug fix. For mp_add_d(&a, d, &c), when &a - has the value -d, then the value &c computed should be zero, but - mp_add_d was producing an inconsistent zero value with a sign field of - MP_NEG, something like a value of -0, which other routines in - libtommath can't handle. - - * generic/tclExecute.c: Dropped all creation of "bigOne" values and - just use tommath routines that accept the value "1" directly. - -2005-09-15 Miguel Sofer - - * doc/ParseCmd.3: copy/paste fix [Bug 1292427] - -2005-09-15 Don Porter - - [kennykb-numerics-branch] Merge updates from HEAD. - - * generic/tclStringObj.c (TclAppendFormattedObjs): Revision to - eliminate one round of string copying. - - * generic/tclBasic.c: More callers of TclObjPrintf and - * generic/tclCkalloc.c: TclFormatToErrorInfo. - * generic/tclCmdMZ.c: - * generic/tclExecute.c: - * generic/tclIORChan.c: - * generic/tclMain.c: - * generic/tclProc.c: - * generic/tclTimer.c: - * generic/tclUtil.c: - * unix/tclUnixFCmd.c - - * unix/configure: autoconf-2.59 - -2005-09-15 Donal K. Fellows - - * unix/tcl.m4 (SC_TCL_EARLY_FLAGS): Added extra hack to allow Tcl to - transparently open large files on RHEL 3. [Bug 1287638] - -2005-09-14 Don Porter - - * generic/tclStringObj.c: Bug fixes: ObjPrintfVA needed to - support "*" fields and needed to interpret precision limits on %s - conversions as a maximum number of bytes, not Tcl_UniChars, to take - from the (char *) argument. - - * generic/tclBasic.c: Updated several callers to use - * generic/tclCkalloc.c: TclFormatToErrorInfo() and/or - * generic/tclCmdAH.c: TclObjPrintf(). - * generic/tclCmdIL.c: - * generic/tclCmdMZ.c: - * generic/tclDictObj.c: - * generic/tclExecute.c: - * generic/tclIORChan.c: - * generic/tclIOUtil.c: - * generic/tclNamesp.c: - * generic/tclProc.c: - - * library/init.tcl: Keep [unknown] in sync with errorInfo - formatting rules. - -2005-09-13 Don Porter - - * generic/tclBasic.c: First caller of TclFormatToErrorInfo. - - * generic/tclInt.h: Using stdarg.h conventions, add more - * generic/tclStringObj.c: fixed arguments to TclFormatObj() and - TclObjPrintf(). Added new routine TclFormatToErrorInfo(). - - * generic/tcl.h: Explicitly standardized on the use of stdarg.h - * generic/tclBasic.c: conventions for functions with variable number - * generic/tclInt.h: of arguments. Support for varargs.h has been - * generic/tclPanic.c: implicitly gone for some time now. All - * generic/tclResult.c: TCL_VARARGS* macros purged from Tcl sources, - * generic/tclStringObj.c: leaving only some deprecated #define's - * tools/genStubs.tcl: in tcl.h for the sake of older extensions. - - * generic/tclDecls.h: make genstubs - - * doc/AddErrInfo.3: Replaced all documented requirement for use of - * doc/Eval.3: TCL_VARARGS_START() with requirement for use of - * doc/Panic.3: va_start(). - * doc/SetResult.3: - * doc/StringObj.3: - -2005-09-12 Don Porter - - [kennykb-numerics-branch] Merge updates from HEAD. - - * generic/tclCmdAH.c: Added support for the "ll" width - * generic/tclStringObj.c: specifier to [format]. - - * generic/tclStringObj.c (TclAppendFormattedObjs): Bug fix: make - sure %ld formats force the collection of a wide value, when the value - could be a different long. - -2005-09-09 Andreas Kupries - - * generic/tclIORChan.c (RcDecodeEventMask): Added missing type - declaration for the parameter 'mask'. This fixes the [Bug 1286256]. The - other warning can be removed only by removing the panic/return code. - -2005-09-09 Don Porter - - [kennykb-numerics-branch] Merge updates from HEAD. - -2005-09-09 Kevin Kenny - - * generic/tclStringObj.c: Added two missing casts to silence messages - from MSVC6. - -2005-09-09 Don Porter - - * generic/tclInt.h: New internal routine TclObjPrintf() - * generic/tclStringObj.c: is similar to TclFormatObj() but - accepts arguments in non-Tcl_Obj format. - - * generic/tclInt.h: New internal routines TclFormatObj() - * generic/tclStringObj.c: and TclAppendFormattedObjs() to offer - sprintf()-like means to append to Tcl_Obj. Work in progress toward - [RFE 572392]. - - * generic/tclCmdAH.c: Compiler directive NEW_FORMAT when #define'd - directs the [format] command to be implemented in terms of the new - TclAppendFormattedObjs() routine. - -2005-09-08 Donal K. Fellows - - TIP#254 IMPLEMENTATION - - * generic/tclLink.c (LinkTraceProc,ObjValue): Added many new of C var - * generic/tcl.h: to link to, making it - * doc/LinkVar.3: easier to seamlessly - * generic/tclTest.c (TestlinkCmd): couple C code and Tcl - * tests/link.test: scripts in an - application. [Patch 1242844] - -2005-09-07 Don Porter - - * generic/tclUtf.c (Tcl_UniCharToUtf): Corrected handling of negative - * tests/utf.test (utf-1.5): Tcl_UniChar input value. Incorrect - handling was producing byte sequences outside of Tcl's legal internal - encoding. [Bug 1283976]. - -2005-09-06 Donal K. Fellows - - * generic/tclInt.h (List): Added flag to keep track of whether a list - * generic/tclListObj.c: with a string rep is provably canonical. - * generic/tclUtil.c (Tcl_ConcatObj): Do efficient concatenation and - * generic/tclBasic.c (Tcl_EvalObjEx): evaluation when the list is - canonical, and not just when the list is pure. This should make the - "pure list" hacking introduced in 8.3 much more robust. - -2005-09-05 Donal K. Fellows - - * generic/tclObj.c (pendingObjDataKey): Added missing 'static' to stop - symbol from leaking outside the Tcl library. [Bug 1263012] - -2005-09-02 Don Porter - - [kennykb-numerics-branch] - - * generic/tclScan.c: Bug fix: The %o, %x, %i formats of [scan] must - not accept any 0b or 0o prefixes. [scan $s %o] must continue to work - even with KILL_OCTAL enabled. - - * generic/tclInt.h: Added TCL_PARSE_SCAN_PREFIXES to the flags - * generic/tclStrToD.c: accepted by TclParseNumber. - -2005-09-01 Andreas Kupries - - * unix/tclUnixSock.c (InitializeHostName): Synchronized use of static - modifier in declaration and definition of function. - - * unix/tclUnixChan.c (FileTruncateProc): Synchronized use of static - modifier in declaration and definition of function. - - * generic/tclResult.c (ReleaseKeys): Synchronized use of static - modifier in declaration and definition of function. - - * generic/tclListObj.c (NewListIntRep): Synchronized use of static - modifier in declaration and definition of function. - - * generic/tclEncoding.c (InitializeEncodingSearchPath): Synchronized - use of static modifier in declaration and definition of function. - - * generic/tclEncoding.c (FillEncodingFileMap): Synchronized use of - static modifier in declaration and definition of function. - - * generic/tclIORChan.c (RcNewHandle): Synchronized use of static - modifier in declaration and definition of function. - -2005-09-01 Don Porter - - [kennykb-numerics-branch] - - * generic/tclObj.c: TclParseNumber calls meant to parse an integer - value now pass the TCL_PARSE_INTEGER_ONLY flag. - - * generic/tclScan.c: Extended [scan] to accept the %lld, %llo, %llx, - and %lli formats. Numeric scanning is now done via TclParseNumber calls - - * generic/tclInt.h: Extended TclParseNumber to accept new flag - * generic/tclStrToD.c: values TCL_PARSE_INTEGER_ONLY, - TCL_PARSE_OCTAL_ONLY, and TCL_PARSE_HEXIDECIMAL_ONLY, to give caller - more control over the parsing rules. - -2005-08-31 Vince Darley - - * doc/FileSystem.3: - * unix/tclUnixFile.c: - * windows/tclWinFile.c: clarify that Tcl_FSMatchInDirectory may be - called with a NULL interpreter, and fix the code so this is allowed. - Tcl's core itself (tclEncoding.c:FillEncodingFileMap()) calls this - with a NULL interpreter. - -2005-08-30 Don Porter - - [kennykb-numerics-branch] - - * generic/tclObj.c: Extended bignum support to include bignums so - large they will not pack into a Tcl_Obj. When they outgrow Tcl's string - rep length limits, a panic will result. - - * generic/tclTomMath.h: Added mp_sqrt to routines from - * unix/Makefile.in: libtommath used by Tcl. - * win/Makefile.in: - * win/makefile.vc: - - * generic/tclBasic.c: Extended sqrt(.) so that range covers the - entire double range, accepting as many bignums in the domain as that - will allow. - -2005-08-29 Andreas Kupries - - * library/tm.tcl (::tcl::tm::roots): Accepted Don Porter's patch for - [Bug 1189657]. Syncs the implementation to the specification (TIP #189) - -2005-08-29 Don Porter - - [kennykb-numerics-branch] Merge updates from HEAD. - - * generic/tclBasic.c: Restored round(.) to the Tcl 8.4 rules. - -2005-08-29 Kevin Kenny - - * generic/tclBasic.c (ExprMathFunc): Restored "round away from zero" - * tests/expr.test (expr-46.*): behaviour to the "round" function. - Added test cases for the behavior, including the awkward case of a - number whose fractional part is 1/2-1/2ulp. [Bug 1275043] - -2005-08-26 Andreas Kupries - - * generic/tclIO.c: Moved Tcl_{Cut,Splice}Channel to - {Cut,Splice}Channel for internal use, and created new public functions - for Tcl_{Cut,Splice}Channel which walk the whole stack of - transformations and invoke the necessary thread actions. Added code to - Tcl_(Un)StackChannel to properly invoke the thread actions when pushing - and popping transformations on/from a channel. - -2005-08-26 Donal K. Fellows - - * generic/tclNamesp.c (NamespaceEnsembleCmd): Reset the result after - creating an ensemble to clear any result object sharing (potentially - caused by delete traces) so that we can safely return the name of the - ensemble. Previously, this caused crashes in Snit's test suite. - -2005-08-25 Donal K. Fellows - - * generic/tclListObj.c (UpdateStringOfList): Stop uncontrolled and - unsafe crashes from happening when working with very large string - representations. [Bug 1267380] - - * generic/tclExecute.c (TEBC:INST_DICT_LAPPEND): Stop dropping a - duplicated object on the floor, which was a memory leak (and a wrong - result too). Thanks to Andreas Kupries for reporting this. - -2005-08-25 Don Porter - - [kennykb-numerics-branch] Merge updates from HEAD - - * generic/tclExecute.c: Bug fix. INST_RSHIFT: shift of negative values - produced incorrect results. - - * generic/tclExecute.c: Bug fix. INST_*SHIFT opcodes stack management. - [expr 0<<6] should be 0, not 6. - - * generic/tclBasic.c: Extended the domain of round(.) to all non-Inf, - non-NaN doubles, using bignums for the result as needed. - -2005-08-24 Andreas Kupries - - TIP#219 IMPLEMENTATION - - * doc/SetChanErr.3: ** New File **. Documentation of the new channel - API functions. - * generic/tcl.decls: Stub declarations of the new channel API. - * generic/tclDecls.h: Regenerated - * generic/tclStubInit.c: - - * tclIORChan.c: ** New File **. Implementation of the reflected - channel. - * generic/tclInt.h: Integration of reflected channel and new error - * generic/tclIO.c: propagation into the generic I/O core. - * generic/tclIOCmd.c: - * generic/tclIO.h: - * library/init.tcl: - - * tests/io.test: Extended testsuite. - * tests/ioCmd.test: - * tests/chan.test: - * generic/tclTest.c: - * generic/tclThreadTest.c: - - * unix/Makefile.in: Integration into the build machinery. - * win/Makefile.in: - * win/Makefile.vc: - -2005-08-24 Kevin Kenny - - * generic/tclStrToD.c (Tcl_DoubleDigits): Fixed the corner cases of - * tests/binary.test (binary-65.*) formatting floating point - numbers with the largest and smallest possible significands, and added - test cases for them. - -2005-08-24 Kevin Kenny - - [kennykb-numerics-branch] - - * generic/tclExecute.c: Corrected some TRACE bugs that prevented - compilation with --enable-symbols=all. - * generic/tclStrToD.c: Revised commentary to prepare for a renaming of - the file, removed some dead code, and fixed a bug where - TclBignumToDouble failed on huge negative numbers. - * tests/binary.test (binary-65.*): Added missing 'ieeeFloatingPoint' - to large/small significand tests. - * tests/expr.test (expr-45.*) Added missing braces around expressions. - -2005-08-24 Don Porter - - [kennykb-numerics-branch] - - * generic/tclBasic.c: Revised implementation of the ceil(.) and - * generic/tclInt.h: floor(.) math functions in light of the - * generic/tclStrToD.c: revised comparison operators, so that it is - always true that ($x <= ceil($x)) and ($x >= floor($x)). The simple - approach of "convert to double and call ceil() or floor()" could not - guarantee that. - - * generic/tclExecute.c: Bug fix: TclBignumToDouble return -Inf when - appropriate. Removed declarations of removed routines. - - * generic/tclExecute.c: Revised the type promotion rules of the - comparison operators so that they form proper equivalence classes over - the set of numeric strings. - -2005-08-23 Mo DeJong - - * unix/configure.in: - * win/configure: Regen. - * win/configure.in: Update minimum autoconf version to 2.59. - -2005-08-23 Kevin Kenny - - [kennykb-numerics-branch] - - * generic/tclCmdMZ.c (Tcl_StringObjCmd): - * generic/tclInt.h: - * generic/tclObj.c (Tcl_GetBooleanFromObj, SetDoubleFromAny, - Tcl_GetLongFromObj, Tcl_GetWideIntFromObj, Tcl_GetBignumFromObj): - * generic/tclParseExpr.c (GetLexeme): - * generic/tclScan.c (Tcl_ScanObjCmd): - * generic/tclStrToD.c (TclParseNumber): - * tests/binary.test (binary-62.1-65.7): - * tests/expr.test (expr-40.1-42.1): - * scan.test (scan-14.1,14.2): - Modified Tcl_ParseNumber to accept an argument to force interpretation - as decimal, and modified [scan] to use it. Corrected a bug where Not a - Number with hexadecimal information bits returned consistently - incorrect values. #ifdef-ed out some code that is needed only for IBM - hexadecimal floating point. Fixed bugs in code to handle the corner - cases of smallest and largest significands. Added test cases to improve - test coverage in generic/tclStrToD.c. Added test cases for 0b notation - (TIP #114). Removed TclStrToD, and the static functions that it calls, - which are now dead code (TclParseNumber now does all input - floating-point conversions.) - -2005-08-23 Don Porter - - [kennykb-numerics-branch] - - * generic/tclStrToD.c: Bug fix: set shift magnitude properly whether - we're expanding to mp_int type or not. - - * generic/tclExecute.c: Bug fix: ACCEPT_NAN under INST_UMINUS. - - * generic/tclStrToD.c: New macros TIP_114_FORMATS and KILL_OCTAL to - configure acceptance of 0o and 0b numbers and rejection of "leading - zero as octal". - - * generic/tclBasic.c: Re-used the guts of int(.) and wide(.) math - functions to perform conversions in OldMathFuncProc. - - * generic/tclBasic.c: Support for ACCEPT_NAN. - * generic/tclExecute.c: - - * generic/tclInt.decls: Restored TclExprFloatError to internal stubs - * generic/tclBasic.c: table, and moved definition back to - * generic/tclExecute.c: tclExecute.c from tclBasic.c to handle #undef - ACCEPT_NAN. - - * generic/tclIntDecls.h: make genstubs - * generic/tclStubInit.c: - - * generic/tclInt.h: New internal macros TclIsNaN and TclIsInfinite - * generic/tclBasic.c: replace the IS_NAN and IS_INF macros scattered - * generic/tclExecute.c: here and there. - * generic/tclObj.c: - * generic/tclStrToD.c: - * generic/tclUtil.c: - -2005-08-22 Daniel Steffen - - * unix/tclConfig.h.in: autoheader-2.59. - -2005-08-22 Don Porter - - [kennykb-numerics-branch] - - * generic/tclInt.h: New ACCEPT_NAN macro to mark code that - * generic/tclCmdAH.c: supports or disables accepting of the NaN - * generic/tclExecute.c: value at various points. - * generic/tclLink.c: - - * generic/tclStrToD.c: Bug fix. Parsing of +/- Infinity was reversed. - - * generic/tclTestObj.c: Disabled unused [testconvertobj] command. - - * generic/tclBasic: Added [expr {entier(.)}]. Rewrote int(.) and - wide(.) to use the same guts, accepting all non-Inf doubles as - arguments. - - * generic/tclInt.h: New routine TclInitBignumFromDouble. - * generic/tclStrToD.c: Modified to return code and write error - message. - - * generic/tclInt.h: TCL_WIDE_INT_IS_LONG implies NO_WIDE_TYPE. - * generic/tclObj.c: Removed now unnecessary tests of the - * generic/tclStrToD.c: TCL_WIDE_INT_IS_LONG definition. - - * generic/tclInt.h: New internal routine TclSetBignumIntRep - * generic/tclObj.c: consolidates packing of bignum value into a - * generic/tclStrToD.c: Tcl_Obj within one source code file. - - * tests/expr.test: Corrected the wideIs64bit constraint. - * tests/format.test: - * tests/scan.test: - -2005-08-21 Don Porter - - [kennykb-numerics-branch] - - * generic/tclInt.h: Moved TclParseInteger to tclUtil.c and - * generic/tclParseExpr.c: made it static. - * generic/tclUtil.c: - - * generic/tclInt.decls: Moved TclExprFloatError to tclBasic.c and made - * generic/tclBasic.c: it static. - * generic/tclExecute.c: - - * generitc/tclIntDecls.h: make genstubs - * generic/tclStubInit.c: - - * generic/tclExecute.c: errno, IS_NAN, IS_INF, LLD no longer called in - this file; dropped/disabled support for them. - - * generic/tclCompExpr.c: errno no longer used in these files; - * generic/tclParseExpr.c: dropped support "hack" for it. - - * generic/tclStrToD.c: Disabled out of date support "hack" for errno. - - * generic/tclBasic.c: Eliminated VerifyExprObjType. Initialize errno - to zero in OldMathFuncProc. - -2005-08-19 Don Porter - - [kennykb-numerics-branch] - - * generic/tclBasic.c: Updated OldMathFuncProc and ExprAbsFunc to do - less invasion into numeric Tcl_Obj internals. Made ExprDoubleFunc, - ExprIntFunc, ExprWideFunc, and ExprRoundFunc bignum-aware. Revised - ExprSrandFunc error message. - - * generic/tclProc.c: Wrapped a few tclWideIntType uses in - * generic/tclCmdMZ.c: #ifndef NO_WIDE_TYPE. - - * generic/tclInt.h: #define'd NO_WIDE_TYPE. - - * generic/tclVar.c: Replaced TclPtrIncrVar and TclPtrIncrWideVar - * generic/tclInt.h: with TclPtrIncrObjVar and replaced TclIncrVar2 - * generic/tclInt.decls: and TclIncrWideVar2 with TclIncrObjVar2. New - routines call on TclIncrObj to do the work. - - * generic/tclIntDecls.h: make genstubs - * generic/tclStubInit.c: - - * generic/tclCmdIL.c: Rework Tcl_IncrObjCmd and the INST_*INCR* - * generic/tclExecute.c: opcodes to use the new routines. - -2005-08-18 Don Porter - - [kennykb-numerics-branch] - - * generic/tclExecute.c: Fixed string rep invalidation bug in - * tests/dict.test (dict-11.17): INST_DICT_INCR_IMM rewrite. - - * generic/tclDictObj.c: DictIncrCmd rewrite to use TclIncrObj. - - * generic/tclInt.h: TclIncrObj static -> internal - * generic/tclExecute.c: - -2005-08-17 George Peter Staplin - - * generic/tclBasic.c: eliminate a namespace clash caused by - BuiltinFuncTable not being static. - - * generic/tclObj.c: fix a namespace clash caused by a missing - static for pendingObjData. - -2005-08-17 Kevin Kenny - - * generic/tclEvent.c (Tcl_Finalize): Removed a copy-and-paste accident - that caused a (mostly harmless) double finalize of the load and - filesystem subsystems. - * tests/clock.test: Eliminated the bad test clock-43.1, and split - clock-50.1 into two tests, with a more permissive check on the error - message for an out-of-range value. - -2005-08-17 Kevin Kenny - - [kennykb-numerics-branch] - - * generic/tclBasic.c (Tcl_Expr{Long,Double}{,Obj}): Updated to - * generic/tclTest.c: deal with - * tests/expr-old.test: bignums (well, - * tests/expr.test: mostly). - Added a missing "errno=0;" in ExprUnaryFunc so that spurious error - returns aren't detected. - Added test cases for Tcl_Expr* and Tcl_Expr*Obj because there was very - poor test coverage in those areas. - * generic/tclParseExpr.c: Reworked parsing of numbers to call - TclParseNumber rather than trying to do things locally. - * generic/tclStrToD.c: Corrected a comment. Changed so that *endPtrPtr - does not include any trailing whitespace. - -2005-08-17 Don Porter - - [kennykb-numerics-branch] - - * generic/tclExecute.c: New routine TclIncrObj to centralize the - increment operation needed in many places. Updated INST_DICT_INCR_IMM - to make use of it. - -2005-08-16 Don Porter - - [kennykb-numerics-branch] - - * generic/tclExecute.c: Made bit shifting opcodes and INST_MOD - bignum-aware. - - * tests/scan.test: Making << bignum-aware means that repeated - * tests/string.test: left shifting cannot turn a positive into a - negative. Revised [int_range] and [largest_int] utility commands in the - test suite that relied on that happening. Without revision they became - infinite loops. - - * generic/tclExecute.c: Made binary bitwise opcodes bignum-aware. - - * generic/tclTomMath.h: Added mp_or and mp_xor to routines from - * unix/Makefile.in: libtommath used by Tcl. - * win/Makefile.in: - * win/makefile.vc: - -2005-08-15 Don Porter - - [kennykb-numerics-branch] Updates from HEAD. - * generic/tclExecute.c: More revisions to IllegalExprOperandType. - Merged INST_BITNOT with INST_UMINUS and make it bignum-aware according - to the rule: ~a = -a - 1. Disabled unused code and noted more TODOs. - - * generic/tclInt.decls: Disabled TclLooksLikeInt() and all callers. - * generic/tclUtil.c: - * generic/tclCompCmds.c: - - * generic/tclBasic.c: Rewrite of VerifyExprObjType(). - - * generic/tclIntDecls.h: make genstubs - * generic/tclStubInit.c: - - * generic/tclExecute.c: Updated execution of comparison bytecodes to - be bignum-aware, routing string compares through INST_STR_CMP. - -2005-08-14 Don Porter - - [kennykb-numerics-branch] - - * generic/tclExecute.c: Updated execution of arithmetic bytecodes to - be bignum-aware, and to allow calculations on NaN to produce a NaN - result. INST_UMINUS updated to call mp_neg. - - * generic/tclTomMath.h: Added mp_and, mp_expt_d, and mp_neg to - * unix/Makefile.in: routines from libtommath used by Tcl. - * win/Makefile.in: - * win/makefile.vc: - -2005-08-13 Don Porter - - [kennykb-numerics-branch] - - * generic/tclObj.c: Extended Bignum auto-narrowing to auto-narrow - to tclWideIntType when appropriate; this helps keep things working as - the bytecode execution code is migrated to supporting bignums. - - * generic/tclExecute.c: Major overhaul of IllegalExprOperandType. - Changed several TclNewFooObj() calls to more logically appropriate - ones. Added several TODO comments marking opportunies for future work. - Made more use of the eePtr->constants. Made INST_UMINUS bignum aware. - -2005-08-12 Don Porter - - [kennykb-numerics-branch] - - * generic/tclExecute.c: Simplify doCondJump. Use eePtr->constants as - result of INST_DICT_NEXT, INST_LAND, and INST_LOR. Separate INST_LNOT - from INST_UMINUS and simplify. - -2005-08-12 Kevin Kenny - - * generic/tclClock.c (MktimeObjCmd): - * library/clock.tcl (GetSystemTimeZone, LoadZoneinfoFile) - (ReadZoneinfoFile): - * tests/clock.test (clock-50.1): - Added functionality to read /etc/localtime if it exists, so that Tcl's - time can track system time on Linux even if TZ is not set. Changed - ::tcl::clock::Mktime to check for failure, and added a test case that - mimics failure but is really success. - -2005-08-11 Don Porter - - [kennykb-numerics-branch] - - * generic/tclExecute.c: Rewrite of INST_LAND/INST_LOR to take advantage - of loss of "pure double" issues. Merged INST_UPLUS with - INST_TRY_CVT_TO_NUMERIC and updated to use improved rules for impure - "double"s as well. - - * generic/tclStrToD.c: Restored conditional generation of - tclWideIntType values by TclParseNumber so that Tcl's not completely - broken while bignum calculation support is incomplete. The NO_WIDE_TYPE - macro can be used to disable this. - - * generic/tclBasic.c (ExprAbsFunc): First pass making [expr abs(.)] - bignum-aware. - -2005-08-11 Kevin Kenny - - * generic/tclEvent.c: Eliminated the USE_THREAD_STORAGE option - * generic/tclInt.h: (which is on in every build generated by - * generic/tclThread.c: by the standard configurator). - * generic/tclThreadStorage.c: Eliminated the code for thread specific - * unix/configure: data without USE_THREAD_STORAGE and - * unix/tcl.m4: radically refactored the code for - * unix/tclConfig.h.in: USE_THREAD_STORAGE so that it has fewer - * unix/tclUnixThrd.c: dependencies on the order of - * win/configure: finalization. (Also, made 'make - * win/Makefile.in: distclean' on Windows clean just a little - * win/rules.vc: bit cleaner.) - * win/tcl.m4: - * win/tclWinThrd.c: - -2005-08-10 Don Porter - - [kennykb-numerics-branch] - - * generic/tclTomMath.h: Added mp_shrink, mp_to_unsigned_bin, - * unix/Makefile.in: mp_to_unsigned_bin_n, and mp_unsigned_bin_size - * win/Makefile.in: to routines from libtommath used by Tcl. - * win/makefile.vc: - - * generic/tommath.h: make gentommath_h - - * generic/tclObj.c: Substantial rewrite to make all number parsing - flow through TclParseNumber(). Also established the NO_WIDE_TYPE and - BIGNUM_AUTO_NARROW #ifdef's to help track the assumptions of different - portions of the code. - - * generic/tclInt.h: Added NO_WIDE_TYPE #ifdefs - -2005-08-10 Kevin Kenny - - * generic/tclEvent.c (Tcl_Finalize): Pushed Tcl_FinalizeLoad and - Tcl_ResetFilesystem down after Tcl_FinalizeThreadAlloc because we can't - unload DLL's until after their TSD keys are finalized. (Note that we'll - still see aborts if an unloaded DLL has TSD - that still needs to be - fixed. - - * tests/compExpr-old.test (compExpr-3.8): Made tests conditional on - * tests/expr.test (expr-3.8): 'unix' because they get - stack overflows on Win32 threaded builds, - -2005-08-09 Vince Darley - - * generic/tclPathObj.c: fix to [file rootname] bug in optimized code - path reported on comp.lang.tcl. - -2005-08-08 Don Porter - - [kennykb-numerics-branch] - - * generic/tclObj.c: Replaced some goto's with loops and started - use of BIGNUM_AUTO_NARROW and NO_WIDE_TYPE. - -2005-08-06 Donal K. Fellows - - * generic/tclThreadStorage.c: Stop exposing the guts of the thread - storage system through the internal stubs table. Client code should - always use the standard API. - -2005-08-05 Don Porter - - [kennykb-numerics-branch] - * generic/tclObj.c: Rewrote Tcl_GetDoubleFromObj(). - -2005-08-05 Donal K. Fellows - - * unix/tclUnixInit.c (localeTable): Solaris uses a non-standard name - for the cp1251 charset. Thanks to Victor Wagner for reporting this. - [Bug 1252475] - -2005-08-05 Kevin Kenny - - * win/makefile.vc: Removed unused file ldAout.tcl. - * win/makefile.bc: [Bug 1244361] - - * tests/binary.test: Cleaned up testing for scanning of NaN. [Bug - 1246264] - - * generic/tclBasic.c (ExprAbsFunc): Added code to handle the corner - * tests/expr.test (expr-38.1): case of applying 'abs' to the - smallest 32-bit integer. [Bug 1241572] - -2005-08-04 Andreas Kupries - - * generic/tclIO.c (CloseChannel): Fixed comment nit, added apparently - missing word to complete a sentence. - - * generic/tclObj.c (Tcl_DbDecrRefCount): Fixed whitespace nit in panic - message. - -2005-08-04 Don Porter - - [kennykb-numerics-branch] Updated from HEAD - - * generic/tclObj.c: Rewrote Tcl_GetBooleanFromObj() and supporting - routines to make use of TclParseNumber. This reduces the potential - number of times a string value must be scanned. - - * generic/tclObj.c: Simplified routines that manage the typeTable. - Deleted the UpdateStringOfBoolean() routine, that can never be called. - -2005-08-03 Don Porter - - * generic/tclCompExpr.c: Untangled some dependencies in the - * generic/tclEvent.c: order of finalization routines. - * generic/tclInt.h: [Bug 1251399] - * generic/tclObj.c: - -2005-08-02 Don Porter - - [kennykb-numerics-branch] Updated from HEAD - -2005-07-30 Daniel Steffen - - * unix/tclLoadDyld.c (TclpDlopen, TclpLoadMemory): workarounds for - bugs/changes in behaviour in Mac OS X 10.4 Tiger. - -2005-07-29 Donal K. Fellows - - * generic/tclCmdIL.c (InfoGlobalsCmd): Even in high-speed mode, still - have to take care with non-existant variables. [Bug 1247135] - -2005-07-28 Mo DeJong - - * win/README: Update link to msys_mingw8.zip. - -2005-07-28 Don Porter - - * tests/compExpr-old.test: Still more conversion of "nonPortable" - * tests/error.test: tests into tests with constraints that - * tests/expr-old.test: describe the limits of their - * tests/expr.test: portability. Also more consolidation - * tests/fileName.test: of constraint synonyms. - * tests/format.test: wideis64bit, 64bitInts => wideIs64bit - * tests/get.test: wideIntegerUnparsed => wideIs32bit - * tests/load.test: wideIntExpressions => wideBiggerThanInt - * tests/obj.test: - * tests/parseExpr.test: Dropped "roundOffBug" constraint that - * tests/string.test: protected from buggy sprintf. - -2005-07-28 Donal K. Fellows - - * generic/tclPipe.c (TclCreatePipeline): Arrange for POSIX systems to - * unix/tclUnixPipe.c (TclpOpenFile): use the O_APPEND flag for - * tests/exec.test (exec-19.1): files opened in a pipeline - like ">>this". Note that Windows cannot support such access; there is - no equivalent flag on the handle that can be set at the kernel-call - level. The test is unix-specific in every way. [Bug 1245953] - -2005-07-27 Don Porter - - * generic/tclUtil.c: Converted the $::tcl_precision value to be kept - per-thread to prevent different threads from stomping on each others' - formatting prescriptions. - - ***POTENTIAL INCOMPATIBILITY*** Multi-threaded programs that set the - value of ::tcl_precision will now have to set it in each thread. - - * tests/expr.test: Consolidated equivalent constraints into - * tests/fileName.test: single definitions and (more precise) names: - * tests/get.test: longis32bit, 32bit, !intsAre64bit => longIs32bit - * tests/listObj.test: empty => emptyTest; winOnly => win - * tests/obj.test: intsAre64bit => longIs64bit - Also updated some "nonPortable" tests to use constraints that mark - precisely what about them isn't portable, so the tests can run where - they work. - - * library/init.tcl ([unknown]): Corrected return code handling in the - portions of [unknown] that expand incomplete commands during - interactive operations. [Bug 1214462]. - -2005-07-26 Mo DeJong - - * unix/configure: Regen. - * unix/configure.in: Check for a $prefix/share directory and add it the - the package if found. This will check for Tcl packages in - /usr/local/share when Tcl is configured with the default dist install. - [Patch 1231015] - -2005-07-26 Don Porter - - * generic/tclBasic.c (Tcl_CallWhenDeleted): Converted to use - per-thread counter, rather than a process global one that required - mutex protection. [RFE 1077194] - - * generic/tclNamesp.c (TclTeardownNamespace): Re-ordering so that - * tests/trace.test (trace-34.4): command delete traces fire - while the command still exists. [Bug 1047286] - -2005-07-24 Mo DeJong - - * unix/configure: Regen. - * unix/tcl.m4 (SC_PROG_TCLSH, SC_BUILD_TCLSH): - * win/configure: Regen. - * win/tcl.m4 (SC_PROG_TCLSH, SC_BUILD_TCLSH): Split confused search - for tclsh on PATH and build and install locations into two macros. - SC_PROG_TCLSH searches just the PATH. SC_BUILD_TCLSH determines the - name of the tclsh executable in the Tcl build directory. [Bug 1160114] - [Patch 1244153] - -2005-07-23 Don Porter - - * library/auto.tcl: Updates to the Tcl script library to make use - * library/history.tcl: of Tcl 8.4 features. Forward port of - * library/init.tcl: appropriate portions of [Patch 1237755]. - * library/package.tcl: - * library/safe.tcl: - * library/word.tcl: - -2005-07-23 Mo DeJong - - * tests/string.test: Add string is tests for functionality that was not - tested. - * win/README: Update msys + mingw URL. Remove old Cygwin + mingw info. - -2005-07-23 Miguel Sofer - - * generic/tclExecute.c (INST_DICT_*): stop 2 compiler warnings for - uninitialised variables. - -2005-07-23 Donal K. Fellows - - * generic/tclExecute.c (TEBC:INST_DICT_INCR_IMM): Fix the incrementor - to work correctly with wide values. - -2005-07-21 Donal K. Fellows - - * generic/tclCompCmds.c (TclCompileDictCmd): First run at a compiler - * generic/tclExecute.c (TclExecuteByteCode): for dictionaries. Also - added an instruction to support 'finally'-like clauses, exposed more of - the dict guts to the rest of the core, and defined a few tests to - exercise more obscure parts of the compiler's operation that were bugs - during development. - -2005-07-21 Kevin B. Kenny - - * library/ldAout.tcl (***REMOVED***): Removed support for ancient - * unix/configure: BSD's, IRIX 4, RISCos and - * unix/Makefile.in: Ultrix. Removed two files whose - * unix/tcl.m4: code is used only on those - * unix/tclLoadAout.c (***REMOVED***): antique platforms. - - ***POTENTIAL INCOMPATIBILITY*** if anyone actually uses those - platforms; it is to be noted though, that an error in the installer has - actually not caused a necessary file to be installed on those platforms - in several releases, and nobody's complained. - -2005-07-16 Kevin B. Kenny - - * generic/tclStrToD.c (RefineResult): Plugged a stupid memory leak in - RefineResult (called from Tcl_StrToD). [Tk Bug 1227781] - -2005-07-15 Kevin B. Kenny - - * generic/tclClock.c (TclClockLocaltimeObjCmd,ThreadSafeLocalTime): - * library/clock.tcl (GuessWindowsTimeZone, ClearCaches): - * tests/clock.test (clock-49.1, clock-49.2): - Handle correctly the case where localtime() returns NULL to report a - conversion error. Also handle the case where the Windows registry - contains timezone values that can be mapped to a tzdata file name but - the corresponding file does not exist or is corrupted, by falling back - on a Posix timezone string instead; this last case will avoid calls to - localtime() in starpacks on Windows. [Bug 1237907] - -2005-07-14 Donal K. Fellows - - * generic/tclCompile.c: Update to follow style guidelines. - (TclPrintInstruction): Reorganize to do better printing out of bytecode - with far fewer "special hacks" for particular opcodes. - * generic/tclCompile.h: Requires two new opcode types. - -2005-07-13 Don Porter - - * unix/tclUnixSock.c: Use a ProcessGlobalValue to store the value - * win/tclWinSock.c: returned by Tcl_GetHostName() ([info - hostname]). Also re-order initialization of the value on Windows to - favor GetComputerName() over gethostname() as a source of the - information. - -2005-07-12 Kevin Kenny - - [kennykb-numerics-branch] Updated from HEAD - - * generic/tclCmdMZ.c (Tcl_StringObjCmd): - * generic/tclInt.h: - * generic/tclObj.c (Tcl_GetDoubleFromObj, SetDoubleFromAny) - (Tcl_GetIntFromObj, SetIntOrWideFromAny): - * generic/tclStrToD.c (TclParseNumber, etc.): - * tclTomMathInterface.c (TclBNInitBignumFromWideUInt): - * tests/obj.test (obj-1.1, obj-2.2, obj-3.1, obj-3.2): - - Initial attempt at an implementation of TIP #249, comprising a unified - parser and modifications to the Tcl_Get*FromObj routines to use it. - Further integration of the parser is necessary and planned. - -2005-07-12 Donal K. Fellows - - * doc/lsearch.n: Clarify documentation of -exact option; wording was - open to misinterpretation by non-English speakers. - -2005-07-11 Donal K. Fellows - - * generic/tclExecute.c: General style cleanup. - -2005-07-08 Mo DeJong - - * generic/tclExecute.c (TclExecuteByteCode): Reimplement long and wide - type integer division and modulus operations so that the smallest and - largest integer values are handled properly. The divide operation is - more efficient since it no longer does a modulus or negation and only - checks for a remainder when the quotient will be a negative number. - The modulus operation is now a bit more complex because of a number of - special cases dealing with the smallest and largest integers. - * tests/expr.test: Add test cases for division and modulus operations - on the smallest and largest integer values for 32 and 64 bit types. - [Patch 1230205] - -2005-07-06 Don Porter - - * generic/tclLink.c: Simplified LinkTraceProc [Bug 1208108]. - -2005-07-05 Don Porter - - * unix/Makefile.in: Purged use of TCLTESTARGS [RFE 1161550]. - - * generic/tclUtil.c: Converted TclFormatInt() into a macro. - * generic/tclInt.decls: [RFE 1194015] - * generic/tclInt.h: - - * generic/tclIntDecls.h: make genstubs - * generic/tclStubInit.c: - - * generic/tclNamesp.c: Allow for [namespace import] of a command - * tests/namespace.test: over a previous [namespace import] of itself - without throwing an error. [RFE 1230597] - -2005-07-04 Donal K. Fellows - - * generic/tclDictObj.c (DictForCmd, DictFilterCmd): Interlocking of - dictionary internal representations is now done in the core of the dict - iterator. Purge the last attempts at doing it at a higher level as they - didn't work and were no longer needed. - -2005-07-01 Zoran Vasiljevic - - * unix/tclUnixNotfy.c: protect against spurious wake-ups while waiting - on the condition variable when tearing down the notifier thread [Bug - 1222872]. - -2005-06-28 Mo DeJong - - * generic/tclExecute.c (TclExecuteByteCode): When parsing an integer - operand for a unary minus expression operator, check for a wide integer - that is actually LONG_MIN. If found, convert back to a long int type. - * tests/expr.test: Add constraint for 32bit long int type and 64bit - wide int type. Add tests that parse the smallest/largest long int and - wide int values. - -2005-06-24 Kevin Kenny - - * generic/tclEvent.c (Tcl_Finalize): - * generic/tclInt.h: - * generic/tclPreserve.c (TclFinalizePreserve): Changed the finalization - logic so that Tcl_Preserve finalizes after exit handlers run; a lot of - code called from Tk's exit handlers presumes that Tcl_Preserve will - still work even from an exit handler. - -2005-06-24 Don Porter - - * library/auto.tcl: Make file safe to re-[source] without - destroying registered auto_mkindex_parser hooks. - -2005-06-23 Kevin Kenny - - * win/tclWinChan.c: More rewriting of __asm__ blocks that implement - * win/tclWinFCmd.c: SEH in GCC, because mingw's gcc 3.4.2 is not as - forgiving of violations committed by the old code and caused panics. - [Bug 1225957] - -2005-06-23 Daniel Steffen - - * tools/tcltk-man2html.tcl: fixed useversion glob pattern to accept - multi-digit patchlevels. - -2005-06-22 Don Porter - - * win/tclWinFile.c: Potential buffer overflow. [Bug 1225571] Thanks to - Pat Thoyts for discovery and fix. - -2005-06-22 Kevin Kenny - - * generic/tclInt.h: Changed the finalization - * generic/tclEvent.c (Tcl_Finalize): logic to defer the - * generic/tclIO.c (TclFinalizeIOSubsystem): shutdown of the pipe - * unix/tclUnixPipe.c (TclFinalizePipes): management until after all - * win/tclWinPipe.c (TclFinalizePipes): channels have been closed, - in order to avoid a situation where the Windows PipeCloseProc2 would - re-establish the exit handler after exit handlers had already run, - corrupting the heap. [Bug 1225727] Also corrected a potential read of - uninitialized memory in PipeClose2Proc [Bug 1225044] - -2005-06-21 Andreas Kupries - - * generic/tclInt.h: Followup to change made on 2005-06-18 by Daniel - Steffen. There are compilers (*) who error out on the redefinition of - WORDS_BIGENDIAN. We have to undef the previous definition (on the - command line) first to make this acceptable. (*): AIX native. - -2005-06-21 Kevin B. Kenny - - * generic/tclFileName.c: Changed [file split] and [file join] to treat - Windows drive letters similarly to ~ syntax and make sure that they - appear with "./" in front when they are in intermediate components of - the path. [Bug 1194458] - * tests/fileName.test: Added test for the above bug. - -2005-06-21 Don Porter - - * generic/tclBasic.c: Added missing walk of the list of active - * generic/tclTrace.c: traces to cleanup references to traces being - * generic/tclInt.h: deleted. [Bug 1201035] Made the walk of the - * tests/trace.test (trace-34.*): active trace list aware of the - direction of trace scanning, so the proper correction can be made. - [Bug 1224585] - -2005-06-21 Donal K. Fellows - - * unix/tcl.m4 (SC_ENABLE_SYMBOLS): Only enable the 'compile' special - debugging feature when requested in configure.in; removes irrelevant - junk from the configure files of extensions that use Tcl's tcl.m4. - -2005-06-20 Donal K. Fellows - - * generic/tclCompile.h (INST_PUSH_RETURN_OPTIONS): New opcode to allow - * generic/tclCompCmds.c (TclCompileCatchCmd): compilation of - * generic/tclCompile.c: TIP#90 catch [Bug - * generic/tclExecute.c (TclExecuteByteCode): 1219112] - - * generic/tclCompCmds.c (TclCompileSwitchCmd): Ensure we spill to the - command form in all cases where it generates an error. - -2005-06-20 Mo DeJong - - * generic/tclCmdMZ.c (Tcl_SwitchObjCmd): Generate an error if a mode - argument like -exact is passed more than once to the switch command. - The previous implementation silently accepted invalid switch - invocations like [switch -exact -glob $str ...]. - * tests/for.test: Check some error cases when invoking continue and - break inside a for loop next script. - * tests/switch.test: Add checks for shortened version of a mode - argument like -exact. Add test for more than one mode argument. Add - test for odd case of passing a variable as a body script. - -2005-06-18 Daniel Steffen - - * generic/tclInt.h: ensure WORDS_BIGENDIAN is defined correctly with - fat compiles on Darwin (i.e. ppc and i386 at the same time), the - configure AC_C_BIGENDIAN check is not sufficient in this case because a - single run of the compiler builds for two architectures with different - endianness. - - * unix/tcl.m4 (Darwin): add -headerpad_max_install_names to LDFLAGS to - ensure we can always relocate binaries with install_name_tool. - - * unix/configure: autoconf-2.59 - -2005-06-18 Donal K. Fellows - - * generic/tclCmdAH.c (Tcl_FormatObjCmd): Fix for [Bug 1154163]; only - * tests/format.test: insert 'l' modifier when it is needed. - -2005-06-17 Donal K. Fellows - - * generic/tclTimer.c (AfterDelay): Split out the code to manage - synchronous-delay [after] commands. - * tests/interp.test (interp-34.10): Time limits and synch-delay [after] - did not mix well... [Bug 1221395] - -2005-06-14 Donal K. Fellows - - * generic/tclBasic.c (Tcl_DeleteCommandFromToken): Only delete a - * tests/namespace.test (namespace-49.2): command from the hashtable on - reentrant processing if it has not been already deleted; at least three - deletes of the same command are possible. [Bug 1220058] - * generic/tclTrace.c (TraceCommandProc): Remove bogus error message - creation when traces trigger in situations where the command has - already been deleted. - -2005-06-13 Vince Darley - - * generic/tclFCmd.c: correct fix to file mkdir 2005-06-09 [Bug 1219176] - -2005-06-12 Donal K. Fellows - - * generic/tclCompCmds.c: Factor out some common idioms into named forms - for greater clarity. - -2005-06-10 Donal K. Fellows - - * doc/chan.n: Fold in the descriptive parts of the documentation for - all the commands that [chan] builds on top of. - -2005-06-09 Vince Darley - - * generic/tclFCmd.c: fix to race condition in file mkdir [Bug 1217375] - * doc/glob.n: improve glob documentation [Bug 1190891] - -2005-06-09 Donal K. Fellows - - * doc/expr.n, doc/mathfunc.n: Fix minor typos [Bug 1211078] and add - mention of distinctly-relevant [namespace path] subcommand. - -2005-06-07 Don Porter - - * generic/tclInt.h: Reduced the Tcl_ObjTypes "index", - * generic/tclIndexObj.c: "ensembleCmd", "localVarName", and - * generic/tclNamesp.c: "levelReference" to file static scope. - * generic/tclProc.c: - * generic/tclVar.c: - - * generic/tclObj.c: Restored registration of the "procbody" - Tcl_ObjType, as required by the tclcompiler application. - - * generic/tclDecls.h: make genstubs - * generic/tclStubInit.c: - -2005-06-07 Donal K. Fellows - - * generic/tclIO.c (Tcl_ChannelTruncateProc): Stop proliferation of - * generic/tcl.h: channel type versions - * doc/CrtChannel.3: following advice from AKu - - Bump patchlevel to a4 to distinguish from a3 release. - - * generic/tclInt.h (INTERP_TRACE_IN_PROGRESS): Add flag so the error - * generic/tclIndexObj.c (Tcl_WrongNumArgs): messages from ensembles - * generic/tclIOCmd.c (Tcl_ReadObjCmd): can be correct. - - TIP#208 IMPLEMENTATION - - * library/init.tcl: Create the chan ensemble. - * tests/chan.test: Rudimentary test suite. - * doc/chan.n: General documentation. - - TRUNCATION API (part of TIP#208) - * generic/tcl.h, generic/tcl.decls: Declaration of the API. - * doc/CrtChannel.3, doc/OpenFileChnl.3: Documentation of the API. - * generic/tclBasic.c (Tcl_CreateInterp): Create the mapping into Tcl. - * generic/tclIOCmd.c (TclChanTruncateObjCmd): Implementation of - Tcl-level truncation API. - * generic/tclIO.c (Tcl_TruncateChannel): Generic C-level truncation API - implementation. - * unix/tclUnixChan.c (FileTruncateProc): Basic implementation of - truncating driver. - - * win/tclWinChan.c (FileTruncateProc): Added implementation of file - truncation for Windows. - * tests/chan.test (chan-15.2): Added real test of truncation. - -2005-06-06 Kevin B. Kenny - - * win/tclWin32Dll.c: Corrected another buglet in the assembly code for - stack probing on Win32/gcc. [Bug 1213678] - * generic/tclObj,c: Added missing 'static' on definition of - UpdateStringOfBignum, and removed a 'switch' on a 'long long' operand - (which HP-UX native 'cc' seems unable to handle). [Bug 1215775] - -2005-06-04 Jeff Hobbs - - *** 8.5a3 TAGGED FOR RELEASE *** - - * unix/Makefile.in (dist): add libtommath - -2005-06-03 Donal K. Fellows - - * library/parray.tcl (parray): Only generate the sorted list of element - names once. Thanks to Andreas Leitgeb for spotting this. - -2005-06-03 Daniel Steffen - - * macosx/Makefile: fixed 'embedded' target. - -2005-06-02 Jeff Hobbs - - * unix/Makefile.in (html): add BUILD_HTML_FLAGS optional var - * tools/tcltk-man2html.tcl: add a --useversion to prevent confusion - when multiple Tcl source dirs exist. - -2005-06-01 Don Porter - - * generic/tclBasic.c: For compatibility with earlier Tcl releases, - * generic/tclResult.c: when a command procedure simply does a - * generic/tclTest.c: "return TCL_RETURN;" we must interpret that - * tests/result.test: the same as - "return Tcl_SetReturnOptions(interp, Tcl_NewObj());" [Bug 1209759]. - -2005-06-01 Donal K. Fellows - - * generic/tclCompCmds.c (TclCompileSwitchCmd): Allow compilation of - -nocase -glob [switch]es (only one we know how to compile). - - TIP#241 IMPLEMENTATION from Joe Mistachkin - - * generic/tclCmdIL.c (Tcl_LsearchObjCmd, Tcl_LsortObjCmd): - * generic/tclCmdMZ.c (Tcl_SwitchObjCmd): Implementation of -nocase - option for [lsearch], [lsort] and [switch] commands. - * win/tclWinPort.h: Win uses nonstandard function names... - * tests/cmdIL.test, tests/lsearch.test, tests/switch.test: Tests - * doc/lsearch.n, doc/lsort.n, doc/switch.n: Docs - - * generic/tclCompCmds.c (TclCompileLindexCmd): Compile the most common - case of [lindex] more efficiently. - - * unix/tclUnixNotfy.c (Tcl_FinalizeNotifier): Pass the correct number - of arguments to Tcl_JoinThread. - -2005-05-31 Donal K. Fellows - - * unix/configure.in, unix/tcl.m4: Standardize generation of help - messages to always use AC_HELP_STRING and always (except for --with-tcl - and --with-tk, where the default is complex) say what the default is. - -2005-05-31 Zoran Vasiljevic - - * unix/tclUnixNotfy.c: the notifier thread is now created as joinable - thread and it is properly joined in Tcl_FinalizeNotifier. This is an - attempt to fix the [Bug 1082283]. - -2005-05-30 Zoran Vasiljevic - - * win/tclWinThrd.c: Fixed [Bug 1204064] - -2005-05-30 Donal K. Fellows - - TIP #229 IMPLEMENTATION - - * generic/tclNamesp.c (Tcl_FindCommand, TclResetShadowedCmdRefs) - (NamespacePathCmd, SetNsPath, UnlinkNsPath, TclInvalidateNsPath): - Implementation of the [namespace path] command and the command name - resolution engine. - * doc/info.n, doc/namespace.n: Doc updates. - * tests/namespace.test (namespace-51.*): Test updates. - * generic/tclResolve.c (BumpCmdRefEpochs, Tcl_SetNamespaceResolvers): - * generic/tclBasic.c (Tcl_CreateCommand, Tcl_CreateObjCommand): Ensure - that people don't see stale paths. - * generic/tclInt.h (Namespace, NamespacePathEntry): Structure defs. - * generic/tclCmdIL.c (InfoCommandsCmd): Updates to [info commands]. - -2005-05-26 Daniel Steffen - - * macosx/Makefile: moved & corrected EMBEDDED_BUILD check. - - * unix/configure.in: corrected framework finalization to softlink stub - library to Versions/8.x subdir instead of Versions/Current. - * unix/configure: autoconf-2.59 - -2005-05-25 Jeff Hobbs - - * generic/tclCmdMZ.c (Tcl_TimeObjCmd): add necessary cast - -2005-05-25 Don Porter - - TIP#182 IMPLEMENTATION [Patch 1165062] - - * doc/mathfunc.n: New built-in math function bool(). - * generic/tclBasic.c: - * tests/expr.test: - * tests/info.test: - -2005-05-24 Don Porter - - * library/init.tcl: Updated [unknown] to be sure the [return] - * tests/init.test: options from an auto-loaded command are seen - correctly by the caller. - -2005-05-24 Daniel Steffen - - * tests/env.test: added DYLD_FRAMEWORK_PATH to the list of env vars - that need to be handled specially. - - * macosx/Makefile: - * macosx/README: - * macosx/Tcl-Info.plist.in (new file): - * unix/Makefile.in: - * unix/configure.in: - * unix/tcl.m4: - * unix/tclUnixInit.c: moved all Darwin framework build support from - macosx/Makefile into the standard unix configure/make buildsystem, the - macosx/Makefile is no longer required to build Tcl.framework (but its - functionality is still available for backwards compatibility). - * unix/configure: autoconf-2.59 - - * generic/tclIOUtil.c (TclLoadFile): - * generic/tclInt.h: - * unix/tcl.m4: - * unix/tclLoadDyld.c: added support for [load]ing .bundle binaries in - addition to .dylib's: .bundle's can be [unload]ed (unlike .dylib's), - and can be [load]ed from memory, e.g. directly from VFS without needing - to be written out to a temporary location first. [Bug 1202209] - * unix/configure: autoconf-2.59 - * unix/tclConfig.h.in: autoheader-2.59 - - * generic/tclCmdMZ.c (Tcl_TimeObjCmd): change [time] called with a - count > 1 to return a string with a float value instead of a rounded - off integer. [Bug 1202178] - - * doc/expr.n: - * doc/string.n: fixed roff syntax complaints from 'make html'. - -2005-05-20 Don Porter - - * generic/tclParseExpr.c: Corrected parser to recognize all - boolean literals accepted by Tcl_GetBoolean, including prefixes like - "y" and "f", and to allow "eq" and "ne" as function names in the proper - context. [Bug 1201589]. - -2005-05-19 Donal K. Fellows - - * generic/tclBasic.c (TclEvalObjvInternal): Rewrite for greater - clarity; although 'goto' is Bad, the contortions you have to go through - to avoid it can be worse... - -2005-05-19 Daniel Steffen - - * macosx/tclMacOSXNotify.c (Tcl_InitNotifier): fixed crashing CFRelease - of runLoopSource in Tcl_InitNotifier (reported by Zoran): - CFRunLoopAddSource doesn't CFRetain, so can only CFRelease the - runLoopSource in Tcl_FinalizeNotifier. - -2005-05-18 Don Porter - - * generic/tclBasic.c (Tcl_ExprBoolean): Rewrite as wrapper around - Tcl_ExprBooleanObj. - - * generic/tclCmdMZ.c ([string is boolean/true/false]): Rewrite dropping - string-based Tcl_GetBoolean call, so that internal reps are kept for - subsequent quick boolean operations. - - * generic/tclExecute.c: Dropped most special handling of the "boolean" - Tcl_ObjType, since that type should now be rarely encountered. - - * doc/BoolObj.3: Rewrite of documentation dropping many details - about the internals of Tcl_Objs. Shorter documentation focuses on the - function and use of the routines. - - * generic/tclInt.h: Revision to the "boolean" Tcl_ObjType, so that - * generic/tclObj.c: only string values like "yes" and "false" are - * tests/obj.test: kept as the "boolean" Tcl_ObjType. The string - values "0" and "1" are kept as "int" Tcl_ObjType, which also produce - quick calls to Tcl_GetBooleanFromObj(). Since this internal change - means a Tcl_ConvertToType to a "boolean" Tcl_ObjType might not produce - a Tcl_Obj of type "boolean", the registration of the "boolean" type is - also removed. - ***POTENTIAL INCOMPATIBILITY*** - For callers of Tcl_GetObjType on the type name "boolean". - -2005-05-17 Don Porter - - * generic/tclObj.c (TclInitObjSubsystem): Removed the - * tests/listObj.test: registration of the Tcl_ObjType's "list", - * tests/obj.test: "procbody", "index", "ensembleCommand", - "localVarName", and "levelReference". The only reason to register a - Tcl_ObjType is to have it returned by Tcl_GetObjType, and the only - reason for that is to retrieve a (Tcl_ObjType *) to pass to - Tcl_ConvertToType(). None of the types above can support a - Tcl_ConvertToType() call; they panic. Better not to offer something - than to lead users into a panic. - ***POTENTIAL INCOMPATIBILITY*** - For callers of Tcl_GetObjType on the type names listed above. - -2005-05-15 Kevin Kenny - - * win/tclWin32Dll.c: conditioned definition of EXCEPTION_REGISTRATION - structures on HAVE_NO_SEH, to fix a bug in buildability on MSVC. - -2005-05-14 Daniel Steffen - - * generic/tclInt.decls: - * generic/tclTest.c: - * generic/tclUtil.c: - * win/tclWin32Dll.c: fixed link error due to direct access by tclTest.c - to the MODULE_SCOPE tclPlatform global: renamed existing - TclWinGetPlatform() accessor to TclGetPlatform() and moved it to - generic code so that it can be used by on all platforms where - MODULE_SCOPE is enforced. - - * macosx/tclMacOSXBundle.c: - * unix/tclUnixInit.c: - * unix/tcl.m4 (Darwin): made use of CoreFoundation API configurable and - added test of CoreFoundation availablility to allow building on ppc64, - replaced HAVE_CFBUNDLE by HAVE_COREFOUNDATION; test for availability of - Tiger or later OSSpinLockLock API. - - * unix/tclUnixNotfy.c: - * unix/Makefile.in: - * macosx/tclMacOSXNotify.c (new file): when CoreFoundation is - available, use new CFRunLoop based notifier: allows easy integration - with other event loops on Mac OS X, in particular the TkAqua Carbon - event loop is now integrated via a standard tcl event source (instead - of TkAqua upon loading having to finalize the exsting notifier and - replace it with its custom version). [Patch 1202052] - - * tests/unixNotfy.test: don't run unthreaded tests on Darwin since - notifier may be using threads even in unthreaded core. - - * unix/tclUnixPort.h: - * unix/tcl.m4 (Darwin): test for thread-unsafe realpath during - configure, as Darwin 7 and later realpath is threadsafe. - - * macosx/Makefile: enable configure caching. - - * unix/configure.in: wrap tclConfig.h header in #ifndef _TCLCONFIG so - that it can be included more than once without warnings from gcc4.0 (as - happens e.g. when including both tclInt.h and tclPort.h) - - * macosx/tclMacOSXBundle.c: - * unix/tclUnixChan.c: - * unix/tclLoadDyld.c: - * unix/tclUnixInit.c: fixed gcc 4.0 warnings. - - * unix/configure: autoconf-2.59 - * unix/tclConfig.h.in: autoheader-2.59 - - * generic/tclIntDecls.h: - * generic/tclIntPlatDecls.h: - * generic/tclStubInit.c: make genstubs - -2005-05-13 Kevin Kenny - - * win/tclWin32Dll.c: Further rework of the SEH logic. All - EXCEPTION_REGISTRATION records are now in the activation record rather - than pushed on the stack. - -2005-05-13 Don Porter - - * generic/tclBasic.c: Dropped the TCL_NO_MATH configuration. It's - * generic/tclBinary.c: believed this has not been working in a long - * generic/tclExecute.c: time. Tcl needs math.h. [RFE 1200680] - * unix/Makefile.in: - -2005-05-12 Kevin Kenny - - * doc/mathfunc.n: Changed NAME line to match the name of the page. - -2005-05-11 Kevin Kenny - - [kennykb-numerics-branch] Resynchronized with the HEAD; at this - checkpoint [-rkennykb-numerics-branch-20050511], the HEAD and - kennykb-numerics-branch contain identical code. - -2005-05-11 Kevin Kenny - - * generic/tclStrToD.c (TclStrToD, RefineResult, ParseNaN): Changed the - code to cast 'char' to UCHAR explicitly when using ctype macros, to - silence complaints from the Solaris compiler. - -2005-05-10 Jeff Hobbs - - * unix/tclUnixFCmd.c: add lint attr to enum to satisfy strictly - compliant compilers that don't like trailing ,s. - - * tests/string.test: string-10.[21-30] - * generic/tclCmdMZ.c (Tcl_StringObjCmd): add extra checks to prevent - possible UMR in unichar cmp function for string map. - -2005-05-10 Kevin Kenny - - * generic/tclBinary.c (FormatNumber): Fixed a bug where NaN's resulted - in reads of uninitialized memory when using 'd', 'q', or 'Q' format. - * generic/tclStrToD.c (ParseNaN, TclFormatNaN): Added code to handle - the peculiarities of HP's PA_RISC, which uses a different 'quiet' bit - in NaN from everyone else. - * libtommath/tommath_superclass.h: Corrected C++-style comment. - -2005-05-10 Kevin Kenny - - Merged all changes on kennykb-numerics-branch back into the HEAD. - TIP's 132 and 232 are now Final. - -2005-05-10 Kevin Kenny - - [kennykb-numerics-branch] Merged changes from HEAD. - -2005-05-10 Miguel Sofer - - * generic/tclExecute.c (ExponLong, ExponWide): - * tests/expr.test (expr-23.34/35): fixed special case 'i**0' for i>0 - [Bug 1198892] - -2005-05-09 Kevin B. Kenny - - [kennykb-numerics-branch] - * win/tclWin32Dll.c (TclpCheckStackSpace, TclWinCPUID): Reworked - structured event handling to function even with -fomit-frame-pointers. - -2005-05-08 Kevin B. Kenny - - [kennykb-numerics-branch] - * generic/tclStrToD.c: Made code more portable by finding a workaround - for MSVC's 'volatile' issue that does not require conditional - compilation. - * win/tclWin32Dll.c (TclWinCPUID): Removed structured event handling - from the GCC code since (a) bad code is generated by the instruction - scheduling with -O2, and (b) it's not needed on any reasonably modern - CPU. - -2005-05-07 Kevin B. Kenny - - [kennykb-numerics-branch] - * generic/tclEvent.c: Moved initialization of tclStrToD.c's - * generic/tclInt.h: static constants into a procedure called - * generic/tclStrToD.c: from TclInitSubsystems to avoid double checked - locking protocol. Cleaned up an issue where MSVC ignored the - 'volatile' specifier, causing incorrect comparison of an underflowed - number against zero. - -2005-05-06 Jeff Hobbs - - * unix/tcl.m4, unix/configure: correct Solaris 10 (5.10) check and add - support for x86_64 Solaris cc builds. - -2005-05-05 Kevin B. Kenny - - [kennykb-numerics-branch] Merged with HEAD. - -2005-05-05 Kevin B. Kenny - - * win/tclWinThrd.c: Corrected a compilation error on the - --enable-threads configuration. - -2005-05-05 Don Porter - - * generic/tclInt.decls: Converted TclMatchIsTrivial to a macro. - * generic/tclInt.h: - * generic/tclUtil.c: - * generic/tclIntDecls.h: `make genstubs` - * generic/tclStubInit.c: - * generic/tclBasic.c: Added callers of TclMatchIsTrivial where a - * generic/tclCmdIL.c: search can be done more efficiently when it is - * generic/tclCompCmds.c:recognized that a pattern match is really an - * generic/tclDictObj.c: exact match. [Patch 1076088] - * generic/tclIO.c: - * generic/tclNamesp.c: - * generic/tclVar.c: - - * generic/tclCompCmds.c: Factored common efficiency trick into a - macro named CompileWord. - - * generic/tclCompCmds.c: Replaced all instance of - * generic/tclCompile.c: TCL_OUT_LINE_COMPILE with TCL_ERROR. - * generic/tclInt.h: Now that we've eradicated the mistaken - * tests/appendComp.test: notion of a "compile-time error", we - can use the TCL_ERROR return code to signal any failure to produce - bytecode. - -2005-05-03 Don Porter - - * doc/DString.3: Eliminated use of identifier "string" in Tcl's - * doc/Environment.3: public C API to avoid conflict/confusion with - * doc/Eval.3: the std::string of C++. - * doc/ExprLong.3, doc/ExprLongObj.3, doc/GetInt.3, doc/GetOpnFl.3: - * doc/ParseCmd.3, doc/RegExp.3, doc/SetResult.3, doc/StrMatch.3: - * doc/Utf.3, generic/tcl.decls, generic/tclBasic.c, generic/tclEnv.c: - * generic/tclGet.c, generic/tclParse.c, generic/tclParseExpr.c: - * generic/tclRegexp.c, generic/tclResult.c, generic/tclUtf.c: - * generic/tclUtil.c, unix/tclUnixChan.c: - - * generic/tclDecls.h: `make genstubs` - -2005-05-02 Don Porter - - * generic/tcl.decls: - * generic/tclBasic.c: Simplified implementation of Tcl_ExprString. - * tests/expr-old.test: - - * generic/tclDecls.h: `make genstubs` - -2005-04-30 Daniel Steffen - - * unix/tclUnixNotfy.c: applied dkf's tkMacOSXNotify.c cleanup changes. - -2005-04-29 Don Porter - - TIP#176 IMPLEMENTATION [Patch 1165695] - - * generic/tclUtil.c: Extended TclGetIntForIndex to recognize index - formats including end+integer and integer+/-integer. - - * generic/tclCmdMZ.c: Extended the -start switch of [regexp] and - [regsub] to accept all index formats known by TclGetIntForIndex. - - * doc/lindex.n: Updated docs to note new index formats. - * doc/linsert.n, doc/lrange.n, doc/lreplace.n, doc/lsearch.n: - * doc/lset.n, doc/lsort.n, doc/regexp.n, doc/regsub.n, doc/string.n: - - * tests/cmdIL.test: Updated tests. - * tests/compile.test, tests/lindex.test, tests/linsert.test: - * tests/lrange.test, tests/lreplace.test, tests/lsearch.test: - * tests/lset.test, tests/regexp.test, tests/regexpComp.test: - * tests/string.test, tests/stringComp.test, tests/util.test: - -2005-04-28 Don Porter - - * tests/unixInit.test (7.1): Alternative fix for the 2004-11-11 commit. - -2005-04-27 Don Porter - - * library/init.tcl: Corrected flaw in interactive command - * tests/main.test: auto-completion. [Bug 1191409]. - - TIP#183 IMPLEMENTATION [Patch 577093] - - * generic/tclIOUtil.c (TclGetOpenModeEx): New routine. - * generic/tclInt.h: - - * generic/tclIO.c (Tcl_OpenObjCmd): Support for "b" and - * doc/open.n: "BINARY" in "access" argument to [open]. - * tests/ioCmd.test: - -2005-04-26 Kevin B. Kenny - - * generic/tclBinary.c (FormatNumber): Dredge the NaN out of the - internal representation if Tcl_GetDoubleFromObj returns TCL_ERROR on a - NaN. - - * generic/tclObj.c (Tcl_GetDoubleFromObj): Restored silent - overflow/underflow behaviour that the merge of 2004-04-25 messed up. - Thanks to Don Porter for calling attention to this bug. Also removed an - uninitialised memory reference in this function that valgrind caught. - Also changed to return TCL_ERROR on a pure NaN. - - * generic/tclStrToD.c (RefineResult): Added a test for the initial - approximation being HUGE_VAL; this test avoids EDOM being returned from - ldexp on some platforms on input values exceeding the floating point - range. - - * tests/expr.test (expr-29.*, expr-30.*): Added further tests of - overflow/underflow on input conversions. - -2005-04-25 Kevin B. Kenny - - [kennykb-numerics-branch] Merged with HEAD. - - * doc/CrtMathFunc.n: Revised documentation for TIP 232 - -2005-04-25 Daniel Steffen - - * compat/string.h: fixed memchr() protoype for __APPLE__ so that we - build on Mac OS X 10.1 again. - - * generic/tclNotify.c (TclFinalizeNotifier): fixed notifier not being - finalized in unthreaded core (was testing for notifier initialization - in current thread by checking thread id != 0 but thread id is always 0 - in untreaded core). - - * win/tclWinNotify.c (Tcl_WaitForEvent): - * unix/tclUnixNotfy.c (Tcl_WaitForEvent): don't call ScaleTimeProc for - zero wait times (as specified in TIP 233). - - * unix/Makefile.in: added @PLAT_SRCS@ to SRCS and split out NOTIFY_SRCS - from UNIX_SRCS for parity with UNIX_OBJS & NOTIFY_OBJS. - - * unix/tcl.m4 (Darwin): added configure checks for recently added - linker flags -single_module and -search_paths_first to allow building - with older tools (and on Mac OS X 10.1), use -single_module in SHLIB_LD - and not just T{CL,K}_SHLIB_LD_EXTRAS, added unexporting from Tk of - symbols from libtclstub to avoid duplicate symbol warnings, added - PLAT_SRCS definition for Mac OS X, defined MODULE_SCOPE to - __private_extern__. - (SC_MISSING_POSIX_HEADERS): added caching of dirent.h check. - - * unix/configure: autoconf-2.59 - -2005-04-25 Kevin B. Kenny - - * library/tzdata/America/Boise: - * library/tzdata/America/Chicago: - * library/tzdata/America/Denver - * library/tzdata/America/Indianapolis: - * library/tzdata/America/Los_Angeles: - * library/tzdata/America/Louisville: - * library/tzdata/America/Managua: - * library/tzdata/America/New_York: - * library/tzdata/America/Phoenix: - * library/tzdata/America/Port-au-Prince: - * library/tzdata/America/Indiana/Knox: - * library/tzdata/America/Indiana/Marengo: - * library/tzdata/America/Indiana/Vevay: - * library/tzdata/America/Kentucky/Monticello: - * library/tzdata/America/North_Dakota/Center: - * library/tzdata/Asia/Tehran: - Olson's tzdata2005i. Corrects exact time at which Standard Time was - adopted in the US (generally, noon, Standard Time, rather than noon, - Local Mean Time). Adopts new civil rules for Nicaragua and Iran. - -2005-04-25 Don Porter - - * library/init.tcl: Use "ni" and "in" operators. - -2005-04-25 Miguel Sofer - - * generic/tclExecute.c: fix for [Bug 1189274]. - -2005-04-24 Don Porter - - * generic/tclLiteral.c: Silence compiler warnings. - * generic/tclObj.c: [Bug 1188863]. - -2005-04-22 Don Porter - - The 2005-04-21 changes to Tcl_GetBooleanFromObj were done to bring it - into agreement with its docs. Further investigation reveals it was the - docs that were incorrect. - - * doc/BoolObj.3: Corrections to the documentation of - Tcl_GetBooleanFromObj to bring it into agreement with what this public - interface has always done, including noting the difference in function - between Tcl_GetBooleanFromObj and Tcl_GetBoolean. - - * generic/tclGet.c: Revised Tcl_GetBoolean to no longer be a - wrapper around Tcl_GetBooleanFromObj (different function!). - - * generic/tclObj.c: Removed TclGetTruthValueFromObj routine that - was added yesterday. Revisions so that only Tcl_GetBoolean-approved - values get the "boolean" Tcl_ObjType. This retains the fix for [Bug - 1187123]. - * tests/string.test: Test string-23.0 for Bug 1187123. - - * generic/tclInt.h: Revert most recent change. - * generic/tclBasic.c: - * generic/tclCompCmds.c: - * generic/tclDictObj.c: - * generic/tclExecute.c: - * tests/obj.test: - -2005-04-21 Don Porter - - * doc/GetInt.3: Convert argument "string" to "str" to agree with code. - Also clarified a few details on int and double formats. - * generic/tclGet.c: Radical code simplification. Converted - Tcl_GetFoo() routines into wrappers around Tcl_GetFooFromObj(). Reduces - code duplication, and the resulting potential for inconsistency. - - * generic/tclObj.c: Several changes: - - - Re-ordered error detection code so all values with trailing garbage - receive a "not an integer" message instead of an "integer too large" - message. - - Removed inactive code meant to deal with strtoul* routines that fail - to parse leading signs. All of them do, and if any are detected that - do not, the correct fix is replacement with compat/strtoul*.c, not a - lot of special care by the callers. - - Tcl_GetDoubleFromObj now avoids shimmering away a "wideInt" intrep. - - Fixed Tcl_GetBooleanFromObj to agree with its documentation and with - Tcl_GetBoolean, accepting only "0" and "1" and not other numeric - strings. [Bug 1187123] - - Added new private routine TclGetTruthValueFromObj to perform the more - permissive conversion of numeric values to boolean that is needed by - the [expr] machinery. - - * generic/tclInt.h (TclGetTruthValueFromObj): New routine. - * generic/tclExecute.c: Updated callers to call new routine. - * generic/tclBasic.c: Updated callers to call new routine. - * generic/tclCompCmds.c: Updated callers to call new routine. - * generic/tclDictObj.c: Updated callers to call new routine. - * tests/obj.test: Corrected bad tests that actually expected - values like "47" and "0xac" to be accepted as booleans. - - * generic/tclLiteral.c: Disabled the code that forces some literals - into the "int" Tcl_ObjType during registration. We can re-enable it if - this change causes trouble, but it seems more sensible to let Tcl's - "on-demand" shimmering rule, and not try to pre-guess things. - -2005-04-20 Kevin B. Kenny - - [kennykb-numerics-branch] - * doc/expr.n: - * doc/mathfunc.n (new file): Revised documentation for TIP 232 - -2005-04-20 Don Porter - - * generic/tclGet.c (Tcl_GetInt): Corrected error that did not - * generic/tclObj.c (Tcl_GetIntFromObj): permit 0x80000000 to be - recognized as an integer on TCL_WIDE_INT_IS_LONG systems [Bug 1090869]. - -2005-04-20 Kevin B. Kenny - - * generic/tclFileName.c: Silenced a compiler warning about '/*' within - a comment. - -2005-04-19 Don Porter - - * generic/tclBasic.c: Added unsupported command - * generic/tclCmdAH.c: [::tcl::unsupported::EncodingDirs] to permit - * generic/tclInt.h: query/set of the encoding search path at - * generic/tclInterp.c: the script level. Updated init.tcl to make - * library/init.tcl: use of the new command. Also updated several - coding practices in init.tcl ("eq" for [string equal], etc.) - -2005-04-19 Kevin B. Kenny - - * library/clock.tcl (Initialize): Put initialization code into a proc - to avoid inadvertently clobbering global variables. [Bug 1185933] - * tests/clock.test (clock-48.1): Added regression test for the above - bug. - Thanks to Ulrich Ring for reporting this bug. - -2005-04-16 Miguel Sofer - - * generic/Var.c (Tcl_ArrayObjCmd - ARRAY_NAMES): fix Tcl_Obj leak. [Bug - 1084111] - -2005-04-16 Zoran Vasiljevic - - * generic/tclIOUtil.c: force clenaup of the interp result in - TclLoadFile(). Some implementations of TclpFindSymbol() will seed the - interp result with error message when unable to find the requested - symbol (this is not considered to be an error). - - Set of changes correcting huge memory waste (not a leak) when a thread - exits. This has been introduced in 8.4.7 within an attempt to correctly - cleanup after ourselves when Tcl library is being unloaded with the - Tcl_Finalize() call. - - This fixes the [Bug 1178445] - - * generic/tclInt.h: added prototypes for TclpFreeAllocCache() and - TclFreeAllocCache() - - * generic/tclThreadAlloc.c: modified TclFinalizeThreadAlloc() to - explicitly call TclpFreeAllocCache with the NULL-ptr as argument - signalling cleanup of private tsd key used only by the threading - allocator. - - * unix/tclUnixThrd.c: fixed TclpFreeAllocCache() to recognize when - being called with NULL argument. This is a signal for it to clean up - the tsd key associated with the threading allocator. - - * win/tclWinThrd.c: renamed TclWinFreeAllocCache to TclpFreeAllocCache - and fixed to recognize when being called with NULL argument. This is a - signal for it to clean up the tsd key associated with the threading - allocator. - -2005-04-13 Don Porter - - * tests/unixInit.test: Disabled obsolete tests and removed code - * tests/encoding.test: that supported them. - * generic/tclInterp.c: - - * library/init.tcl: Use auto-loading to bring in Tcl Module support - * library/tclIndex: as needed. This reduces startup time by - * library/tm.tcl: delaying this initialization to a later time. - -2005-04-15 Miguel Sofer - - * generic/tclExecute.c: missing semicolons caused failure to compile - with TCL_COMPILE_DEBUG. - -2005-04-13 David Gravereaux - - * generic/tclIO.c (Tcl_SetChannelBufferSize): Lowest size limit - * tests/io.test: changed from ten bytes to one byte. Need for - * tests/iogt.test: this change was proven by Ross Cartlidge - where [read stdin 1] was grabbing 10 bytes followed - by starting a child process that was intended to continue reading from - stdin. Even with -buffersize set to one, nine chars were getting lost - by the buffersize over reading for the native read() caused by [read]. - -2005-04-13 Don Porter - - * unix/tclUnixInit.c (TclpGetEncodingNameFromEnvironment): Reversed - order of verifying candidate [encoding system] value, checking against - a table in memory first before calling Tcl_GetEncoding and potentially - scanning through the filesystem. Also ordered the table so that a - binary search could be used within it. Improves startup time a bit more - on some systems. - -2005-04-13 Kevin B. Kenny - - * library/clock.n: Added a missing '--' on several [switch] commands to - improve performance of [clock format] and related operations. [FRQ - 1182459] - -2005-04-13 Donal K. Fellows - - * doc/fcopy.n: Improved documentation on copying binary files, added an - example and mentioned the use of [file copy]. - * doc/fconfigure.n: Improved documentation of -encoding binary option. - This is all following comments from Steve Manning - on comp.lang.tcl that the current documentation was not clear. - -2005-04-13 Miguel Sofer - - * generic/tclCompile.c:Commented out the functions - TclPrintInstruction(), TclPrintObject() and TclPrintSource() when not - debugging the compiler, as they are never called in that case. - -2005-04-12 Don Porter - - * generic/tclInterp.c: Corrected bad syntax of Tcl_Panic() call. - - * generic/tclUtil.c (TclGetProcessGlobalValue): More robust handling - of bad TclInitProcessGlobalValueProc behavior; an immediate panic - rather than a mysterious crash later. - - * generic/tclEncoding.c: Several changes to the way the - encodingFileMap cache is maintained. Previously, it was attempted to - keep the file map filled and up to date with changes in the encoding - search path. This contributed to slow startup times since it required - an expensive "glob" operation to fill the cache. Now the validity of - items in the cache are checked at the time they are used, so the cache - is permitted to fall out of sync with the encoding search path. Only - [encoding names] and Tcl_GetEncodingNames() now pay the full expense. - [Bug 1177363] - -2005-04-12 Kevin B. Kenny - - * compat/strstr.c: Added default definition of NULL to accommodate - building on systems with badly broken headers. [Bug 1175161] - -2005-04-11 Donal K. Fellows - - * tools/tclZIC.tcl: Rewrote to take advantage of more features of Tcl - 8.5 (on which it was dependent anyway). Also added a [package require] - line to formalize the relationship. - -2005-04-11 Kevin Kenny - - [kennykb-numerics-branch] Merged with HEAD. Updated to libtommath 0.35. - - * generic/tclBasic.c: Attempted to repeat changes that applied to - tclExecute.c in Miguel Sofer's commit of 2005-04-01, together with - (possibly) a few more uses of his new object creation macros. Also - plugged a memory leak in TclObjInvoke. [Bug 1180368] - -2005-04-10 Kevin Kenny - - * library/tzdata/America/Montevideo: - * library/tzdata/Asia/Almaty: - * library/tzdata/Asia/Aqtau: - * library/tzdata/Asia/Aqtobe: - * library/tzdata/Asia/Baku: - * library/tzdata/Asia/Jerusalem: - * library/tzdata/Asia/Oral: - * library/tzdata/Asia/Qyzylorda: - * library/tzdata/Indian/Chagos: - * library/tzdata/Indian/Cocos: Olson's tzdata2005h - -2005-04-10 Don Porter - - * generic/tclBasic.c (TclObjInvoke): Plug memory leak. [Bug 1180368] - -2005-04-09 Miguel Sofer - - * generic/tclExecute.c: fix possible leak of expansion Tcl_Objs - -2005-04-09 Daniel Steffen - - * macosx/README: updated requirements for OS & developer tool versions - and other small fixes/cleanup. - - * generic/tclListObj.c (Tcl_ListObjIndex): added missing NULL return - when getting index from an empty list. - - * unix/tcl.m4 (Darwin): added -single_module linker flag to - TCL_SHLIB_LD_EXTRAS and TK_SHLIB_LD_EXTRAS. - * unix/configure: autoconf-2.59 - -2005-04-08 Don Porter - - * generic/tclInt.h (TclGetEncodingFromObj): New function to - * generic/tclEncoding.c (TclGetEncodingFromObj): retrieve a - Tcl_Encoding value, as well as cache it in the internal rep of a new - "encoding" Tcl_ObjType. - * generic/tclCmdAH.c (Tcl_EncodingObjCmd): Updated to call new - function so that Tcl_Encoding's used by [encoding convert*] routines - are not freed too quickly. [Bug 1077262] - -2005-04-08 Donal K. Fellows - - * generic/tclCompCmds.c (TclCompileSwitchCmd): Rewritten to be able to - handle the other form of [switch] and generate slightly simpler (but - longer) code. - -2005-04-06 Donal K. Fellows - - * doc/upvar.n, doc/unset.n, doc/tell.n, doc/tclvars.n, doc/subst.n: - * doc/seek.n, doc/scan.n, doc/regsub.n, doc/registry.n, doc/regexp.n: - * doc/read.n, doc/puts.n, doc/pkgMkIndex.n, doc/open.n, doc/lreplace.n: - * doc/lrange.n, doc/load.n, doc/llength.n, doc/linsert.n, doc/lindex.n: - * doc/lappend.n, doc/info.n, doc/gets.n, doc/format.n, doc/flush.n: - * doc/fileevent.n, doc/file.n, doc/fblocked.n, doc/close.n: - * doc/array.n, doc/Utf.3, doc/TraceVar.3, doc/StrMatch.3, doc/RegExp.3: - * doc/PrintDbl.3, doc/OpenTcp.3, doc/OpenFileChnl.3, doc/Object.3: - * doc/Notifier.3, doc/LinkVar.3, doc/IntObj.3, doc/Interp.3: - * doc/GetOpnFl.3, doc/GetIndex.3, doc/Eval.3, doc/CrtMathFnc.3: - * doc/CrtFileHdlr.3, doc/CrtCommand.3, doc/CrtChannel.3: - * doc/Backslash.3: Purge old .VS/.VE macro instances. - - * tools/man2html2.tcl (IPmacro): Rewrote to understand what .IP really - is (.IP and .TP are really just two ways of doing the same thing). - Change below made this relevant. - * doc/re_syntax.n: Change some uses of .TP to .IP to work around bugs - in various *roff implementations. Also reworded the atom descriptions - slightly. - -2005-04-05 Don Porter - - * generic/tclExecute.c (ExprSrandFunc): Replaced incursions into the - * generic/tclUtil.c (TclGetIntForIndex): intreps of numeric types with - simpler calls of Tcl_GetIntFromObj and Tcl_GetLongFromObj, now that - those routines are better behaved wrt shimmering. [Patch 1177219] - -2005-04-05 Miguel Sofer - - * generic/tclInt.h: - * generic/tclObj.c: Change in TclDecrRefCount and TclFreeObj, to speed - up the freeing of simple Tcl_Obj [Patch 1174551] - -2005-04-04 Miguel Sofer - - * generic/tclExecute.c: small opts in obj handling - -2005-04-02 Miguel Sofer - - * generic/tclVar.c: converted a few function calls to macros. - -2005-04-01 Miguel Sofer - - * doc/ListObj.3: - * generic/tclBasic.c: - * generic/tclCmdIL.c: - * generic/tclConfig.c: - * generic/tclExecute.c: - * generic/tclInt.decls: - * generic/tclInt.h: - * generic/tclIntDecls.h: - * generic/tclListObj.c: - * generic/tclStubInit.c: - * generic/tclVar.c: Changed the internal representation of lists to - (a) reduce the malloc/free calls at list creation (from 2 to 1), (b) - reduce the cost of handling empty lists (we now never create a list - internal rep for them), (c) allow refcounting of the list internal rep. - The latter permits insuring that the pointers returned by - Tcl_ListObjGetElements remain valid even if the object shimmers away - from its original list type. This is [Patch 1158008] - - * generic/tclExecute.c: - * generic/tclInt.h: - * generic/tclObj.c: - * generic/tclStringObj.c: - (1) defined new internal macros for creating and setting frequently - used obj types (int,long, wideInt, double, string). Changed TEBC to use - eg 'TclNewIntObj(objPtr, i)' to avoid the function call in 'objPtr = - Tcl_NewIntObj(i)' - (2) ExecEnv now stores two Tcl_Obj* pointing to the constants "0" and - "1", for use by TEBC. - (3) slight reduction in cost of INST_START_CMD - -2005-03-31 Miguel Sofer - - * generic/tclExecute.c (INST_JUMP_TRUE/FALSE): replaced "test and - branch" with "compute index into table" - -2005-03-30 Donal K. Fellows - - * doc/FileSystem.3: Defined loadHandle argument. [Bug 1172401] - -2005-03-29 Jeff Hobbs - - * win/tcl.m4, win/configure: do not require cygpath in macros to allow - msys alone as an alternative. - -2005-03-24 Don Porter - - * generic/tclCompile.h: Move the TclInterpReady() declaration from - * generic/tclInt.h: tclCompile.h to tclInt.h. Should have been done - as part of the 1115904 bug fix on 2005-03-18. - - * generic/tclThreadTest.c: Stop providing the phony package - "Thread 1.0" when the [::testthread] command is defined. It's never - used by anything, and conflicts with loading the real "Thread" package. - -2005-03-18 Don Porter - - * generic/tclCompCmds.c (TclCompileIncrCmd): Corrected checks for - immediate operand usage to permit leading space and sign characters. - Restores more efficient bytecode for [incr x -1] that got lost in the - CONST string reforms of Tcl 8.4. [Bug 1165671] - - * generic/tclBasic.c (Tcl_EvalEx): Restored recursion limit - * generic/tclParse.c (TclSubstTokens): testing in nested command - * tests/basic.test (basic-46.4): substitutions within direct - * tests/parse.test (parse-19.*): script evaluation (Tcl_EvalEx) - that got lost in the parser reforms of Tcl 8.1. Added tests for correct - behavior. [Bug 1115904] - -2005-03-15 Vince Darley - - * generic/tclFileName.c: - * win/tclWinFile.c: - * tests/winFCMd.test: fix to 'file pathtype' and 'file norm' failures - on reserved filenames like 'COM1:', etc. - -2005-03-15 Pat Thoyts - - * unix/tcl.m4: Updated the OpenBSD configuration and regenerated - * unix/configure: the configure script. - -2005-03-15 Kevin B. Kenny - - [kennykb-numerics-branch] Merged with HEAD. - - * generic/tclBasic.c (many): - * generic/tclCompExpr.c (CompileMathFuncCall): - * generic/tclCompile.h: - * generic/tclExecute.c (many): - * generic/tclParseExpr.c (ParsePrimaryExpr): - * tests/compExpr-old.test: - * tests/compExpr.test: - * tests/compile.test: - * tests/expr-old.test: - * tests/expr.test: - * tests/for.test: - * tests/parseExpr.test: Initial implementation of TIP #232. - - * generic/tclObj.c (Tcl_DbNewBignumObj): Fixed typo that broke - --enable-symbols=mem build - * tests/binary.test (binary-40.3, binary-40.6): Corrected tests to - allow NaN(7ffffffffffff). - -2005-03-14 Miguel Sofer - - * generic/tclExecute.c: fixed INST_PUSH1's debugging code (wrong obj - ref passed to TRACE_WITH_OBJ). - -2005-03-14 Miguel Sofer - - * generic/tclCompile.c: fixed INST_RETURN's stack effect in - tclInstructionTable (-1 instead of -2) - -2005-03-10 Miguel Sofer - - * generic/tclCompCmds.c: removed debugging line - -2005-03-10 Don Porter - - * generic/tclTrace.c (TclCheckInterpTraces): Corrected mistaken cast - of ClientData to (TraceCommandInfo *) when not warranted. Thanks to - Yuri Victorovich for the report. [Bug 1153871] - * generic/tcl.h: Moved flag values TCL_TRACE_ENTER_EXEC and - * generic/tclInt.h: TCL_TRACE_LEAVE_EXEC from public interface into - private. Should be used only by internal workings of execution traces. - -2005-03-09 Kevin B. Kenny - - [kennykb-numerics-branch] Merged from HEAD. - - * doc/PrintDbl.3: - * doc/tclVars.n: Documented new semantics for tcl_precision. - * generic/tclExecute.c (Tcl_ExecuteByteCode): Removed the check for - division-by-zero on IEEE-754 machines. - * generic/tclUtil.c (Tcl_PrintDouble): Corrected bug where numbers in - the range [1e-4 .. 1.) were printed incorrectly. - * tests/compExpr-old.test (compExpr-old-11.13): Revised test case for - division by zero. - * tests/expr-old.test (expr-34.11, expr-34.12): Revised test cases for - overflow in pow() to deal with infinities. - * tests/expr.test (expr-11.13, expr-29.1, expr-29.2): Revised test case - for division by zero and for underflow on input conversions. - * tests/parseExpr.test (parseExpr-16.11): Revised test case for - overflow on input conversion. - * tests/string.test (string-6.38 deleted): Removed test case for - underflow on input conversion, which is no longer an error. - * tests/util.test (util-10.*): Added test case for the bug in tclUtil.c - -2005-03-08 Jeff Hobbs - - * win/makefile.vc: clarify necessary defined vars that can come from - MSVC or the Platform SDK. - -2005-03-07 Donal K. Fellows - - * doc/string.n: Minor typo. [Bug 1158247] - -2005-03-07 Miguel Sofer - - * generic/tclExecute.c: new peephole optimisation for INST_PUSH1; fixed - the peephole opt in INST_POP so that it is not used when - TCL_COMPILE_DEBUG is defined. - -2005-03-04 Kevin B. Kenny - - [kennykb-numerics-branch] - - * generic/tclCmdMZ.c: Changed [scan] to treat out-of-range floating - point values as infinities and zeroes. - * generic/tclExecute.c: Changed [expr] to be permissive about - infinities, allowing them to propagate. - * generic/tclGet.c: Changed Tcl_GetDouble to be permissive about - over/underflow. - * generic/tclObj.c: Changed SetDoubleFromAny to be permissive about - over/underflow. - * generic/tclParseExpr.c: Made [expr] permissive about input numbers - out of range. - -2005-03-03 Kevin B. Kenny - - [kennykb-numerics-branch] - - * generic/tclInt.h: - * generic/tclStrToD.c (Tcl_DoubleDigits, TclFormatNaN): - * generic/tclUtil.c (Tcl_PrintDouble): Changed the signature of - TclDoubleDigits so that it accepts a pointer to the signum of the - argument, and returns the signum via that pointer. Added very hacky - code to handle IEEE signed zeroes in Tcl_DoubleDigits. (It can't be - done other than as a hack until C9x; C89 simply doesn't deal with the - concept of -0.0). Added output conversion of tagged NaN values. - * generic/tclBinary.c (FormatNumber): Changed to allow [binary format] - to handle NaN. - * tests/binary.test (binary-60.1): Added a quick-n-dirty test to make - sure that NaN's can be scanned and formatted. - * generic/tclParseExpr.c (GetLexeme, ParseMaxDoubleLength): Modified so - that tagged NaN (e.g., NaN(DEADBEEF)) can be recognized. - -2005-03-02 Kevin B. Kenny - - [kennykb-numerics-branch] Merged with HEAD as of 2005-02-23. - - * generic/tclExecute.c: Broadened test for NaN to work on Windows. - * generic/tclInt.h: - * generic/tclStrToD.c (Tcl_DoubleDigits): - * generic/tclUtil.c (Tcl_PrintDouble, TclPrecTraceProc): Added - Tcl_DoubleDigits to format 'double' numbers with the minimum number of - significant digits to yield correct rounding. Modified tcl_precision - to accept 0 as a precision (meaning "minimum digits"), and made 0 the - default. [TIP #132] - * generic/tclObj.c: Made NaN's throw an error in Tcl_GetDoubleFromObj. - * unix/Makefile.in: - * win/Makefile.in: - * win/makefile.vc: Added libtommath/bn_mp_init_set.c to the build. - * libtommath/tommath.h (mp_iseven): Fixed a bug that caused zero to - test 'odd'. - * generic/tommath.h: Regenerated. - * tests/binary.test: - * tests/expr-old.test: - * tests/expr.test: - * tests/scan.test: Corrected a number of tests that depended on - tcl_precision, and removed the {eformat} condition from tests that no - longer require it. - * tests/util.test: Corrected a number of tests that depended on - tcl_precision, and removed the {eformat} condition from tests that no - longer require it. Added a series of tests for correct rounding in - Tcl_PrintDouble. [TIP #132]. - -2005-03-01 David N. Welton - - * doc/CrtSlave.3: Changed to Tcl_Object to Tcl_Obj in the man page. - -2005-02-24 Don Porter - - * library/tcltest/tcltest.tcl: Better use of [glob -types] to avoid - * tests/tcltest.test: failed attempts to [source] a directory, and - similar matters. Thanks to "mpettigr". [Bug 1119798] - - * library/tcltest/pkgIndex.tcl: Bump to tcltest 2.2.8 - * unix/Makefile.in: - * win/Makefile.in: - -2005-02-23 Donal K. Fellows - - * doc/CrtChannel.3 (THREADACTIONPROC): Formatting fix. [Bug 1149605] - -2005-02-17 Jeff Hobbs - - * win/tclWinFCmd.c (TraverseWinTree): use wcslen on wchar, not - Tcl_UniCharLen. - -2005-02-16 Miguel Sofer - - * doc/variable.n: fix for [Bug 1124160], variables are detected by - [info vars] but not by [info locals]. - -2005-02-11 Jeff Hobbs - - * unix/Makefile.in: remove SHLIB_LD_FLAGS (only for AIX, inlined into - * unix/tcl.m4: SHLIB_LD). Combine AIX-* and AIX-5 branches in - * unix/configure: SC_CONFIG_CFLAGS. Correct gcc builds for AIX-4+ - and HP-UX-11. autoconf-2.59 gen'd. - -2005-02-11 Miguel Sofer - - * tests/basic.test (basic-26.3): new test - -2005-02-10 Miguel Sofer - - * generic/tclBasic.c (Tcl_EvalObjEx): - * tests/basic.test (basic-26.2): preserve the arguments passed to TEOV - in the pure-list branch, in case the list shimmers away. Fix for [Bug - 1119369], reported by Peter MacDonald. - -2005-02-10 Vince Darley - - * generic/tclFileName.c: fix for test failures introduced on 2005-01-17 - [Bug 1119092] - -2005-02-10 Donal K. Fellows - - * doc/binary.n: Made the documentation of sign bit masking and [binary - scan] consistent. [Bug 1117017] - -2005-02-08 David N. Welton - - * doc/CrtChannel.3: Typo: return->returns. - -2005-02-06 Kevin B. Kenny - - [kennykb-numerics-branch] - - * generic/tclStrToD.c (TclStrToD, SafeLdExp): Added code to manage the - FPU precision on gcc+x86. Enabled fast conversion of floats with small - exponents now that precision is correct. - * tests/expr.test: Corrected test for the smallest representible value - to the right IEEE values. - -2005-02-06 David N. Welton - - * doc/Thread.3: One-word grammar fix. - -2005-02-05 David N. Welton - - * doc/Thread.3: Fixed sentence describing flags for Tcl_CreateThread. - - * doc/FileSystem.3: Cleaned up typo in Tcl_FSNewNativePath - documentation. - - * generic/tclPathObj.c: Cleaned up typo in comment. - -2005-02-03 Kevin B. Kenny - - [kennykb-numerics-branch] - - * generic/tclStrToD.c (TclStrToD, RefineResult, SafeLdExp): Added code - to ensure that 'ldexp' is never called with a value that will underflow - * tests/expr.test: Added tests for the smallest representible value, - and rounding between it and zero. (The tests reflect current - behaviour; plan is to change the specification of Tcl so that input - conversion of doubles underflows silently.) - -2005-02-02 Mo DeJong - - * generic/tclProc.c (TclInitCompiledLocals): Add check for type of the - framePtr->procPtr->bodyPtr passed to TclInitCompiledLocals and panic if - it is not the correct type. If the body of the proc is not of the - compiled byte code type then the code will crash. This was discovered - while tracking down a crash in Itcl, that crash is fixed by Itcl patch - 1115085. - -2005-02-01 Kevin B. Kenny - - [kennykb-numerics-branch] Merged with HEAD as of today. - - * generic/tclInt.decls: Changed numbers of new stubs to resolve a - conflict. - * generic/tclInt.h: Added new TclStrToD routine that replaces the - native 'strtod' throughout Tcl. - * generic/tclCmdMZ (Tcl_StringObjCmd): - * generic/tclGet.c (Tcl_GetDouble): - * generic/tclObj.c (SetBooleanFromAny, SetDoubleFromAny): - * generic/tclParseExpr.c (GetLexeme): - * generic/tclScan.c (Tcl_ScanObjCmd): Replaced all uses of the native - 'strtod' with a TclStrToD routine that performs correct rounding and - handles denormals. - * generic/tclStrToD.c: (new file) - New scanning function for extracting 'double' from a string that rounds - correctly, and handles denormals and infinities. - * unix/Makefile.in: - * win/Makefile.in: - * win/makefile.vc: - Added tclStrToD.c and the tommath routines that support it. - - These changes represent a partial implementation of TIP #132. Output - conversion of floating point numbers, and proper handling of infinities - within expressions, still need to be addressed. - -2005-02-01 Don Porter - - * generic/tclExecute.c (TclCompEvalObj): Removed stray statement left - behind in prior code reorganization. - -2005-01-31 Don Porter - - * unix/configure: autoconf-2.57 - -2005-01-30 Joe English - - * unix/configure.in: Restored two double-evals that were removed in the - DBGX purge; these are still needed on some platforms to account for - TCL_TRIM_DOTS. [Bug 1112654] - - * unix/configure: NOT REGENERATED: only have autoconf 2.59 here, need - to find someone with autoconf 2.57. - -2005-01-28 Jeff Hobbs - - * unix/configure, unix/tcl.m4: add solaris 64-bit gcc build support. - [Bug 1021871] - -2005-01-28 Donal K. Fellows - - * tests/expr-old.test (expr-old-37.2): Added test for [Bug 1109484] - -2005-01-27 Jeff Hobbs - - * generic/tclBasic.c (Tcl_ExprBoolean, Tcl_ExprDouble) - (Tcl_ExprLong): Fix to recognize Tcl_WideInt type. [Bug 1109484] - -2005-01-26 Andreas Kupries - - TIP#218 IMPLEMENTATION - - * generic/tclDecls.h: Regenerated from tcl.decls. - * generic/tclStubInit.c: - - * doc/CrtChannel.3: Documentation of extended API, - * generic/tcl.decls: extended testsuite, and - * generic/tcl.h: implementation. Removal of old - * generic/tclIO.c: driver-specific TclpCut/Splice - * generic/tclInt.h: functions. Replaced with generic - * tests/io.test: thread-action calls through the - * unix/tclUnixChan.c: new hooks. Update of all builtin - * unix/tclUnixPipe.c: channel drivers to version 4. - * unix/tclUnixSock.c: Windows drivers extended to - * win/tclWinChan.c: manage thread state in a thread - * win/tclWinConsole.c: action handler. - * win/tclWinPipe.c: - * win/tclWinSerial.c: - * win/tclWinSock.c: - -2005-01-25 Don Porter - - * library/auto.tcl: Updated [auto_reset] to clear auto-loaded - commands in namespaces other than :: and to clear auto-loaded commands - that do not happen to be procs. [Bug 1101670] - ***POTENTIAL INCOMPATIBILITY*** - -2005-01-25 Daniel Steffen - - * unix/tcl.m4 (Darwin): fixed bug with static build linking to dynamic - library in /usr/lib etc instead of linking to static library earlier in - search path. [Bug 956908] Removed obsolete references to Rhapsody. - * unix/configure: autoconf-2.57 - -2005-01-21 Andreas Kupries - - * generic/tclStubInit.c: Regenerated the stubs support code from the - * generic/tclDecls.h: modified tcl.decls (TIP #233, see below). - - * doc/GetTime.3: Implemented TIP #233, i.e. the - * generic/tcl.decls: 'Virtualization of Tcl's Sense of Time'. - * generic/tcl.h: Declared, implemented, and documented the - * generic/tclInt.h: specified new API functions. Moved the - * unix/tclUnixEvent.c: native (OS) access to time information - * unix/tclUnixNotfy.c: into standard handler functions. Inserted - * unix/tclUnixTime.c: hooks calling on the handlers where native - * win/tclWinNotify.c: access was done before, and where scaling - * win/tclWinTime.c: between domains (real/virtual) is required. - -2005-01-21 Andreas Kupries - - * generic/tclThread.c: Typo police. Fixed some nits - * generic/tclCmdAH.c: in header comments of functions. - * generic/tclBasic.c: (Missing --). - * generic/tclFileName.c: - -2005-01-21 Donal K. Fellows - - * doc/FileSystem.3: Add missing ARGUMENTS section definitions for - arguments to Tcl_FSLink. [Bug 1106272] - -2005-01-21 Kevin B. Kenny - - [kennykb-numerics-branch] - - * unix/Makefile.in: Updated Makefile to build libtommath on Unix as - well as Windows. [Bug 1106865] - - * generic/tclTestObj.c (TestbignumobjCmd): Silenced a compiler warning - about a mismatched 'const'. - -2005-01-20 Kevin B. Kenny - - [kennykb-numerics-branch] Development checkpoint. - - * compat/strtoll.c: Reverted to HEAD. - * compat/strtoull.c: - * doc/Ensemble.3: - * generic/tclBasic.c: - * generic/tclCmdIL.c: - * generic/tclNamesp.c: - * generic/tclPathObj.c: - * generic/tclPort.h: - * unix/configure: - * unix/configure.in: - * unix/tcl.m4: - * win/configure: - * win/configure.in: - * win/rules.vc: - * win/tcl.m4: - - * generic/tcl.h: Added declarations for bignum types, and for a - 'bignumValue' in the Tcl_Obj structure. - * generic/tclInt.h: Added declarations of interface procedures for - memory allocation in libtommath. - - * generic/tcl.decls: Added new interface to bignum objects. - * generic/tclInt.decls: Added internal stubs for bignum routines used - by the test code in tclTestObj.c. - - * generic/tclDecls/h: Regen. - * generic/tclIntDecls.h: - * generic/tclStubInit.h: - - * tools/fix_tommath_h.tcl: (New file) Script to edit - libtommath/tommath.h and produce generic/tommath.h so that storage - classes, allocation routines, and data types conform to Tcl's - conventions. - * generic/tommath.h: (New file) Generated by the above. - - * generic/tclTomMath.h: (New file) Additional declarations to be - included in tommath.h when building Tcl. - - * generic/tclTomMathInterface.c: (New file) Small 'glue' routines - adapting tommath's API to Tcl. - - * libtommath/bn_fast_s_mp_mul_digs.c: - * libtommath/bn_mp_mul_d.c: - * libtommath/bn_mp_read_radix.c: - * libtommath/tommath.h: Applied suggested changes from Tom St Denis - that correct an off-by-one error in single-digit multiplication - (leading to a pointer smash if uncorrected) and change the string - argument to 'mp_read_radix' from 'char*' to 'const char*'. - - * libtommath/bn_mp_radix_size.c: Local patch to ensure that sufficient - memory is requested even if the number has a single digit. - - * libtommath/bn_mp_read_radix.c: Local patch to return MP_VAL if the - input string contains an invalid character. - - * generic/tclObj.c: Added accessor functions for bignums. - * generic/tclTestObj.c: Added a 'testbignumobj' command to exercise the - accessor functions for bignums. - - * win/Makefile.in: Added rules for making libtommath. - -2005-01-19 Donal K. Fellows - - TIP#235 IMPLEMENTATION - - * doc/Ensemble.3: Documentation for the new public API. - * generic/tclNamesp.c (Tcl_CreateEnsemble,...): Rename of - * generic/tcl.decls: existing API into TIPped form. - -2005-01-19 Mo DeJong - - * win/tclWinChan.c (FileCloseProc): Invoke TclpCutFileChannel() to - remove a FileInfo from the thread local list before deallocating it. - This should have been done via an earlier call to Tcl_CutChannel, but I - was running into a crash in the next call to Tcl_CutChannel during the - I/O finalization stage. - -2005-01-18 Kevin Kenny - - * library/tzdata/GMT+0: - * library/tzdata/GMT-0: - * library/tzdata/GMT0: - * library/tzdata/Greenwich: - * library/tzdata/Navajo: - * library/tzdata/Universal: - * library/tzdata/Zulu: - * library/tzdata/America/Asuncion: - * library/tzdata/America/Rosario: - * library/tzdata/Asia/Jerusalem: - * library/tzdata/Brazil/Acre: - Routine update per Olson's tzdata2005c. Removed links to links - (Greenwich in several aliases; Navajo; Acre). Updated Paraguayan DST - rules and "best guess" at this year's Israeli rules. - -2005-01-17 Vince Darley - - * generic/tclFileName.c: fix for glob failure on Windows shares [Bug - 1100542]. - - * doc/pkgMkIndex.n: added documentation that 'pkg_mkIndex -lazy' is not - a good idea. [Bug 1101678] - -2005-01-14 Donal K. Fellows - - * tests/compile.test (compile-17.1): Document known issue with binding - time of compiled command interpretations in [expr]. - - * generic/tclIOUtil.c (TclFSFileAttrIndex): New helper function so that - we don't need to hard-code attribute indexes. [Bug 1100671] - -2005-01-13 Donal K. Fellows - - * doc/string.n: Removed the term 'set' from the documentation of the - [string trim] commands, as it caused confusion. - -2005-01-12 Donal K. Fellows - - * unix/tcl.m4 (SC_PATH_{TCL,TK}CONFIG): Added code to detect the case - when the --with-tcl/--with-tk arguments point to the config scripts - themselves and not their directory. If this is the case, they now - complain but keep working. [FRQ 951247] - * unix/configure: autoconf-2.57 - -2005-01-10 Joe English - - * unix/Makefile.in, unix/configure.in, unix/tcl.m4, - * unix/tclConfig.sh.in, unix/dltest/Makefile.in: - Remove ${DBGX}, ${TCL_DBGX} from Tcl build system [Patch 1081595]. - * unix/configure: regenerated - -2005-01-10 Donal K. Fellows - - * unix/tclUnixFCmd.c (TclUnixCopyFile): Convert u_int to unsigned to - make clashes with types in standard C headers less of a problem. [Bug - 1098829] - -2005-01-09 Joe English - - * unix/tclUnixThrd.c, unix/tclUnixPort.h: Remove readdir_r() and - related #ifdeffery (see [Bug 1095909]). - * unix/tcl.m4, unix/tclConfig.h.in: Don't check for HAVE_READDIR_R. - * unix/configure: Regenerated. - -2005-01-06 Donal K. Fellows - - * library/http/http.tcl (http::mapReply): Significant performance - enhancement by using [string map] instead of [regsub]/[subst], and - update version requirement to Tcl8.4. [Bug 1020491] - -2005-01-05 Donal K. Fellows - - * doc/lsearch.n, doc/re_syntax.n: Convert to other form of emacs mode - control comment to prevent problems with old versions of man. [Bug - 1085127] - -2005-01-05 Pat Thoyts - - * tests/winDde.test: Fixed broken test result. - -2005-01-05 Donal K. Fellows - - * generic/tclInt.h, generic/tclPort.h: Move the #include of tclConfig.h - *first* before any reference to tcl.h so that the build configuration - is loaded before the first reference to any system headers. Issue - reported by Art Haas on tcl-core. - -2005-01-04 Don Porter - - * tests/fCmd.test (fCmd-18.10): Added notNetworkFilesystem constraint. - [Bug 456665] - - ****************************************************************** - *** CHANGELOG ENTRIES FOR 2004 IN "ChangeLog.2004" *** - *** CHANGELOG ENTRIES FOR 2003 IN "ChangeLog.2003" *** - *** CHANGELOG ENTRIES FOR 2002 IN "ChangeLog.2002" *** - *** CHANGELOG ENTRIES FOR 2001 IN "ChangeLog.2001" *** - *** CHANGELOG ENTRIES FOR 2000 IN "ChangeLog.2000" *** - *** CHANGELOG ENTRIES FOR 1999 AND EARLIER IN "ChangeLog.1999" *** - ****************************************************************** +2005-12-30 Kevin B. Kenny + + * generic/tclStubLib.c: Corrected a typo in "missing Stubs table + pointer." + +2005-12-27 Kevin B. Kenny + + * generic/tcl.decls: Destubbed TclTomMathInitializeStubs - it is in + * generic/tcl.h: the stub library, not the main shared + * generic/tclBasic.c: library. Exported Tcl_InitBignumFromDouble. + * generic/tclExecute.c: + * generic/tclInt.h: + * generic/tclStrToD.c: + + * generic/tclDecls.h: + * generic/tclStubLib.c: + * generic/tclStubInit.c: Regenerated. + + * generic/clock.tcl: Reverted to using the time zone abbreviation and + not its name to "stop the bleeding" on [Bug 1386377]. This is *not* a + good long-term solution, but there may not be one. + + * libtommath/bn_mp_sqrt.c: Improved the initial approximation to the + square root, roughly doubling the speed of the routine. (This is a + local change that needs to be communicated to Tom.) + + * win/Makefile.in: Corrected a bug where tommath_class.h and + tommath_superclass.h were not installed, making it impossible for + client code to compile against the tommath stubs. + + * library/tzdata: Updated to Olson's tzdata2005r. (Latest changes to + Daylight Saving Time in Canada, plus redefinition of the Posix-style + zones [e.g., EST5EDT] to be locale-independent.) + + * libtommath: Updated to Tom St.Denis's release 0.37. + +2005-12-20 Donal K. Fellows + + * generic/tclThreadAlloc.c (Tcl_GetMemoryInfo): Format values as longs + and not ints, so they are less likely to wrap on 64-bit machines. + +2005-12-19 Don Porter + + * generic/tclCmdMZ.c: Modified [string is double] to use + * tests/string.test: TclParseNumber() to parse trailing whitespace. + Ensures consistency, and makes it easier to cleanup after invalid + internal reps left behind by parsing [Bugs 1360532 1382287]. + + * generic/tclParseExpr.c: Added TCL_PARSE_NO_WHITESPACE to + * generic/tclScan.c: TclParseNumber() calls since [scan] and [expr] + * tests/scan.test: parsing don't want spaces in parsed numbers. + + * generic/tclInt.h: Added TCL_PARSE_NO_WHITESPACE flag to the + * generic/tclStrToD.c: TclParseNumber() interface. + +2005-12-19 Donal K. Fellows + + * doc/Tcl.n: Clarify what is going on in variable substitution + following thread on comp.lang.tcl. + +2005-12-18 Donal K. Fellows + + * generic/tclCompCmds.c (TclCompileDictCmd): Ensure that we only do an + 'endCatch' when there's a preceding 'beginCatch'. [Bug 1382528] Many + thanks to Anton Kovalenko for finding this and pointing out that it was + a catch stack handling problem! + +2005-12-14 Daniel Steffen + + * generic/tclIOUtil.c: workaround gcc warning "comparison is always + * generic/tclTest.c: false due to limited range of data type". + + * macosx/Tcl.xcode/project.pbxproj: + * macosx/Tcl.xcodeproj/project.pbxproj: + * unix/Makefile.in: add new tclTomMath* files. + + * generic/tclBasic.c: replace panic with Tcl_Panic. + +2005-12-13 Kevin B. Kenny + + * generic/tcl.decls: Added changes to export an additional stubs + * generic/tclBasic.c: table to represent the 'libtommath' routines + * generic/tclDecls.h: that Tcl uses and export them to callers. + * generic/tclInt.decls: Reran 'genstubs' + * generic/tclInt.h: + * generic/tclIntDecls.h: + * generic/tclIntPlatDecls.h: + * generic/tclStubInit.c: + * generic/tclStubLib.c: + * generic/tclTomMath.decls: + * generic/tclTomMath.h: + * generic/tclTomMathDecls.h: + * generic/tclTomMathInterface.c: + * generic/tommath.h: + * tools/fix_tommath_h.tcl: + * unix/Makefile.in: + * win/Makefile.in: + * win/makefile.vc: + + * generic/tclClock.c: Made changes to silence a number of compiler + * generic/tclIO.c: warnings when building with mingw. + * generic/tclIORChan.c: + * generic/tclLink.c: + * generic/tclListObj.c: + * generic/tclObj.c: + * generic/tclParseExpr.c: + * generic/tclProc.c: + * generic/tclTimer.c: + * win/tclWinChan.c: + * win/tclWinConsole.c: + * win/tclWinDde.c: + * win/tclWinFCmd.c: + * win/tclWinFile.c: + * win/tclWinReg.c: + * win/tclWinSock.c: + +2005-12-13 Donal K. Fellows + + * generic/tclExecute.c (TEBC:DICT_FIRST,DICT_DONE): Only decrease the + references to the dictionary once the iteration completes. Do this by + storing the dict in the iterator context variable. [Bug 1379349] Thanks + to Ulrich Ring and Tobias Hippler for finding this. + +2005-12-12 Jeff Hobbs + + * unix/tcl.m4, unix/configure: Fix sh quoting error reported in + bash-3.1+ [Bug 1377619] (schafer) + +2005-12-12 Kevin B. Kenny + + * doc/mathfunc.n: Changed two examples from the incorrect 'tcl::math::' + to 'tcl::mathfunc::' [Bug 1378818] + +2005-12-09 Mo DeJong + + * win/configure: Regen. + * win/tcl.m4 (SC_CONFIG_CFLAGS): Define MACHINE for gcc builds. The + lack of a definition of this variable in the manifest file was causing + a runtime error in wish built with gcc. + +2005-12-09 Donal K. Fellows + + * tests/lsearch.test (lsearch-10.8..10): If the -start is off the end, + * generic/tclCmdIL.c (Tcl_LsearchObjCmd): searching should find nothing + at all. [Bug 1374778] + +2005-12-08 Jeff Hobbs + + * win/Makefile.in, win/makefile.vc: Add Win x64 and CE build support + * win/tcl.m4, win/configure: CE still requires C code fixes. + + * generic/tcl.h: use struct __stat64 (not _stat64) for MSC_VER >= 1400 + (i.e. latest Platform SDK). + +2005-12-07 Donal K. Fellows + + * doc/socket.n: Cross-referenced the socket documentation better to the + fconfigure documentation on the topic of asynch sockets. + * doc/fconfigure.n: Added keyword to documentation of -blocking option + so that people looking for "asynch" can find it as well. + +2005-12-05 Daniel Steffen + + * unix/tclUnixPort.h (Darwin): fix incorrect __DARWIN_UNIX03 configure + overrides that were originally copied from Darwin CVS (rdar://3693001) + +2005-12-05 Kevin B. Kenny + + * tools/tclZIC.tcl: Updated to reflect changes in calling sequence when + GetJulianDateFromEraYearMonthDay moved to C. + * library/tzdata: Regenerated from Olson's tzdata2005p.tar.gz - the + 'systemv' changes appear not to affect Tcl's processing of the dates. + +2005-12-05 Daniel Steffen + + * unix/configure.in: move check for fts API to configure.in and run it + * unix/tcl.m4: on all platforms, since Linux glibc2 and *BSDs + also have this; using fts is more efficient than a recursive + opendir/readdir. + * unix/tclUnixFCmd.c (TraverseUnixTree): add support to fts code for + platforms with stat64. + * unix/configure: + * unix/tclConfig.h.in: regen. + +2005-12-05 Jeff Hobbs + + * unix/configure: Use fts file API on Darwin if available. + * unix/tcl.m4: Addresses file delete issues in readdir noted + * unix/tclUnixFCmd.c: in [Bug 1034337]. (steffen) + Remove redundant stat call for each file in DoCopyFile. (steffen) + +2005-12-02 Kevin B. Kenny + + * generic/tclClock.c: Moved a tiny bit more of [clock format] from run + * library/clock.tcl: time to compile time, and fixed a l10n bug in the + process. [Bug 1371446]. Also, conditoned the call to SetupTimeZone to + speed the common case where TZData($timezone) already exists, and + achieved a puny speedup by making ::tcl::clock::getenv not throw + errors. + * unix/Makefile.in: Made some changes to support a 'make' command that + is present on some antiquated versions of Solaris. + +2005-12-01 Kevin B. Kenny + + * library/clock.tcl: Continued rationalizing the code, eliminating + numerous redundant [mc] calls. Added another time boost by precompiling + a [::format] command to do the bulk of the work of [clock format]. + +2005-12-01 Donal K. Fellows + + * unix/Makefile.in: Add remaining dependency info. While automated + maintenance of this information would be good, having it at all is much + better than a poke in the eye with a sharp stick... + +2005-12-01 Daniel Steffen + + * generic/tclClock.c: fix warning. + + * unix/tcl.m4 (Darwin): fix error when MACOSX_DEPLOYMENT_TARGET unset + * unix/configure: regen. + +2005-11-30 Donal K. Fellows + + * unix/Makefile.in: Add dependency information relating to tclCompile.h + since when the list of opcodes changes it is usually useful to rebuild + everything that depends on it (but which is nonetheless a small + fraction of the total set of Tcl source files). + + ***POTENTIAL INCOMPATIBILITY*** for bytecode savers/loaders. See below + + * generic/tclCompCmds.c (TclCompileSwitchCmd): Arrange for very simple + [switch] invokations to be compiled into hash lookups into jump tables; + only a very specific kind of [switch] can be safely compiled this way, + but that happens to be the most common kind. This makes around 5-10% + difference to the speed of execution of clock.test. + * generic/tclExecute.c (TEBC:INST_JUMP_TABLE): New instruction to allow + for jumps to locations looked up in a hashtable. Requires a new AuxData + type, tclJumptableInfoType (supported by the functions DupJumptableInfo + and FreeJumptableInfo in tclCompCmds.c) so anything that saves bytecode + containing this *must* be updated! + +2005-11-30 Kevin Kenny + + * generic/tclClock.c: Fixed a bad refcount in previous commit that led + to a corrupted heap. Also silenced a warning that some compilers gave + about the excessively long constant for JULIAN_SEC_POSIX_EPOCH. Also + fixed a bug where [clock format] would fail in the :localtime zone for + times before the Posix Epoch. Thanks to Miguel Sofer for pointing out + all of these. Also rationalized the code a little bit by moving parts + of [clock scan] into C, eliminating some code that was duplicated in + the C and Tcl layers. + +2005-11-29 Kevin Kenny + + * generic/tclBasic.c: Moved a big part of [clock format] down + * generic/tclClock.c: to the C level in order to make it go faster. + * generic/tclInt.h: Preliminary measurements suggest that it + * generic/clock.tcl: more than doubles in speed with this change. + +2005-11-29 Donal K. Fellows + + * generic/tclCmdIL.c (Tcl_LsearchObjCmd): Allow [lsearch -regexp] to + process REs that contain backreferences. This expensive mode of + operation is only used if the RE would otherwise cause a compilation + failure. [Bug 1366683] + +2005-11-28 Kevin Kenny + + * tools/tclZIC.tcl (convertTimeOfDay): Corrected a typo that caused + wrong DST transitions in any time zone where the transition is + specified as local Standard Time (as opposed to wall-clock or UTC). + (Also updated the code to be bignum-safe.) + * tests/clock.test (clock-51.1): Added regression test for the above. + * library/tzdata: Updated to Olson's 'tzdata2005o' (changes for Cuba, + Nicaragua, Jordan, and Georgia) and regenerated. Thanks to Paul + Mackerras for reporting this problem. + +2005-11-27 Daniel Steffen + + * unix/tcl.m4 (Darwin): add 64bit support, check for Tiger copyfile(), + add CFLAGS to SHLIB_LD to support passing -isysroot in env(CFLAGS) to + configure (flag can't be present twice, so can't be in both CFLAGS and + LDFLAGS during configure), don't use -prebind when deploying on 10.4, + define TCL_IO_TRACK_OS_FOR_DRIVER_WITH_BAD_BLOCKING (rdar://3171542). + (SC_ENABLE_LANGINFO, SC_TIME_HANDLER): add/fix caching, fix obsolete + autoconf macros. Sync with tk/unix/tcl.m4. + + * unix/configure.in: fix obsolete autoconf macros, sync gratuitous + formatting/ordering differences with tk/unix/configure.in. + + * unix/Makefile.in: add CFLAGS to tclsh/tcltest link to make executable + linking the same as during configure (needed to avoid losing any linker + relevant flags in CFLAGS, in particular flags that cannot be in + LDFLAGS). Avoid concurrent linking of tclsh and compiling of + tclTestInit.o or xtTestInit.o during parallel make. + (checkstubs, checkdoc, checkexports): dependency and Darwin fixes + (dist): add new macosx files. + + * unix/tclLoadDyld.c (TclpDlopen): use NSADDIMAGE_OPTION_WITH_SEARCHING + on second NSAddImage only. [Bug 1204237] + (TclGuessPackageName): should not be MODULE_SCOPE. + (TclpLoadMemory): ppc64 and endian (i386) fixes, add support for + loading universal (fat) bundles from memory. + + * unix/tclUnixFCmd.c: + * macosx/tclMacOSXFCmd.c: ppc64 and endian (i386) fixes. + (TclMacOSXCopyFileAttributes): add support for new Tiger copyfile() API + to enable copying of xattrs & ACLs by [file copy]. + + * generic/tcl.h: add Darwin specifc configure overrides for TCL_WIDE + defines to support fat compiles of ppc and ppc64 at the same time, + (replaces Darwin CVS fix by emoy, rdar://3693001). add/correct location + of version numbers in macosx files. + + * generic/tclInt.h: clarify fat compile comment. + + * unix/tclUnixPort.h: add Darwin specifc configure overrides to support + fat compiles, where configure runs only once for multiple architectures + (replaces Darwin CVS fix by emoy, rdar://3693001). + + * macosx/tclMacOSXBundle.c: + * macosx/tclMacOSXNotify.c: + * unix/tclUnixNotfy.c: + * unix/tclUnixPort.h: fix #include order to support compile time + override of HAVE_COREFOUNDATION in tclUnixPort.h when building for + ppc64 + + * macosx/Tcl.pbproj/default.pbxuser (new file): + * macosx/Tcl.pbproj/jingham.pbxuser: + * macosx/Tcl.pbproj/project.pbxproj: + * macosx/Tcl.xcode/default.pbxuser (new file): + * macosx/Tcl.xcode/project.pbxproj (new file): + * macosx/Tcl.xcodeproj/default.pbxuser (new file): + * macosx/Tcl.xcodeproj/project.pbxproj (new file): new/updated + projects for Xcode 2.2 on 10.4, Xcode 1.5 on 10.3 & ProjectBuilder on + 10.2, with native tcltest targets and support for universal (fat) + compiles. + + * macosx/README: clarification/cleanup, document new Xcode projects and + universal (fat) builds via CFLAGS (i.e. all of ppc ppc64 i386 at once). + + * unix/Makefile.in: + * unix/aclocal.m4: + * unix/configure.in: + * unix/dltest/Makefile.in: + * macosx/configure.ac (new file): add support for inclusion of + unix/configure.in by macosx/configure.ac, allows generation of a config + headers enabled configure script in macosx (required by Xcode + projects). + + * macosx/GNUmakefile: rename from Makefile to avoid overwriting by + configure run in tcl/macosx, add support for reusing configure cache, + build target fixes, remove GENERIC_FLAGS override now handled by + tcl.m4. + + * generic/tcl.decls: add Tcl_Main declaration as comment to avoid + 'checkstubs' target complaining about it missing from stubs. + + * generic/regex.h: + * generic/tclDate.c: + * generic/tclEnv.c: + * generic/tclGetDate.y: + * generic/tclIOUtil.c: + * generic/tclObj.c: + * generic/tclStubInit.c: + * generic/tclStubLib.c: + * generic/tclPathObj.c: + * generic/tclThreadAlloc.c: + * generic/tclThreadStorage.c: + * generic/tclTrace.c: + * generic/tclVar.c: + * generic/tommath.h: + * tools/fix_tommath_h.tcl: + * unix/tclUnixFCmd.c: ensure externally visible symbols not contained + in stubs table are declared as MODULE_SCOPE (or as static if not used + outside of own source file). These changes allow 'make checkstubs' to + complete without error on Darwin with gcc 4. + + * generic/rege_dfa.c (getvacant): + * generic/regexec.c (cfind): + * generic/tclCompExpr.c (CompileSubExpr): + * generic/tclNamesp.c (NamespaceEnsembleCmd): + * unix/tclUnixChan.c (TclUnixWaitForFile): initialise variables to + silence gcc 4 warnings. + + * generic/tclExecute.c (TclExecuteByteCode): fix unused variable + warning when NO_WIDE_TYPE is defined. + + * generic/regguts.h: only #define NDEBUG if not already #defined. + + * unix/tclUnixNotfy.c: + * macosx/tclMacOSXNotify.c: sync whitespace & comments. + + * unix/tclUnixPort.h: + * win/tclWinPort.h: remove declaration of obsolete&unused TclpMutex + API. + + * unix/configure: + * unix/tclConfig.h.in: regen. + +2005-11-21 Andreas Kupries + + * unix/Makefile.in (install-libraries): Updated Makefile to new + * win/Makefile.in (install-libraries): version of the http package. + This fixes the ifneeded/provide mismatch reported when trying to + require http. Should we maybe try to automatically extract the version + number from the http code to prevent future breakage ? + + This follows the update of the version number by dgp on Nov 15 (No + entry found in the ChangeLog). + +2005-11-20 Joe English + + * generic/tclStubLib.c: Don't set tclStubsPtr to 0 when + Tcl_PkgRequireEx() fails [Fix for [Bug 1091431] "Tcl_InitStubs failure + crashes wish"] + +2005-11-18 Miguel Sofer + + * tests/trace.test (trace-34.5): [Bug 1047286], added a second test + illustrating the role of "ns in callStack" in the ns's visibility + during deletion traces. + +2005-11-18 Kevin B. Kenny + + * doc/clock.n: Restored several missing lines near the %w format group + so that %w and %W are documented with their actual behaviour. [Bug + 1359183] + +2005-11-18 Jeff Hobbs + + * generic/tclIO.c (TclFinalizeIOSubsystem): preserve statePtr until we + retrieve the next statePtr from it. + +2005-11-18 Miguel Sofer + + * generic/tclObj.c (GetBignumFromObj): replace NULL with + tclEmptyStringRep to stop memcpy from complaining in a debug build + (the corresponding branch is eliminated by the optimiser otherwise). + +2005-11-18 Andreas Kupries + + * generic/tclIO.c (TclFinalizeIOSubsystem): Applied Pat Thoyts' patch + for [Bug 1359094]. This moves the retrieval of the next channel state + to the end of the loop, as the called closeproc may close other + channels, i.e. modify the list we are iterating, invalidating any + pointer retrieved earlier. + +2005-11-18 Don Porter + + * generic/tclListObj.c: Restored the SetListFromAny routine to the + * generic/tclObj.c: "list" Tcl_ObjType, and restored the + Tcl_RegisterObjType() call for "list". This addresses the needs of some + "bridge" extensions to examine whether the Tcl_ObjType of a Tcl_Obj is + that of the "list" Tcl_ObjType. + +2005-11-18 Donal K. Fellows + + * library/http/http.tcl (http::geturl): Improved syntactic validation + of URLs, and better error messages in some cases. [Bug 1358369] + +2005-11-17 Miguel Sofer + + * tests/namespace.test: fix comment + +2005-11-14 Don Porter + + * generic/tclStrToD.c: More data in the "can't happen" Tcl_Panic to + aid debugging. + + * generic/tclBasic.c (CallCommandTraces): Save/restore the interp + result during traces to fix [Bug 1355342]. + +2005-11-13 Miguel Sofer + + * generic/tclInt.h: + * generic/tclNamesp.c: + * tests/namespace.test: fix for [Bug 1354540] and [Bug 1355942]. The + new tests 7.3-6 and the modified 51.13 fail due to the unrelated [Bug + 1355342] + + * tests/trace.test: added tests 20.13-16 for [Bug 1355342] + +2005-11-12 Miguel Sofer + + * generic/tclBasic.c (Tcl_DeleteCommandFromToken): + * generic/tclObj.c (Tcl_GetCommandFromObj): more partial fixes for + [Bug 1354540] - making sure that cached references to a command being + deleted cannot be made reusable by a delete trace. + +2005-11-12 Donal K. Fellows + + * generic/tclNamesp.c (Tcl_FindCommand): Do not find commands in dead + namespaces on the path. Partial fix for [Bug 1354540]. + +2005-11-11 Don Porter + + * generic/tclInt.h: Revised TclParseNumber interface to enable + * generic/tclScan.c: revision to the [scan] command implementation + * generic/tclStrToD.c: to permit tests scan-4.44,55 to pass again. + [Bug 1348067]. + +2005-11-11 Miguel Sofer + + * generic/tclBasic.c (Tcl_DeleteCommandFromToken): + * generic/tclObj.c (Tcl_GetCommandFromObj): bump the cmd epoch early + to insure that cached references to this command are invalidated. + Partial fix for [Bug 1352734] - at least insures that namespace-51.13 + does not cause a panic. The test is still marked as knownbug, pending + resolution of what is actually the correct return value ([Bug + 1354540]) + +2005-11-09 Kevin B. Kenny + + * generic/tclTimer.c: Changed [after] so that it behaves correctly + * tests/timer.test: with negative arguments [Bug 1350293] and + arguments that overflow a 32-bit word. [Bug 1350291] + +2005-11-08 Don Porter + + * tests/compile.test: Updated tests with changed behavior + * tests/execute.test: due to addition of bignums. + * tests/expr-old.test: + * tests/expr.test: + * tests/parseExpr.test: + * tests/platform.test: + * tests/string.test: + +2005-11-08 Jeff Hobbs + + * unix/tclUnixFCmd.c (MAX_READDIR_UNLINK_THRESHOLD): reduce to 130 + based on errors seen on OS X 10.3 with lots of links in a dir. + [Bug 1034337 followup] + +2005-11-09 Donal K. Fellows + + * unix/Makefile.in (gdb-test): Added a new target to make it easier to + run the test suite inside a debugger. + +2005-11-08 Don Porter + + * tests/compExpr-old.test: Updated tests with changed behavior due + to addition of bignums. + + * tests/expr.test: Portable tests expr-46.13-18 [Bug 1341368] + + * generic/tclPkg.c: Corrected inconsistencies in the value returned + * tests/pkg.test: by Tcl_PkgRequire(Ex) so that the returned + values will always agree with what is stored in the package database. + This way repeated calls to Tcl_PkgRequire(Ex) have the same results. + Thanks to Hemang Lavana. [Bug 1162286]. + +2005-11-08 Donal K. Fellows + + * generic/tclTrace.c (TraceVarEx): Factor out heart of Tcl_TraceVar2 + (TclTraceVariableObjCmd,TraceVarProc): Use the new internal API to + arrange for the clientData to be cleaned up at the same time as the + rest of the main trace record. This simplifies the code a bit at the + same time. + +2005-11-07 Miguel Sofer + + * tests/trace.test (trace-13.2-4): added tests to detect leak, see [Bug + 1348775]. The recently added trace-8.9 test is now 13.4. + +2005-11-07 Donal K. Fellows + + * tests/dict.test (dict-19.2): arrange for the stress testing code to + only stress test the dict code and not the trace code as well. [Bug + 1342858] + +2005-11-05 Miguel Sofer + + * tests/trace.test (trace-8.9): added test to detect leak, see [Bug + 1348775]. + +2005-11-04 Pat Thoyts + + * win/tclWinPort.h: Applied [Patch 1267871] by Matt Newman for + * win/tclWinPipe.c: extended error code support on Windows. + * tests/exec.test: Tests for extended error codes. + * generic/tclPipe.c: Permit long codes (platform macros permitting). + +2005-11-04 Miguel Sofer + + * generic/tclBinary.c: + * generic/tclCmdAH.c: + * generic/tclCmdIL.c: + * generic/tclCmdMZ.c: + * generic/tclDictObj.c: + * generic/tclExecute.c: + * generic/tclIOCmd.c: + * generic/tclLink.c: + * generic/tclTest.c: + * generic/tclVar.c: fix for [Bug 1334947]. The functions TclPtrSetVar, + Tcl_ObjSetVar2 and Tcl_SetVar2Ex now always consume the newValuePtr + argument - i.e., they will free a 0-refCount object if they failed to + set the variable. Fixed all callers in the core. + +2005-11-04 Kevin Kenny + + * generic/tclGetDate.y: Added abbreviations for the Korean + * library/clock.tcl: timezone. [Patch 1298737] + * generic/tclDate.c: Regenerated. + + * tools/findBadExternals.tcl: Added this script, which locates external + symbols that do not begin with 'Tcl' or 'tcl' and hence might be in + conflict with other link libraries. Thanks to George Peter Staplin for + the idea and the initial version of the script. [Bug 1263012] + + * unix/Makefile.in: Trimmed a bunch of fat out of the tommath/ + directory in 'make dist'. [RFE 1333318] + + * unix/tcl.m4: Added code to enable [load] on LynxOS. Thanks to + heidibr@users.sf.net for the patch. [Bug 1163896]. Removed the last + vestiges of GNU dld from the Unix build [RFE 1071992]. + + * unix/tclLoadDld.c: Removed. + * unix/configure: Regenerated. + +2005-11-04 Miguel Sofer + + * generic/tclInt.h: + * generic/tclNamesp.c: + * generic/tclVar.c: + * tests/trace.test: fix for [Bugs 1338280/1337229]; changed to use the + same approach as the 8.4 patch in the ticket (i.e., removed the patch + committed on 2005-31-10). + +2005-11-03 Pat Thoyts + + * win/tclWin32Dll.c: Applied [Patch 1256872] to provide unicode + * win/tclWinConsole.c: support in the console on suitable systems. + * win/tclWinInt.h: Patch by Anton Kovalenko + +2005-11-02 Pat Thoyts + + Applied [Patch 1096916] to support building with MSVC 8. + * generic/regerror.c: Avoid use of reserved word. + * generic/tcl.h: Select the right Tcl_Stat structure + * generic/tclDate.c: Casts to handle 64 bit time_t case. + * tests/env.test: Include essential envvar on Win32 + * win/nmakehlp.c: Handle new return codes. + * win/makefile.vc: Use the selected options. + * win/rules.vc: Check options are applicable + * win/tclWinPort.h: Disable deprecated function warnings + * win/tclWinSock.c: Provide default value to avoid warning. + * win/tclWinTime.c: Add casts to handle 64bit time_t type. + +2005-11-01 Don Porter + + * generic/tclTrace.c (TclCheckExecutionTraces): Corrected mistaken + assumption that all command traces are set at the script level. + Report/fix from Jacques H. de Villiers. [Bug 1337941] + + * tests/unixNotfy.test (1.1,2): Update error message whitespace to + match changes in code. + + * tests/expr-old.test (expr-32.52): Use int(.) to restrict result of + left shift to the C long range. + + * expr.test (expr-46.13): Added test that illustrates shortcoming of + [Patch 1340260]. + +2005-10-31 Miguel Sofer + + * generic/tclNamesp.c: fix for [Bugs 1338280/1337229]. Thanks Don. + * tests/trace.test: fix duplicate test numbers + +2005-10-31 Donal K. Fellows + + * win/tclWinSerial.c (SerialSetOptionProc): Cleaned up option parsing + to produce more informative error messages and separate error and + non-error code paths better. + * tests/ioCmd.test (iocmd-8-19): Updated. + +2005-10-29 Miguel Sofer + + * generic/tclTrace.c (TraceVarProc): [Bug 1337229], partial fix. Ensure + that a second call with TCL_TRACE_DESTROYED does not lead to a second + call to Tcl_EventuallyFree(). It is still true that that second call + should not happen, so the bug is not completely fixed. + * tests/trace.test (test-18.3-4): added tests for [Bug 1337229] and + [Bug 1338280]. + +2005-10-23 Vince Darley + + * generic/tclFileName.c: fix to memory leak in glob [Bug 1335006] Obj + leak detection and patch by Eric Melbardis. + + * tests/fCmd.test: + * win/tclWinFile.c: where appropriate windows API is available, try to + set 'nlink' and 'ino' stat fields (previously they were always 0). [Bug + 1325803] + +2005-10-22 Miguel Sofer + + * tests/foreach.test (foreach-8.1): added test for [Bug 1189274] + +2005-10-22 Miguel Sofer + + * generic/tclExecute.c (INST_INCR_*): fixed [Bug 1334570]. Obj leak + detection and patch by Eric Melbardis. + +2005-10-21 Kevin B. Kenny + + * generic/tclStrToD.c (RefineApproximation): Plugged a memory leak + where two intermediate results were not freed on one return path. [Bug + 1334461]. Thanks to Eric Melbardis for the patch. + +2005-10-21 Donal K. Fellows + + * doc/binary.n: Clarify that virtually all code that uses the 'h' + format in [binary scan] should be using the 'H' format instead. It is + nearly always a bug to use the other! + +2005-10-20 Miguel Sofer + + * generic/tclListObj.c (TclLsetFlat): + * tests/lset.test (lset-10.3): fixed handling of unshared lists with + shared sublists, [Bug 1333036] reported by neuronstorm. + +2005-10-19 Donal K. Fellows + + * generic/tclIORChan.c (PassReceivedError,PassReceivedErrorInterp): + Fix crash caused by passing -1 as the length to TclNewStringObj(). Only + Tcl_NewStringObj (the function call, not the macro) handles that sort + of thing correctly. This makes ioCmd.test pass again. + +2005-10-19 Don Porter + + * generic/tclClock.c: Removed some dead code. + * generic/tclCmdIL.c: + * generic/tclCompCmds.c: + * generic/tclDictObj.c: + * generic/tclExecute.c: + * generic/tclLiteral.c: + * generic/tclParseExpr.c: + * generic/tclScan.c: + * generic/tclUtil.c: + * generic/tclVar.c: + +2005-10-19 Donal K. Fellows + + * generic/tclIORChan.c: General cleanup, removing checks that are + unnecessary due to the general contracts of other functions in the + core, converting to using ANSI declarations, etc. Note that nearly the + whole file has changed, but it is often just cosmetic. + +2005-10-19 Miguel Sofer + + * generic/tclExecute.c (INST_DICT_APPEND, INST_DICT_LAPPEND): fixed + faulty peephole optimisation that can cause crashes, [Bug 1331475] + reported by Aric Bills. + +2005-10-18 Don Porter + + * generic/tclExecute.c: Added optimization for I32L64 systems to avoid + using bignums to perform int multiplies. The improvement shows up most + dramatically in tclbench's matrix.bench. + +2005-10-15 Don Porter + + * generic/tclExecute.c: Restored some optimizations of the + INST_INCR_SCALAR1_IMM opcode. + +2005-10-14 Zoran Vasiljevic + + * generic/tclIO.c (Tcl_ClearChannelHandlers): removed change dated + 2005-10-04 (see below). Look into [Bug 1323992] for detailed + discussion. + + * generic/tcl.h: Fixed bad definition of CRTEXPORT which should have + been CRTIMPORT rather. This broke compilation of generic/tclMain.c and + was probably introduced by mistake while applying the fix for [Bug + 1256937] below. + +2005-10-14 Kevin Kenny + + * generic/tclExecute.c (TclIncrObj, TclExecuteByteCode): Tidied up a + couple of infelicitous do {...} while(0) constructs. + +2005-10-14 Pat Thoyts + + * generic/tcl.h: Fix for [Bug 1256937] - correctly decorate + * generic/tclMain.c: imported functions from msvcrt in static builds. + +2005-10-13 Donal K. Fellows + + * tests/format.test: "Forward"-port of test updates relating to [Bug + 1284178]. The bug itself was fixed by TIP#237. + +2005-10-13 Zoran Vasiljevic + + * generic/tclIO.c (Tcl_ClearChannelHandlers): temporary ifdef + TCL_THREADS changes done to de-activate pending event processing when + channel is being closed/cutted. + +2005-10-13 Don Porter + + * generic/tclExecute.c: Removed obsolete use of NO_ERRNO_H. + * tools/man2tcl.c: + * unix/tcl.m4: + * unix/tclConfig.h.in: + * win/configure.in: + + * unix/configure: autoconf-2.59 + * win/configure: + + * compat/tclErrno.h: Removed obsolete file. + + * generic/tclStrToD.c (TclParseNumber): Missing goto caused crash when + parsing "Na". [Bug 1325833] + +2005-10-12 Don Porter + + * generic/tclExecute.c (GetNumberFromObj): Restored some lost + optimizations for empty string values. We avoid cost of a call to + TclParseNumber just to tell us an empty string isn't a number. + +2005-10-12 Donal K. Fellows + + * generic/tclPathObj.c (SetFsPathFromAny): TclGetString macro must not + be combined with post-increment arguments. [Bug 1325099] + +2005-10-12 Kevin Kenny + + * generic/tclExecute.c (Tcl_ExecuteByteCode, TclIncrObj): Several + common cases inlined in hopes of gaining a little performance in [incr] + +2005-10-10 Miguel Sofer + + * generic/tclCompCmds.c: New convenience macro CompileTokens(). + +2005-10-10 Don Porter + + * generic/tclExecute.c: Corrections to the NO_WIDE_TYPE build. Also + added missing "break" to a switch that broke wide XOR operations. + +2005-10-10 Donal K. Fellows + + * generic/tclInterp.c (DeleteScriptLimitCallback) + (SetScriptLimitCallback): Improve the interlocking between the script + limit callback record and the hash table of current such records, to + prevent crashes in callbacks that create callbacks. + (Tcl_LimitSetTime): Reset the correct flag. Problem reported by + Nicolas Castagne on comp.lang.tcl + +2005-10-10 Miguel Sofer + + * generic/tclExecute.c: Fixing errors in last commit. (Two commits, the + second removes wrong comment). + +2005-10-09 Miguel Sofer + + * generic/tclBasic.c: + * generic/tclExecute.c: + * generic/tclStrToD.c: + * generic/tclStringObj.c: Initialise variables to avoid compiler + warnings ([Bug 1320818] among others). + +2005-10-08 Don Porter + + TIP#237 IMPLEMENTATION + + [kennykb-numerics-branch] Resynchronized with the HEAD; at this + checkpoint [-rkennykb-numerics-branch-20051008], the HEAD and + kennykb-numerics-branch contain identical code. + + [kennykb-numerics-branch] Merge updates from HEAD + + * generic/tclExecute.c: More performance macros and special handling of + the wide integer type for performance on 32-bit systems. + +2005-10-07 Don Porter + + [kennykb-numerics-branch] + + * generic/tclExecute.c: Macro GetNumberFromObj() is version of + TclGetNumberFromObj() that saves a function call for common uses. + + * generic/tclInt.h: Made #undef NO_WIDE_TYPE the default on 32-bit + systems. Being able to use 64-bit values without leaping to mp_int + should help with performance. + + * generic/tclObj.c: Bug fixes in the #undef NO_WIDE_TYPE + * generic/tclExecute.c: configuration. + + * generic/tclExecute.c: Improved performance of comparison opcodes and + bitwise operations and removed yet more dead code. + +2005-10-07 Jeff Hobbs + + * unix/tclUnixFCmd.c (TraverseUnixTree): Adjust 2004-11-11 change to + * tests/fCmd.test (fCmd-20.2): account for NFS special files + with a readdir rewind threshold. [Bug 1034337] + +2005-10-06 Don Porter + + [kennykb-numerics-branch] + + * generic/tclExecute.c: Improved performance of INST_RSHIFT and + INST_LSHIFT. + +2005-10-05 Don Porter + + [kennykb-numerics-branch] + + * generic/tclExecute.c: Improved performance of INST_MULT, INST_DIV, + INST_ADD, and INST_SUB and replaced a "goto... label" with a "break + from loop" in TclIncrObj() and removed some dead code. + +2005-10-05 Andreas Kupries + + * generic/tclPipe.c (TclCreatePipeline): Fixed [Bug 1109294]. Applied + the patch provided by David Gravereaux. + + * doc/CrtChannel.3: Fixed [Bug 1104682], by application of David + Welton's patch for it, and added a note about wideSeekProc. + + * generic/tclIORChan.c (RcClose): Removed unreachable panic/return + statements. This fixes the remainder of [Bug 1286256]. + +2005-10-05 Jeff Hobbs + + * tests/env.test (env-6.1): + * win/tclWinPort.h: define USE_PUTENV_FOR_UNSET 1 + * generic/tclEnv.c (TclSetEnv, TclUnsetEnv): add USE_PUTENV_FOR_UNSET + to existing USE_PUTENV define to account for various systems that have + putenv(), but can't unset env vars with it. Note difference between + Windows and Linux for actually unsetting the env var (use of '='). + Correct the resizing of the environ array. We assume that we are in + full ownership, but that's not correct.[Bug 979640] + +2005-10-04 Don Porter + + [kennykb-numerics-branch] + * generic/tclExecute.c: Updated TclIncrObj() to more efficiently add + native long integers. Also updated IllegalExprOperandType and the + INST_UMINUS, INST_UPLUS, INST_BITNOT, and INST_TRY_CVT_TO_NUMERIC + sections for performance. + + * generic/tclBasic.c: Updated more callers to make use of + TclGetNumberFromObj. Removed some dead code. + +2005-10-04 Jeff Hobbs + + * win/tclWinSerial.c (SerialSetOptionProc): free argv [Bug 1067708] + + * tests/http.test: do not URI encode -._~ according + * library/http/http.tcl (init): to RFC3986. [Bug 1182373] (aho) + + * unix/tclLoadShl.c (TclpDlopen): use DYNAMIC_PATH on second shl_load + only. [Bug 1204237] + + * doc/scan.n: scan %[] requires "one or more chars" [Bug 1277503] + + * tests/winFile.test (getuser): allow valid Windows usernames. [Bug + 1311285] + + * generic/tclParse.c (Tcl_ParseCommand): add code that recognizes {} in + addition to {expand} for word expansion (make with + -DALLOW_EMPTY_EXPAND). + +2005-10-04 Zoran Vasiljevic + + * generic/tclIO.c (Tcl_ClearChannelHandlers): now deletes any + outstanding timer for the channel. Also, prevents events still in the + event queue from triggering on the current channel. + + * generic/tclTimer.c (Tcl_DeleteTimerHandler): bail out early if passed + NULL argument. + +2005-10-03 Don Porter + + [kennykb-numerics-branch] + + * generic/tclBasic.c: Re-implemented ExprRoundFunc and + ExprEntierFunc to use TclGetNumberFromObj. + + * generic/tclInt.h: Added new routine TclGetNumberFromObj to + * generic/tclObj.c: provide efficient access to the actual + internal rep of a numeric Tcl_Obj without conversions. + +2005-10-03 Kevin Kenny + + * tools/loadICU.tcl: Changed the file names of message catalogs to + lowercase. + * tools/makeTestCases.tcl: + * library/tzdata/*: Olson's tzdata2005n.tar.gz. Includes new DST + rules for USA and a number of changes to other locales. + * tests/clock.test: Regenerated for new US DST rules. + +2005-09-30 Don Porter + + * generic/tclMain.c: Separate encoding conversion of command line + arguments from list formatting. [Bug 1306162]. + +2005-09-30 Don Porter + + [kennykb-numerics-branch] + + * generic/tclStringObj.c: Bug fix: Missing cast to large enough + integral size before << operations led to broken [format %llx] results. + Thanks to Robert Henry for reporting the bug. + +2005-09-29 Jeff Hobbs + + * doc/mathfunc.n: implementation for TIP #255, expr min/max + * library/init.tcl: + * tests/info.test, tests/expr-old.test: + +2005-09-27 Don Porter + + [kennykb-numerics-branch] + + * generic/tcl.h: Changed name of the new Tcl_Obj intrep field + * generic/tclObj.c: from "bignumValue" to "ptrAndLongRep" as + * generic/tclProc.c: described in TIP 237, and more suitable for + other more general uses. + +2005-09-27 Donal K. Fellows + + * tests/binary.test (binary-14.18): Added test for [Bug 1116542] though + the bug itself was already fixed by unrelated changes. + +2005-09-26 Kevin Kenny + + [kennykb-numerics-branch] Merge updates from HEAD. + +2005-09-26 Kevin Kenny + + * libtommath/: Updated to release 0.36. + * generic/tommath.h: Regenerated. + * generic/tclTomMathInterface.h: Added ten missing aliases for mp_* + functions to avoid namespace pollution in Tcl's exported symbols. [Bug + 1263012] + +2005-09-23 Don Porter + + [kennykb-numerics-branch] + + * unix/Makefile.in: Added -DMP_PREC=4 switch to all compiles so + * win/Makefile.in: that minimum memory requirements of mp_int's + * win/makefile.vc: will not be quite so large. [Bug 1299153]. + + * generic/tclStrToD.c: Fixed memory leak. [Bug 1299803]. + * generic/tclObj.c: + +2005-09-20 Don Porter + + [kennykb-numerics-branch] + + * generic/tclExecute.c: Revise TclIncrObj() to call + Tcl_GetBignumAndClearObj. + + * generic/tcl.decls: Add Tcl_GetBignumAndClearObj. + * generic/tclObj.c: + + * generic/tclDecls.h: make genstubs + * generic/tclStubInit.c: + +2005-09-16 Don Porter + + [kennykb-numerics-branch] + + * generic/tclInt.h: Added TclBNInitBigNumFromWideInt() so + * generic/tclTomMathInterface.c: that every caller isn't required to + duplicate the sign logic to use the unsigned interface. + + * generic/tclBasic.c: Reduce the number of places where Tcl intrudes + * generic/tclExecute.c: into the internal format details of the mp_int + * generic/tclObj.c: struct. + * generic/tclStrToD.c: + * generic/tcLStringObj.c: + + * generic/tclTomMath.h: Added mp_cmp_d to routines from libtommath + * unix/Makefile.in: used by Tcl. + * win/Makefile.in: + * win/makefile.vc: + + * libtommath/bn_mp_add_d.c: Bug fix. For mp_add_d(&a, d, &c), when &a + has the value -d, then the value &c computed should be zero, but + mp_add_d was producing an inconsistent zero value with a sign field of + MP_NEG, something like a value of -0, which other routines in + libtommath can't handle. + + * generic/tclExecute.c: Dropped all creation of "bigOne" values and + just use tommath routines that accept the value "1" directly. + +2005-09-15 Miguel Sofer + + * doc/ParseCmd.3: copy/paste fix [Bug 1292427] + +2005-09-15 Don Porter + + [kennykb-numerics-branch] Merge updates from HEAD. + + * generic/tclStringObj.c (TclAppendFormattedObjs): Revision to + eliminate one round of string copying. + + * generic/tclBasic.c: More callers of TclObjPrintf and + * generic/tclCkalloc.c: TclFormatToErrorInfo. + * generic/tclCmdMZ.c: + * generic/tclExecute.c: + * generic/tclIORChan.c: + * generic/tclMain.c: + * generic/tclProc.c: + * generic/tclTimer.c: + * generic/tclUtil.c: + * unix/tclUnixFCmd.c + + * unix/configure: autoconf-2.59 + +2005-09-15 Donal K. Fellows + + * unix/tcl.m4 (SC_TCL_EARLY_FLAGS): Added extra hack to allow Tcl to + transparently open large files on RHEL 3. [Bug 1287638] + +2005-09-14 Don Porter + + * generic/tclStringObj.c: Bug fixes: ObjPrintfVA needed to + support "*" fields and needed to interpret precision limits on %s + conversions as a maximum number of bytes, not Tcl_UniChars, to take + from the (char *) argument. + + * generic/tclBasic.c: Updated several callers to use + * generic/tclCkalloc.c: TclFormatToErrorInfo() and/or + * generic/tclCmdAH.c: TclObjPrintf(). + * generic/tclCmdIL.c: + * generic/tclCmdMZ.c: + * generic/tclDictObj.c: + * generic/tclExecute.c: + * generic/tclIORChan.c: + * generic/tclIOUtil.c: + * generic/tclNamesp.c: + * generic/tclProc.c: + + * library/init.tcl: Keep [unknown] in sync with errorInfo + formatting rules. + +2005-09-13 Don Porter + + * generic/tclBasic.c: First caller of TclFormatToErrorInfo. + + * generic/tclInt.h: Using stdarg.h conventions, add more + * generic/tclStringObj.c: fixed arguments to TclFormatObj() and + TclObjPrintf(). Added new routine TclFormatToErrorInfo(). + + * generic/tcl.h: Explicitly standardized on the use of stdarg.h + * generic/tclBasic.c: conventions for functions with variable number + * generic/tclInt.h: of arguments. Support for varargs.h has been + * generic/tclPanic.c: implicitly gone for some time now. All + * generic/tclResult.c: TCL_VARARGS* macros purged from Tcl sources, + * generic/tclStringObj.c: leaving only some deprecated #define's + * tools/genStubs.tcl: in tcl.h for the sake of older extensions. + + * generic/tclDecls.h: make genstubs + + * doc/AddErrInfo.3: Replaced all documented requirement for use of + * doc/Eval.3: TCL_VARARGS_START() with requirement for use of + * doc/Panic.3: va_start(). + * doc/SetResult.3: + * doc/StringObj.3: + +2005-09-12 Don Porter + + [kennykb-numerics-branch] Merge updates from HEAD. + + * generic/tclCmdAH.c: Added support for the "ll" width + * generic/tclStringObj.c: specifier to [format]. + + * generic/tclStringObj.c (TclAppendFormattedObjs): Bug fix: make + sure %ld formats force the collection of a wide value, when the value + could be a different long. + +2005-09-09 Andreas Kupries + + * generic/tclIORChan.c (RcDecodeEventMask): Added missing type + declaration for the parameter 'mask'. This fixes the [Bug 1286256]. The + other warning can be removed only by removing the panic/return code. + +2005-09-09 Don Porter + + [kennykb-numerics-branch] Merge updates from HEAD. + +2005-09-09 Kevin Kenny + + * generic/tclStringObj.c: Added two missing casts to silence messages + from MSVC6. + +2005-09-09 Don Porter + + * generic/tclInt.h: New internal routine TclObjPrintf() + * generic/tclStringObj.c: is similar to TclFormatObj() but + accepts arguments in non-Tcl_Obj format. + + * generic/tclInt.h: New internal routines TclFormatObj() + * generic/tclStringObj.c: and TclAppendFormattedObjs() to offer + sprintf()-like means to append to Tcl_Obj. Work in progress toward + [RFE 572392]. + + * generic/tclCmdAH.c: Compiler directive NEW_FORMAT when #define'd + directs the [format] command to be implemented in terms of the new + TclAppendFormattedObjs() routine. + +2005-09-08 Donal K. Fellows + + TIP#254 IMPLEMENTATION + + * generic/tclLink.c (LinkTraceProc,ObjValue): Added many new of C var + * generic/tcl.h: to link to, making it + * doc/LinkVar.3: easier to seamlessly + * generic/tclTest.c (TestlinkCmd): couple C code and Tcl + * tests/link.test: scripts in an + application. [Patch 1242844] + +2005-09-07 Don Porter + + * generic/tclUtf.c (Tcl_UniCharToUtf): Corrected handling of negative + * tests/utf.test (utf-1.5): Tcl_UniChar input value. Incorrect + handling was producing byte sequences outside of Tcl's legal internal + encoding. [Bug 1283976]. + +2005-09-06 Donal K. Fellows + + * generic/tclInt.h (List): Added flag to keep track of whether a list + * generic/tclListObj.c: with a string rep is provably canonical. + * generic/tclUtil.c (Tcl_ConcatObj): Do efficient concatenation and + * generic/tclBasic.c (Tcl_EvalObjEx): evaluation when the list is + canonical, and not just when the list is pure. This should make the + "pure list" hacking introduced in 8.3 much more robust. + +2005-09-05 Donal K. Fellows + + * generic/tclObj.c (pendingObjDataKey): Added missing 'static' to stop + symbol from leaking outside the Tcl library. [Bug 1263012] + +2005-09-02 Don Porter + + [kennykb-numerics-branch] + + * generic/tclScan.c: Bug fix: The %o, %x, %i formats of [scan] must + not accept any 0b or 0o prefixes. [scan $s %o] must continue to work + even with KILL_OCTAL enabled. + + * generic/tclInt.h: Added TCL_PARSE_SCAN_PREFIXES to the flags + * generic/tclStrToD.c: accepted by TclParseNumber. + +2005-09-01 Andreas Kupries + + * unix/tclUnixSock.c (InitializeHostName): Synchronized use of static + modifier in declaration and definition of function. + + * unix/tclUnixChan.c (FileTruncateProc): Synchronized use of static + modifier in declaration and definition of function. + + * generic/tclResult.c (ReleaseKeys): Synchronized use of static + modifier in declaration and definition of function. + + * generic/tclListObj.c (NewListIntRep): Synchronized use of static + modifier in declaration and definition of function. + + * generic/tclEncoding.c (InitializeEncodingSearchPath): Synchronized + use of static modifier in declaration and definition of function. + + * generic/tclEncoding.c (FillEncodingFileMap): Synchronized use of + static modifier in declaration and definition of function. + + * generic/tclIORChan.c (RcNewHandle): Synchronized use of static + modifier in declaration and definition of function. + +2005-09-01 Don Porter + + [kennykb-numerics-branch] + + * generic/tclObj.c: TclParseNumber calls meant to parse an integer + value now pass the TCL_PARSE_INTEGER_ONLY flag. + + * generic/tclScan.c: Extended [scan] to accept the %lld, %llo, %llx, + and %lli formats. Numeric scanning is now done via TclParseNumber calls + + * generic/tclInt.h: Extended TclParseNumber to accept new flag + * generic/tclStrToD.c: values TCL_PARSE_INTEGER_ONLY, + TCL_PARSE_OCTAL_ONLY, and TCL_PARSE_HEXIDECIMAL_ONLY, to give caller + more control over the parsing rules. + +2005-08-31 Vince Darley + + * doc/FileSystem.3: + * unix/tclUnixFile.c: + * windows/tclWinFile.c: clarify that Tcl_FSMatchInDirectory may be + called with a NULL interpreter, and fix the code so this is allowed. + Tcl's core itself (tclEncoding.c:FillEncodingFileMap()) calls this + with a NULL interpreter. + +2005-08-30 Don Porter + + [kennykb-numerics-branch] + + * generic/tclObj.c: Extended bignum support to include bignums so + large they will not pack into a Tcl_Obj. When they outgrow Tcl's string + rep length limits, a panic will result. + + * generic/tclTomMath.h: Added mp_sqrt to routines from + * unix/Makefile.in: libtommath used by Tcl. + * win/Makefile.in: + * win/makefile.vc: + + * generic/tclBasic.c: Extended sqrt(.) so that range covers the + entire double range, accepting as many bignums in the domain as that + will allow. + +2005-08-29 Andreas Kupries + + * library/tm.tcl (::tcl::tm::roots): Accepted Don Porter's patch for + [Bug 1189657]. Syncs the implementation to the specification (TIP #189) + +2005-08-29 Don Porter + + [kennykb-numerics-branch] Merge updates from HEAD. + + * generic/tclBasic.c: Restored round(.) to the Tcl 8.4 rules. + +2005-08-29 Kevin Kenny + + * generic/tclBasic.c (ExprMathFunc): Restored "round away from zero" + * tests/expr.test (expr-46.*): behaviour to the "round" function. + Added test cases for the behavior, including the awkward case of a + number whose fractional part is 1/2-1/2ulp. [Bug 1275043] + +2005-08-26 Andreas Kupries + + * generic/tclIO.c: Moved Tcl_{Cut,Splice}Channel to + {Cut,Splice}Channel for internal use, and created new public functions + for Tcl_{Cut,Splice}Channel which walk the whole stack of + transformations and invoke the necessary thread actions. Added code to + Tcl_(Un)StackChannel to properly invoke the thread actions when pushing + and popping transformations on/from a channel. + +2005-08-26 Donal K. Fellows + + * generic/tclNamesp.c (NamespaceEnsembleCmd): Reset the result after + creating an ensemble to clear any result object sharing (potentially + caused by delete traces) so that we can safely return the name of the + ensemble. Previously, this caused crashes in Snit's test suite. + +2005-08-25 Donal K. Fellows + + * generic/tclListObj.c (UpdateStringOfList): Stop uncontrolled and + unsafe crashes from happening when working with very large string + representations. [Bug 1267380] + + * generic/tclExecute.c (TEBC:INST_DICT_LAPPEND): Stop dropping a + duplicated object on the floor, which was a memory leak (and a wrong + result too). Thanks to Andreas Kupries for reporting this. + +2005-08-25 Don Porter + + [kennykb-numerics-branch] Merge updates from HEAD + + * generic/tclExecute.c: Bug fix. INST_RSHIFT: shift of negative values + produced incorrect results. + + * generic/tclExecute.c: Bug fix. INST_*SHIFT opcodes stack management. + [expr 0<<6] should be 0, not 6. + + * generic/tclBasic.c: Extended the domain of round(.) to all non-Inf, + non-NaN doubles, using bignums for the result as needed. + +2005-08-24 Andreas Kupries + + TIP#219 IMPLEMENTATION + + * doc/SetChanErr.3: ** New File **. Documentation of the new channel + API functions. + * generic/tcl.decls: Stub declarations of the new channel API. + * generic/tclDecls.h: Regenerated + * generic/tclStubInit.c: + + * tclIORChan.c: ** New File **. Implementation of the reflected + channel. + * generic/tclInt.h: Integration of reflected channel and new error + * generic/tclIO.c: propagation into the generic I/O core. + * generic/tclIOCmd.c: + * generic/tclIO.h: + * library/init.tcl: + + * tests/io.test: Extended testsuite. + * tests/ioCmd.test: + * tests/chan.test: + * generic/tclTest.c: + * generic/tclThreadTest.c: + + * unix/Makefile.in: Integration into the build machinery. + * win/Makefile.in: + * win/Makefile.vc: + +2005-08-24 Kevin Kenny + + * generic/tclStrToD.c (Tcl_DoubleDigits): Fixed the corner cases of + * tests/binary.test (binary-65.*) formatting floating point + numbers with the largest and smallest possible significands, and added + test cases for them. + +2005-08-24 Kevin Kenny + + [kennykb-numerics-branch] + + * generic/tclExecute.c: Corrected some TRACE bugs that prevented + compilation with --enable-symbols=all. + * generic/tclStrToD.c: Revised commentary to prepare for a renaming of + the file, removed some dead code, and fixed a bug where + TclBignumToDouble failed on huge negative numbers. + * tests/binary.test (binary-65.*): Added missing 'ieeeFloatingPoint' + to large/small significand tests. + * tests/expr.test (expr-45.*) Added missing braces around expressions. + +2005-08-24 Don Porter + + [kennykb-numerics-branch] + + * generic/tclBasic.c: Revised implementation of the ceil(.) and + * generic/tclInt.h: floor(.) math functions in light of the + * generic/tclStrToD.c: revised comparison operators, so that it is + always true that ($x <= ceil($x)) and ($x >= floor($x)). The simple + approach of "convert to double and call ceil() or floor()" could not + guarantee that. + + * generic/tclExecute.c: Bug fix: TclBignumToDouble return -Inf when + appropriate. Removed declarations of removed routines. + + * generic/tclExecute.c: Revised the type promotion rules of the + comparison operators so that they form proper equivalence classes over + the set of numeric strings. + +2005-08-23 Mo DeJong + + * unix/configure.in: + * win/configure: Regen. + * win/configure.in: Update minimum autoconf version to 2.59. + +2005-08-23 Kevin Kenny + + [kennykb-numerics-branch] + + * generic/tclCmdMZ.c (Tcl_StringObjCmd): + * generic/tclInt.h: + * generic/tclObj.c (Tcl_GetBooleanFromObj, SetDoubleFromAny, + Tcl_GetLongFromObj, Tcl_GetWideIntFromObj, Tcl_GetBignumFromObj): + * generic/tclParseExpr.c (GetLexeme): + * generic/tclScan.c (Tcl_ScanObjCmd): + * generic/tclStrToD.c (TclParseNumber): + * tests/binary.test (binary-62.1-65.7): + * tests/expr.test (expr-40.1-42.1): + * scan.test (scan-14.1,14.2): + Modified Tcl_ParseNumber to accept an argument to force interpretation + as decimal, and modified [scan] to use it. Corrected a bug where Not a + Number with hexadecimal information bits returned consistently + incorrect values. #ifdef-ed out some code that is needed only for IBM + hexadecimal floating point. Fixed bugs in code to handle the corner + cases of smallest and largest significands. Added test cases to improve + test coverage in generic/tclStrToD.c. Added test cases for 0b notation + (TIP #114). Removed TclStrToD, and the static functions that it calls, + which are now dead code (TclParseNumber now does all input + floating-point conversions.) + +2005-08-23 Don Porter + + [kennykb-numerics-branch] + + * generic/tclStrToD.c: Bug fix: set shift magnitude properly whether + we're expanding to mp_int type or not. + + * generic/tclExecute.c: Bug fix: ACCEPT_NAN under INST_UMINUS. + + * generic/tclStrToD.c: New macros TIP_114_FORMATS and KILL_OCTAL to + configure acceptance of 0o and 0b numbers and rejection of "leading + zero as octal". + + * generic/tclBasic.c: Re-used the guts of int(.) and wide(.) math + functions to perform conversions in OldMathFuncProc. + + * generic/tclBasic.c: Support for ACCEPT_NAN. + * generic/tclExecute.c: + + * generic/tclInt.decls: Restored TclExprFloatError to internal stubs + * generic/tclBasic.c: table, and moved definition back to + * generic/tclExecute.c: tclExecute.c from tclBasic.c to handle #undef + ACCEPT_NAN. + + * generic/tclIntDecls.h: make genstubs + * generic/tclStubInit.c: + + * generic/tclInt.h: New internal macros TclIsNaN and TclIsInfinite + * generic/tclBasic.c: replace the IS_NAN and IS_INF macros scattered + * generic/tclExecute.c: here and there. + * generic/tclObj.c: + * generic/tclStrToD.c: + * generic/tclUtil.c: + +2005-08-22 Daniel Steffen + + * unix/tclConfig.h.in: autoheader-2.59. + +2005-08-22 Don Porter + + [kennykb-numerics-branch] + + * generic/tclInt.h: New ACCEPT_NAN macro to mark code that + * generic/tclCmdAH.c: supports or disables accepting of the NaN + * generic/tclExecute.c: value at various points. + * generic/tclLink.c: + + * generic/tclStrToD.c: Bug fix. Parsing of +/- Infinity was reversed. + + * generic/tclTestObj.c: Disabled unused [testconvertobj] command. + + * generic/tclBasic: Added [expr {entier(.)}]. Rewrote int(.) and + wide(.) to use the same guts, accepting all non-Inf doubles as + arguments. + + * generic/tclInt.h: New routine TclInitBignumFromDouble. + * generic/tclStrToD.c: Modified to return code and write error + message. + + * generic/tclInt.h: TCL_WIDE_INT_IS_LONG implies NO_WIDE_TYPE. + * generic/tclObj.c: Removed now unnecessary tests of the + * generic/tclStrToD.c: TCL_WIDE_INT_IS_LONG definition. + + * generic/tclInt.h: New internal routine TclSetBignumIntRep + * generic/tclObj.c: consolidates packing of bignum value into a + * generic/tclStrToD.c: Tcl_Obj within one source code file. + + * tests/expr.test: Corrected the wideIs64bit constraint. + * tests/format.test: + * tests/scan.test: + +2005-08-21 Don Porter + + [kennykb-numerics-branch] + + * generic/tclInt.h: Moved TclParseInteger to tclUtil.c and + * generic/tclParseExpr.c: made it static. + * generic/tclUtil.c: + + * generic/tclInt.decls: Moved TclExprFloatError to tclBasic.c and made + * generic/tclBasic.c: it static. + * generic/tclExecute.c: + + * generitc/tclIntDecls.h: make genstubs + * generic/tclStubInit.c: + + * generic/tclExecute.c: errno, IS_NAN, IS_INF, LLD no longer called in + this file; dropped/disabled support for them. + + * generic/tclCompExpr.c: errno no longer used in these files; + * generic/tclParseExpr.c: dropped support "hack" for it. + + * generic/tclStrToD.c: Disabled out of date support "hack" for errno. + + * generic/tclBasic.c: Eliminated VerifyExprObjType. Initialize errno + to zero in OldMathFuncProc. + +2005-08-19 Don Porter + + [kennykb-numerics-branch] + + * generic/tclBasic.c: Updated OldMathFuncProc and ExprAbsFunc to do + less invasion into numeric Tcl_Obj internals. Made ExprDoubleFunc, + ExprIntFunc, ExprWideFunc, and ExprRoundFunc bignum-aware. Revised + ExprSrandFunc error message. + + * generic/tclProc.c: Wrapped a few tclWideIntType uses in + * generic/tclCmdMZ.c: #ifndef NO_WIDE_TYPE. + + * generic/tclInt.h: #define'd NO_WIDE_TYPE. + + * generic/tclVar.c: Replaced TclPtrIncrVar and TclPtrIncrWideVar + * generic/tclInt.h: with TclPtrIncrObjVar and replaced TclIncrVar2 + * generic/tclInt.decls: and TclIncrWideVar2 with TclIncrObjVar2. New + routines call on TclIncrObj to do the work. + + * generic/tclIntDecls.h: make genstubs + * generic/tclStubInit.c: + + * generic/tclCmdIL.c: Rework Tcl_IncrObjCmd and the INST_*INCR* + * generic/tclExecute.c: opcodes to use the new routines. + +2005-08-18 Don Porter + + [kennykb-numerics-branch] + + * generic/tclExecute.c: Fixed string rep invalidation bug in + * tests/dict.test (dict-11.17): INST_DICT_INCR_IMM rewrite. + + * generic/tclDictObj.c: DictIncrCmd rewrite to use TclIncrObj. + + * generic/tclInt.h: TclIncrObj static -> internal + * generic/tclExecute.c: + +2005-08-17 George Peter Staplin + + * generic/tclBasic.c: eliminate a namespace clash caused by + BuiltinFuncTable not being static. + + * generic/tclObj.c: fix a namespace clash caused by a missing + static for pendingObjData. + +2005-08-17 Kevin Kenny + + * generic/tclEvent.c (Tcl_Finalize): Removed a copy-and-paste accident + that caused a (mostly harmless) double finalize of the load and + filesystem subsystems. + * tests/clock.test: Eliminated the bad test clock-43.1, and split + clock-50.1 into two tests, with a more permissive check on the error + message for an out-of-range value. + +2005-08-17 Kevin Kenny + + [kennykb-numerics-branch] + + * generic/tclBasic.c (Tcl_Expr{Long,Double}{,Obj}): Updated to + * generic/tclTest.c: deal with + * tests/expr-old.test: bignums (well, + * tests/expr.test: mostly). + Added a missing "errno=0;" in ExprUnaryFunc so that spurious error + returns aren't detected. + Added test cases for Tcl_Expr* and Tcl_Expr*Obj because there was very + poor test coverage in those areas. + * generic/tclParseExpr.c: Reworked parsing of numbers to call + TclParseNumber rather than trying to do things locally. + * generic/tclStrToD.c: Corrected a comment. Changed so that *endPtrPtr + does not include any trailing whitespace. + +2005-08-17 Don Porter + + [kennykb-numerics-branch] + + * generic/tclExecute.c: New routine TclIncrObj to centralize the + increment operation needed in many places. Updated INST_DICT_INCR_IMM + to make use of it. + +2005-08-16 Don Porter + + [kennykb-numerics-branch] + + * generic/tclExecute.c: Made bit shifting opcodes and INST_MOD + bignum-aware. + + * tests/scan.test: Making << bignum-aware means that repeated + * tests/string.test: left shifting cannot turn a positive into a + negative. Revised [int_range] and [largest_int] utility commands in the + test suite that relied on that happening. Without revision they became + infinite loops. + + * generic/tclExecute.c: Made binary bitwise opcodes bignum-aware. + + * generic/tclTomMath.h: Added mp_or and mp_xor to routines from + * unix/Makefile.in: libtommath used by Tcl. + * win/Makefile.in: + * win/makefile.vc: + +2005-08-15 Don Porter + + [kennykb-numerics-branch] Updates from HEAD. + * generic/tclExecute.c: More revisions to IllegalExprOperandType. + Merged INST_BITNOT with INST_UMINUS and make it bignum-aware according + to the rule: ~a = -a - 1. Disabled unused code and noted more TODOs. + + * generic/tclInt.decls: Disabled TclLooksLikeInt() and all callers. + * generic/tclUtil.c: + * generic/tclCompCmds.c: + + * generic/tclBasic.c: Rewrite of VerifyExprObjType(). + + * generic/tclIntDecls.h: make genstubs + * generic/tclStubInit.c: + + * generic/tclExecute.c: Updated execution of comparison bytecodes to + be bignum-aware, routing string compares through INST_STR_CMP. + +2005-08-14 Don Porter + + [kennykb-numerics-branch] + + * generic/tclExecute.c: Updated execution of arithmetic bytecodes to + be bignum-aware, and to allow calculations on NaN to produce a NaN + result. INST_UMINUS updated to call mp_neg. + + * generic/tclTomMath.h: Added mp_and, mp_expt_d, and mp_neg to + * unix/Makefile.in: routines from libtommath used by Tcl. + * win/Makefile.in: + * win/makefile.vc: + +2005-08-13 Don Porter + + [kennykb-numerics-branch] + + * generic/tclObj.c: Extended Bignum auto-narrowing to auto-narrow + to tclWideIntType when appropriate; this helps keep things working as + the bytecode execution code is migrated to supporting bignums. + + * generic/tclExecute.c: Major overhaul of IllegalExprOperandType. + Changed several TclNewFooObj() calls to more logically appropriate + ones. Added several TODO comments marking opportunies for future work. + Made more use of the eePtr->constants. Made INST_UMINUS bignum aware. + +2005-08-12 Don Porter + + [kennykb-numerics-branch] + + * generic/tclExecute.c: Simplify doCondJump. Use eePtr->constants as + result of INST_DICT_NEXT, INST_LAND, and INST_LOR. Separate INST_LNOT + from INST_UMINUS and simplify. + +2005-08-12 Kevin Kenny + + * generic/tclClock.c (MktimeObjCmd): + * library/clock.tcl (GetSystemTimeZone, LoadZoneinfoFile) + (ReadZoneinfoFile): + * tests/clock.test (clock-50.1): + Added functionality to read /etc/localtime if it exists, so that Tcl's + time can track system time on Linux even if TZ is not set. Changed + ::tcl::clock::Mktime to check for failure, and added a test case that + mimics failure but is really success. + +2005-08-11 Don Porter + + [kennykb-numerics-branch] + + * generic/tclExecute.c: Rewrite of INST_LAND/INST_LOR to take advantage + of loss of "pure double" issues. Merged INST_UPLUS with + INST_TRY_CVT_TO_NUMERIC and updated to use improved rules for impure + "double"s as well. + + * generic/tclStrToD.c: Restored conditional generation of + tclWideIntType values by TclParseNumber so that Tcl's not completely + broken while bignum calculation support is incomplete. The NO_WIDE_TYPE + macro can be used to disable this. + + * generic/tclBasic.c (ExprAbsFunc): First pass making [expr abs(.)] + bignum-aware. + +2005-08-11 Kevin Kenny + + * generic/tclEvent.c: Eliminated the USE_THREAD_STORAGE option + * generic/tclInt.h: (which is on in every build generated by + * generic/tclThread.c: by the standard configurator). + * generic/tclThreadStorage.c: Eliminated the code for thread specific + * unix/configure: data without USE_THREAD_STORAGE and + * unix/tcl.m4: radically refactored the code for + * unix/tclConfig.h.in: USE_THREAD_STORAGE so that it has fewer + * unix/tclUnixThrd.c: dependencies on the order of + * win/configure: finalization. (Also, made 'make + * win/Makefile.in: distclean' on Windows clean just a little + * win/rules.vc: bit cleaner.) + * win/tcl.m4: + * win/tclWinThrd.c: + +2005-08-10 Don Porter + + [kennykb-numerics-branch] + + * generic/tclTomMath.h: Added mp_shrink, mp_to_unsigned_bin, + * unix/Makefile.in: mp_to_unsigned_bin_n, and mp_unsigned_bin_size + * win/Makefile.in: to routines from libtommath used by Tcl. + * win/makefile.vc: + + * generic/tommath.h: make gentommath_h + + * generic/tclObj.c: Substantial rewrite to make all number parsing + flow through TclParseNumber(). Also established the NO_WIDE_TYPE and + BIGNUM_AUTO_NARROW #ifdef's to help track the assumptions of different + portions of the code. + + * generic/tclInt.h: Added NO_WIDE_TYPE #ifdefs + +2005-08-10 Kevin Kenny + + * generic/tclEvent.c (Tcl_Finalize): Pushed Tcl_FinalizeLoad and + Tcl_ResetFilesystem down after Tcl_FinalizeThreadAlloc because we can't + unload DLL's until after their TSD keys are finalized. (Note that we'll + still see aborts if an unloaded DLL has TSD - that still needs to be + fixed. + + * tests/compExpr-old.test (compExpr-3.8): Made tests conditional on + * tests/expr.test (expr-3.8): 'unix' because they get + stack overflows on Win32 threaded builds, + +2005-08-09 Vince Darley + + * generic/tclPathObj.c: fix to [file rootname] bug in optimized code + path reported on comp.lang.tcl. + +2005-08-08 Don Porter + + [kennykb-numerics-branch] + + * generic/tclObj.c: Replaced some goto's with loops and started + use of BIGNUM_AUTO_NARROW and NO_WIDE_TYPE. + +2005-08-06 Donal K. Fellows + + * generic/tclThreadStorage.c: Stop exposing the guts of the thread + storage system through the internal stubs table. Client code should + always use the standard API. + +2005-08-05 Don Porter + + [kennykb-numerics-branch] + * generic/tclObj.c: Rewrote Tcl_GetDoubleFromObj(). + +2005-08-05 Donal K. Fellows + + * unix/tclUnixInit.c (localeTable): Solaris uses a non-standard name + for the cp1251 charset. Thanks to Victor Wagner for reporting this. + [Bug 1252475] + +2005-08-05 Kevin Kenny + + * win/makefile.vc: Removed unused file ldAout.tcl. + * win/makefile.bc: [Bug 1244361] + + * tests/binary.test: Cleaned up testing for scanning of NaN. [Bug + 1246264] + + * generic/tclBasic.c (ExprAbsFunc): Added code to handle the corner + * tests/expr.test (expr-38.1): case of applying 'abs' to the + smallest 32-bit integer. [Bug 1241572] + +2005-08-04 Andreas Kupries + + * generic/tclIO.c (CloseChannel): Fixed comment nit, added apparently + missing word to complete a sentence. + + * generic/tclObj.c (Tcl_DbDecrRefCount): Fixed whitespace nit in panic + message. + +2005-08-04 Don Porter + + [kennykb-numerics-branch] Updated from HEAD + + * generic/tclObj.c: Rewrote Tcl_GetBooleanFromObj() and supporting + routines to make use of TclParseNumber. This reduces the potential + number of times a string value must be scanned. + + * generic/tclObj.c: Simplified routines that manage the typeTable. + Deleted the UpdateStringOfBoolean() routine, that can never be called. + +2005-08-03 Don Porter + + * generic/tclCompExpr.c: Untangled some dependencies in the + * generic/tclEvent.c: order of finalization routines. + * generic/tclInt.h: [Bug 1251399] + * generic/tclObj.c: + +2005-08-02 Don Porter + + [kennykb-numerics-branch] Updated from HEAD + +2005-07-30 Daniel Steffen + + * unix/tclLoadDyld.c (TclpDlopen, TclpLoadMemory): workarounds for + bugs/changes in behaviour in Mac OS X 10.4 Tiger. + +2005-07-29 Donal K. Fellows + + * generic/tclCmdIL.c (InfoGlobalsCmd): Even in high-speed mode, still + have to take care with non-existant variables. [Bug 1247135] + +2005-07-28 Mo DeJong + + * win/README: Update link to msys_mingw8.zip. + +2005-07-28 Don Porter + + * tests/compExpr-old.test: Still more conversion of "nonPortable" + * tests/error.test: tests into tests with constraints that + * tests/expr-old.test: describe the limits of their + * tests/expr.test: portability. Also more consolidation + * tests/fileName.test: of constraint synonyms. + * tests/format.test: wideis64bit, 64bitInts => wideIs64bit + * tests/get.test: wideIntegerUnparsed => wideIs32bit + * tests/load.test: wideIntExpressions => wideBiggerThanInt + * tests/obj.test: + * tests/parseExpr.test: Dropped "roundOffBug" constraint that + * tests/string.test: protected from buggy sprintf. + +2005-07-28 Donal K. Fellows + + * generic/tclPipe.c (TclCreatePipeline): Arrange for POSIX systems to + * unix/tclUnixPipe.c (TclpOpenFile): use the O_APPEND flag for + * tests/exec.test (exec-19.1): files opened in a pipeline + like ">>this". Note that Windows cannot support such access; there is + no equivalent flag on the handle that can be set at the kernel-call + level. The test is unix-specific in every way. [Bug 1245953] + +2005-07-27 Don Porter + + * generic/tclUtil.c: Converted the $::tcl_precision value to be kept + per-thread to prevent different threads from stomping on each others' + formatting prescriptions. + + ***POTENTIAL INCOMPATIBILITY*** Multi-threaded programs that set the + value of ::tcl_precision will now have to set it in each thread. + + * tests/expr.test: Consolidated equivalent constraints into + * tests/fileName.test: single definitions and (more precise) names: + * tests/get.test: longis32bit, 32bit, !intsAre64bit => longIs32bit + * tests/listObj.test: empty => emptyTest; winOnly => win + * tests/obj.test: intsAre64bit => longIs64bit + Also updated some "nonPortable" tests to use constraints that mark + precisely what about them isn't portable, so the tests can run where + they work. + + * library/init.tcl ([unknown]): Corrected return code handling in the + portions of [unknown] that expand incomplete commands during + interactive operations. [Bug 1214462]. + +2005-07-26 Mo DeJong + + * unix/configure: Regen. + * unix/configure.in: Check for a $prefix/share directory and add it the + the package if found. This will check for Tcl packages in + /usr/local/share when Tcl is configured with the default dist install. + [Patch 1231015] + +2005-07-26 Don Porter + + * generic/tclBasic.c (Tcl_CallWhenDeleted): Converted to use + per-thread counter, rather than a process global one that required + mutex protection. [RFE 1077194] + + * generic/tclNamesp.c (TclTeardownNamespace): Re-ordering so that + * tests/trace.test (trace-34.4): command delete traces fire + while the command still exists. [Bug 1047286] + +2005-07-24 Mo DeJong + + * unix/configure: Regen. + * unix/tcl.m4 (SC_PROG_TCLSH, SC_BUILD_TCLSH): + * win/configure: Regen. + * win/tcl.m4 (SC_PROG_TCLSH, SC_BUILD_TCLSH): Split confused search + for tclsh on PATH and build and install locations into two macros. + SC_PROG_TCLSH searches just the PATH. SC_BUILD_TCLSH determines the + name of the tclsh executable in the Tcl build directory. [Bug 1160114] + [Patch 1244153] + +2005-07-23 Don Porter + + * library/auto.tcl: Updates to the Tcl script library to make use + * library/history.tcl: of Tcl 8.4 features. Forward port of + * library/init.tcl: appropriate portions of [Patch 1237755]. + * library/package.tcl: + * library/safe.tcl: + * library/word.tcl: + +2005-07-23 Mo DeJong + + * tests/string.test: Add string is tests for functionality that was not + tested. + * win/README: Update msys + mingw URL. Remove old Cygwin + mingw info. + +2005-07-23 Miguel Sofer + + * generic/tclExecute.c (INST_DICT_*): stop 2 compiler warnings for + uninitialised variables. + +2005-07-23 Donal K. Fellows + + * generic/tclExecute.c (TEBC:INST_DICT_INCR_IMM): Fix the incrementor + to work correctly with wide values. + +2005-07-21 Donal K. Fellows + + * generic/tclCompCmds.c (TclCompileDictCmd): First run at a compiler + * generic/tclExecute.c (TclExecuteByteCode): for dictionaries. Also + added an instruction to support 'finally'-like clauses, exposed more of + the dict guts to the rest of the core, and defined a few tests to + exercise more obscure parts of the compiler's operation that were bugs + during development. + +2005-07-21 Kevin B. Kenny + + * library/ldAout.tcl (***REMOVED***): Removed support for ancient + * unix/configure: BSD's, IRIX 4, RISCos and + * unix/Makefile.in: Ultrix. Removed two files whose + * unix/tcl.m4: code is used only on those + * unix/tclLoadAout.c (***REMOVED***): antique platforms. + + ***POTENTIAL INCOMPATIBILITY*** if anyone actually uses those + platforms; it is to be noted though, that an error in the installer has + actually not caused a necessary file to be installed on those platforms + in several releases, and nobody's complained. + +2005-07-16 Kevin B. Kenny + + * generic/tclStrToD.c (RefineResult): Plugged a stupid memory leak in + RefineResult (called from Tcl_StrToD). [Tk Bug 1227781] + +2005-07-15 Kevin B. Kenny + + * generic/tclClock.c (TclClockLocaltimeObjCmd,ThreadSafeLocalTime): + * library/clock.tcl (GuessWindowsTimeZone, ClearCaches): + * tests/clock.test (clock-49.1, clock-49.2): + Handle correctly the case where localtime() returns NULL to report a + conversion error. Also handle the case where the Windows registry + contains timezone values that can be mapped to a tzdata file name but + the corresponding file does not exist or is corrupted, by falling back + on a Posix timezone string instead; this last case will avoid calls to + localtime() in starpacks on Windows. [Bug 1237907] + +2005-07-14 Donal K. Fellows + + * generic/tclCompile.c: Update to follow style guidelines. + (TclPrintInstruction): Reorganize to do better printing out of bytecode + with far fewer "special hacks" for particular opcodes. + * generic/tclCompile.h: Requires two new opcode types. + +2005-07-13 Don Porter + + * unix/tclUnixSock.c: Use a ProcessGlobalValue to store the value + * win/tclWinSock.c: returned by Tcl_GetHostName() ([info + hostname]). Also re-order initialization of the value on Windows to + favor GetComputerName() over gethostname() as a source of the + information. + +2005-07-12 Kevin Kenny + + [kennykb-numerics-branch] Updated from HEAD + + * generic/tclCmdMZ.c (Tcl_StringObjCmd): + * generic/tclInt.h: + * generic/tclObj.c (Tcl_GetDoubleFromObj, SetDoubleFromAny) + (Tcl_GetIntFromObj, SetIntOrWideFromAny): + * generic/tclStrToD.c (TclParseNumber, etc.): + * tclTomMathInterface.c (TclBNInitBignumFromWideUInt): + * tests/obj.test (obj-1.1, obj-2.2, obj-3.1, obj-3.2): + + Initial attempt at an implementation of TIP #249, comprising a unified + parser and modifications to the Tcl_Get*FromObj routines to use it. + Further integration of the parser is necessary and planned. + +2005-07-12 Donal K. Fellows + + * doc/lsearch.n: Clarify documentation of -exact option; wording was + open to misinterpretation by non-English speakers. + +2005-07-11 Donal K. Fellows + + * generic/tclExecute.c: General style cleanup. + +2005-07-08 Mo DeJong + + * generic/tclExecute.c (TclExecuteByteCode): Reimplement long and wide + type integer division and modulus operations so that the smallest and + largest integer values are handled properly. The divide operation is + more efficient since it no longer does a modulus or negation and only + checks for a remainder when the quotient will be a negative number. + The modulus operation is now a bit more complex because of a number of + special cases dealing with the smallest and largest integers. + * tests/expr.test: Add test cases for division and modulus operations + on the smallest and largest integer values for 32 and 64 bit types. + [Patch 1230205] + +2005-07-06 Don Porter + + * generic/tclLink.c: Simplified LinkTraceProc [Bug 1208108]. + +2005-07-05 Don Porter + + * unix/Makefile.in: Purged use of TCLTESTARGS [RFE 1161550]. + + * generic/tclUtil.c: Converted TclFormatInt() into a macro. + * generic/tclInt.decls: [RFE 1194015] + * generic/tclInt.h: + + * generic/tclIntDecls.h: make genstubs + * generic/tclStubInit.c: + + * generic/tclNamesp.c: Allow for [namespace import] of a command + * tests/namespace.test: over a previous [namespace import] of itself + without throwing an error. [RFE 1230597] + +2005-07-04 Donal K. Fellows + + * generic/tclDictObj.c (DictForCmd, DictFilterCmd): Interlocking of + dictionary internal representations is now done in the core of the dict + iterator. Purge the last attempts at doing it at a higher level as they + didn't work and were no longer needed. + +2005-07-01 Zoran Vasiljevic + + * unix/tclUnixNotfy.c: protect against spurious wake-ups while waiting + on the condition variable when tearing down the notifier thread [Bug + 1222872]. + +2005-06-28 Mo DeJong + + * generic/tclExecute.c (TclExecuteByteCode): When parsing an integer + operand for a unary minus expression operator, check for a wide integer + that is actually LONG_MIN. If found, convert back to a long int type. + * tests/expr.test: Add constraint for 32bit long int type and 64bit + wide int type. Add tests that parse the smallest/largest long int and + wide int values. + +2005-06-24 Kevin Kenny + + * generic/tclEvent.c (Tcl_Finalize): + * generic/tclInt.h: + * generic/tclPreserve.c (TclFinalizePreserve): Changed the finalization + logic so that Tcl_Preserve finalizes after exit handlers run; a lot of + code called from Tk's exit handlers presumes that Tcl_Preserve will + still work even from an exit handler. + +2005-06-24 Don Porter + + * library/auto.tcl: Make file safe to re-[source] without + destroying registered auto_mkindex_parser hooks. + +2005-06-23 Kevin Kenny + + * win/tclWinChan.c: More rewriting of __asm__ blocks that implement + * win/tclWinFCmd.c: SEH in GCC, because mingw's gcc 3.4.2 is not as + forgiving of violations committed by the old code and caused panics. + [Bug 1225957] + +2005-06-23 Daniel Steffen + + * tools/tcltk-man2html.tcl: fixed useversion glob pattern to accept + multi-digit patchlevels. + +2005-06-22 Don Porter + + * win/tclWinFile.c: Potential buffer overflow. [Bug 1225571] Thanks to + Pat Thoyts for discovery and fix. + +2005-06-22 Kevin Kenny + + * generic/tclInt.h: Changed the finalization + * generic/tclEvent.c (Tcl_Finalize): logic to defer the + * generic/tclIO.c (TclFinalizeIOSubsystem): shutdown of the pipe + * unix/tclUnixPipe.c (TclFinalizePipes): management until after all + * win/tclWinPipe.c (TclFinalizePipes): channels have been closed, + in order to avoid a situation where the Windows PipeCloseProc2 would + re-establish the exit handler after exit handlers had already run, + corrupting the heap. [Bug 1225727] Also corrected a potential read of + uninitialized memory in PipeClose2Proc [Bug 1225044] + +2005-06-21 Andreas Kupries + + * generic/tclInt.h: Followup to change made on 2005-06-18 by Daniel + Steffen. There are compilers (*) who error out on the redefinition of + WORDS_BIGENDIAN. We have to undef the previous definition (on the + command line) first to make this acceptable. (*): AIX native. + +2005-06-21 Kevin B. Kenny + + * generic/tclFileName.c: Changed [file split] and [file join] to treat + Windows drive letters similarly to ~ syntax and make sure that they + appear with "./" in front when they are in intermediate components of + the path. [Bug 1194458] + * tests/fileName.test: Added test for the above bug. + +2005-06-21 Don Porter + + * generic/tclBasic.c: Added missing walk of the list of active + * generic/tclTrace.c: traces to cleanup references to traces being + * generic/tclInt.h: deleted. [Bug 1201035] Made the walk of the + * tests/trace.test (trace-34.*): active trace list aware of the + direction of trace scanning, so the proper correction can be made. + [Bug 1224585] + +2005-06-21 Donal K. Fellows + + * unix/tcl.m4 (SC_ENABLE_SYMBOLS): Only enable the 'compile' special + debugging feature when requested in configure.in; removes irrelevant + junk from the configure files of extensions that use Tcl's tcl.m4. + +2005-06-20 Donal K. Fellows + + * generic/tclCompile.h (INST_PUSH_RETURN_OPTIONS): New opcode to allow + * generic/tclCompCmds.c (TclCompileCatchCmd): compilation of + * generic/tclCompile.c: TIP#90 catch [Bug + * generic/tclExecute.c (TclExecuteByteCode): 1219112] + + * generic/tclCompCmds.c (TclCompileSwitchCmd): Ensure we spill to the + command form in all cases where it generates an error. + +2005-06-20 Mo DeJong + + * generic/tclCmdMZ.c (Tcl_SwitchObjCmd): Generate an error if a mode + argument like -exact is passed more than once to the switch command. + The previous implementation silently accepted invalid switch + invocations like [switch -exact -glob $str ...]. + * tests/for.test: Check some error cases when invoking continue and + break inside a for loop next script. + * tests/switch.test: Add checks for shortened version of a mode + argument like -exact. Add test for more than one mode argument. Add + test for odd case of passing a variable as a body script. + +2005-06-18 Daniel Steffen + + * generic/tclInt.h: ensure WORDS_BIGENDIAN is defined correctly with + fat compiles on Darwin (i.e. ppc and i386 at the same time), the + configure AC_C_BIGENDIAN check is not sufficient in this case because a + single run of the compiler builds for two architectures with different + endianness. + + * unix/tcl.m4 (Darwin): add -headerpad_max_install_names to LDFLAGS to + ensure we can always relocate binaries with install_name_tool. + + * unix/configure: autoconf-2.59 + +2005-06-18 Donal K. Fellows + + * generic/tclCmdAH.c (Tcl_FormatObjCmd): Fix for [Bug 1154163]; only + * tests/format.test: insert 'l' modifier when it is needed. + +2005-06-17 Donal K. Fellows + + * generic/tclTimer.c (AfterDelay): Split out the code to manage + synchronous-delay [after] commands. + * tests/interp.test (interp-34.10): Time limits and synch-delay [after] + did not mix well... [Bug 1221395] + +2005-06-14 Donal K. Fellows + + * generic/tclBasic.c (Tcl_DeleteCommandFromToken): Only delete a + * tests/namespace.test (namespace-49.2): command from the hashtable on + reentrant processing if it has not been already deleted; at least three + deletes of the same command are possible. [Bug 1220058] + * generic/tclTrace.c (TraceCommandProc): Remove bogus error message + creation when traces trigger in situations where the command has + already been deleted. + +2005-06-13 Vince Darley + + * generic/tclFCmd.c: correct fix to file mkdir 2005-06-09 [Bug 1219176] + +2005-06-12 Donal K. Fellows + + * generic/tclCompCmds.c: Factor out some common idioms into named forms + for greater clarity. + +2005-06-10 Donal K. Fellows + + * doc/chan.n: Fold in the descriptive parts of the documentation for + all the commands that [chan] builds on top of. + +2005-06-09 Vince Darley + + * generic/tclFCmd.c: fix to race condition in file mkdir [Bug 1217375] + * doc/glob.n: improve glob documentation [Bug 1190891] + +2005-06-09 Donal K. Fellows + + * doc/expr.n, doc/mathfunc.n: Fix minor typos [Bug 1211078] and add + mention of distinctly-relevant [namespace path] subcommand. + +2005-06-07 Don Porter + + * generic/tclInt.h: Reduced the Tcl_ObjTypes "index", + * generic/tclIndexObj.c: "ensembleCmd", "localVarName", and + * generic/tclNamesp.c: "levelReference" to file static scope. + * generic/tclProc.c: + * generic/tclVar.c: + + * generic/tclObj.c: Restored registration of the "procbody" + Tcl_ObjType, as required by the tclcompiler application. + + * generic/tclDecls.h: make genstubs + * generic/tclStubInit.c: + +2005-06-07 Donal K. Fellows + + * generic/tclIO.c (Tcl_ChannelTruncateProc): Stop proliferation of + * generic/tcl.h: channel type versions + * doc/CrtChannel.3: following advice from AKu + + Bump patchlevel to a4 to distinguish from a3 release. + + * generic/tclInt.h (INTERP_TRACE_IN_PROGRESS): Add flag so the error + * generic/tclIndexObj.c (Tcl_WrongNumArgs): messages from ensembles + * generic/tclIOCmd.c (Tcl_ReadObjCmd): can be correct. + + TIP#208 IMPLEMENTATION + + * library/init.tcl: Create the chan ensemble. + * tests/chan.test: Rudimentary test suite. + * doc/chan.n: General documentation. + + TRUNCATION API (part of TIP#208) + * generic/tcl.h, generic/tcl.decls: Declaration of the API. + * doc/CrtChannel.3, doc/OpenFileChnl.3: Documentation of the API. + * generic/tclBasic.c (Tcl_CreateInterp): Create the mapping into Tcl. + * generic/tclIOCmd.c (TclChanTruncateObjCmd): Implementation of + Tcl-level truncation API. + * generic/tclIO.c (Tcl_TruncateChannel): Generic C-level truncation API + implementation. + * unix/tclUnixChan.c (FileTruncateProc): Basic implementation of + truncating driver. + + * win/tclWinChan.c (FileTruncateProc): Added implementation of file + truncation for Windows. + * tests/chan.test (chan-15.2): Added real test of truncation. + +2005-06-06 Kevin B. Kenny + + * win/tclWin32Dll.c: Corrected another buglet in the assembly code for + stack probing on Win32/gcc. [Bug 1213678] + * generic/tclObj,c: Added missing 'static' on definition of + UpdateStringOfBignum, and removed a 'switch' on a 'long long' operand + (which HP-UX native 'cc' seems unable to handle). [Bug 1215775] + +2005-06-04 Jeff Hobbs + + *** 8.5a3 TAGGED FOR RELEASE *** + + * unix/Makefile.in (dist): add libtommath + +2005-06-03 Donal K. Fellows + + * library/parray.tcl (parray): Only generate the sorted list of element + names once. Thanks to Andreas Leitgeb for spotting this. + +2005-06-03 Daniel Steffen + + * macosx/Makefile: fixed 'embedded' target. + +2005-06-02 Jeff Hobbs + + * unix/Makefile.in (html): add BUILD_HTML_FLAGS optional var + * tools/tcltk-man2html.tcl: add a --useversion to prevent confusion + when multiple Tcl source dirs exist. + +2005-06-01 Don Porter + + * generic/tclBasic.c: For compatibility with earlier Tcl releases, + * generic/tclResult.c: when a command procedure simply does a + * generic/tclTest.c: "return TCL_RETURN;" we must interpret that + * tests/result.test: the same as + "return Tcl_SetReturnOptions(interp, Tcl_NewObj());" [Bug 1209759]. + +2005-06-01 Donal K. Fellows + + * generic/tclCompCmds.c (TclCompileSwitchCmd): Allow compilation of + -nocase -glob [switch]es (only one we know how to compile). + + TIP#241 IMPLEMENTATION from Joe Mistachkin + + * generic/tclCmdIL.c (Tcl_LsearchObjCmd, Tcl_LsortObjCmd): + * generic/tclCmdMZ.c (Tcl_SwitchObjCmd): Implementation of -nocase + option for [lsearch], [lsort] and [switch] commands. + * win/tclWinPort.h: Win uses nonstandard function names... + * tests/cmdIL.test, tests/lsearch.test, tests/switch.test: Tests + * doc/lsearch.n, doc/lsort.n, doc/switch.n: Docs + + * generic/tclCompCmds.c (TclCompileLindexCmd): Compile the most common + case of [lindex] more efficiently. + + * unix/tclUnixNotfy.c (Tcl_FinalizeNotifier): Pass the correct number + of arguments to Tcl_JoinThread. + +2005-05-31 Donal K. Fellows + + * unix/configure.in, unix/tcl.m4: Standardize generation of help + messages to always use AC_HELP_STRING and always (except for --with-tcl + and --with-tk, where the default is complex) say what the default is. + +2005-05-31 Zoran Vasiljevic + + * unix/tclUnixNotfy.c: the notifier thread is now created as joinable + thread and it is properly joined in Tcl_FinalizeNotifier. This is an + attempt to fix the [Bug 1082283]. + +2005-05-30 Zoran Vasiljevic + + * win/tclWinThrd.c: Fixed [Bug 1204064] + +2005-05-30 Donal K. Fellows + + TIP #229 IMPLEMENTATION + + * generic/tclNamesp.c (Tcl_FindCommand, TclResetShadowedCmdRefs) + (NamespacePathCmd, SetNsPath, UnlinkNsPath, TclInvalidateNsPath): + Implementation of the [namespace path] command and the command name + resolution engine. + * doc/info.n, doc/namespace.n: Doc updates. + * tests/namespace.test (namespace-51.*): Test updates. + * generic/tclResolve.c (BumpCmdRefEpochs, Tcl_SetNamespaceResolvers): + * generic/tclBasic.c (Tcl_CreateCommand, Tcl_CreateObjCommand): Ensure + that people don't see stale paths. + * generic/tclInt.h (Namespace, NamespacePathEntry): Structure defs. + * generic/tclCmdIL.c (InfoCommandsCmd): Updates to [info commands]. + +2005-05-26 Daniel Steffen + + * macosx/Makefile: moved & corrected EMBEDDED_BUILD check. + + * unix/configure.in: corrected framework finalization to softlink stub + library to Versions/8.x subdir instead of Versions/Current. + * unix/configure: autoconf-2.59 + +2005-05-25 Jeff Hobbs + + * generic/tclCmdMZ.c (Tcl_TimeObjCmd): add necessary cast + +2005-05-25 Don Porter + + TIP#182 IMPLEMENTATION [Patch 1165062] + + * doc/mathfunc.n: New built-in math function bool(). + * generic/tclBasic.c: + * tests/expr.test: + * tests/info.test: + +2005-05-24 Don Porter + + * library/init.tcl: Updated [unknown] to be sure the [return] + * tests/init.test: options from an auto-loaded command are seen + correctly by the caller. + +2005-05-24 Daniel Steffen + + * tests/env.test: added DYLD_FRAMEWORK_PATH to the list of env vars + that need to be handled specially. + + * macosx/Makefile: + * macosx/README: + * macosx/Tcl-Info.plist.in (new file): + * unix/Makefile.in: + * unix/configure.in: + * unix/tcl.m4: + * unix/tclUnixInit.c: moved all Darwin framework build support from + macosx/Makefile into the standard unix configure/make buildsystem, the + macosx/Makefile is no longer required to build Tcl.framework (but its + functionality is still available for backwards compatibility). + * unix/configure: autoconf-2.59 + + * generic/tclIOUtil.c (TclLoadFile): + * generic/tclInt.h: + * unix/tcl.m4: + * unix/tclLoadDyld.c: added support for [load]ing .bundle binaries in + addition to .dylib's: .bundle's can be [unload]ed (unlike .dylib's), + and can be [load]ed from memory, e.g. directly from VFS without needing + to be written out to a temporary location first. [Bug 1202209] + * unix/configure: autoconf-2.59 + * unix/tclConfig.h.in: autoheader-2.59 + + * generic/tclCmdMZ.c (Tcl_TimeObjCmd): change [time] called with a + count > 1 to return a string with a float value instead of a rounded + off integer. [Bug 1202178] + + * doc/expr.n: + * doc/string.n: fixed roff syntax complaints from 'make html'. + +2005-05-20 Don Porter + + * generic/tclParseExpr.c: Corrected parser to recognize all + boolean literals accepted by Tcl_GetBoolean, including prefixes like + "y" and "f", and to allow "eq" and "ne" as function names in the proper + context. [Bug 1201589]. + +2005-05-19 Donal K. Fellows + + * generic/tclBasic.c (TclEvalObjvInternal): Rewrite for greater + clarity; although 'goto' is Bad, the contortions you have to go through + to avoid it can be worse... + +2005-05-19 Daniel Steffen + + * macosx/tclMacOSXNotify.c (Tcl_InitNotifier): fixed crashing CFRelease + of runLoopSource in Tcl_InitNotifier (reported by Zoran): + CFRunLoopAddSource doesn't CFRetain, so can only CFRelease the + runLoopSource in Tcl_FinalizeNotifier. + +2005-05-18 Don Porter + + * generic/tclBasic.c (Tcl_ExprBoolean): Rewrite as wrapper around + Tcl_ExprBooleanObj. + + * generic/tclCmdMZ.c ([string is boolean/true/false]): Rewrite dropping + string-based Tcl_GetBoolean call, so that internal reps are kept for + subsequent quick boolean operations. + + * generic/tclExecute.c: Dropped most special handling of the "boolean" + Tcl_ObjType, since that type should now be rarely encountered. + + * doc/BoolObj.3: Rewrite of documentation dropping many details + about the internals of Tcl_Objs. Shorter documentation focuses on the + function and use of the routines. + + * generic/tclInt.h: Revision to the "boolean" Tcl_ObjType, so that + * generic/tclObj.c: only string values like "yes" and "false" are + * tests/obj.test: kept as the "boolean" Tcl_ObjType. The string + values "0" and "1" are kept as "int" Tcl_ObjType, which also produce + quick calls to Tcl_GetBooleanFromObj(). Since this internal change + means a Tcl_ConvertToType to a "boolean" Tcl_ObjType might not produce + a Tcl_Obj of type "boolean", the registration of the "boolean" type is + also removed. + ***POTENTIAL INCOMPATIBILITY*** + For callers of Tcl_GetObjType on the type name "boolean". + +2005-05-17 Don Porter + + * generic/tclObj.c (TclInitObjSubsystem): Removed the + * tests/listObj.test: registration of the Tcl_ObjType's "list", + * tests/obj.test: "procbody", "index", "ensembleCommand", + "localVarName", and "levelReference". The only reason to register a + Tcl_ObjType is to have it returned by Tcl_GetObjType, and the only + reason for that is to retrieve a (Tcl_ObjType *) to pass to + Tcl_ConvertToType(). None of the types above can support a + Tcl_ConvertToType() call; they panic. Better not to offer something + than to lead users into a panic. + ***POTENTIAL INCOMPATIBILITY*** + For callers of Tcl_GetObjType on the type names listed above. + +2005-05-15 Kevin Kenny + + * win/tclWin32Dll.c: conditioned definition of EXCEPTION_REGISTRATION + structures on HAVE_NO_SEH, to fix a bug in buildability on MSVC. + +2005-05-14 Daniel Steffen + + * generic/tclInt.decls: + * generic/tclTest.c: + * generic/tclUtil.c: + * win/tclWin32Dll.c: fixed link error due to direct access by tclTest.c + to the MODULE_SCOPE tclPlatform global: renamed existing + TclWinGetPlatform() accessor to TclGetPlatform() and moved it to + generic code so that it can be used by on all platforms where + MODULE_SCOPE is enforced. + + * macosx/tclMacOSXBundle.c: + * unix/tclUnixInit.c: + * unix/tcl.m4 (Darwin): made use of CoreFoundation API configurable and + added test of CoreFoundation availablility to allow building on ppc64, + replaced HAVE_CFBUNDLE by HAVE_COREFOUNDATION; test for availability of + Tiger or later OSSpinLockLock API. + + * unix/tclUnixNotfy.c: + * unix/Makefile.in: + * macosx/tclMacOSXNotify.c (new file): when CoreFoundation is + available, use new CFRunLoop based notifier: allows easy integration + with other event loops on Mac OS X, in particular the TkAqua Carbon + event loop is now integrated via a standard tcl event source (instead + of TkAqua upon loading having to finalize the exsting notifier and + replace it with its custom version). [Patch 1202052] + + * tests/unixNotfy.test: don't run unthreaded tests on Darwin since + notifier may be using threads even in unthreaded core. + + * unix/tclUnixPort.h: + * unix/tcl.m4 (Darwin): test for thread-unsafe realpath during + configure, as Darwin 7 and later realpath is threadsafe. + + * macosx/Makefile: enable configure caching. + + * unix/configure.in: wrap tclConfig.h header in #ifndef _TCLCONFIG so + that it can be included more than once without warnings from gcc4.0 (as + happens e.g. when including both tclInt.h and tclPort.h) + + * macosx/tclMacOSXBundle.c: + * unix/tclUnixChan.c: + * unix/tclLoadDyld.c: + * unix/tclUnixInit.c: fixed gcc 4.0 warnings. + + * unix/configure: autoconf-2.59 + * unix/tclConfig.h.in: autoheader-2.59 + + * generic/tclIntDecls.h: + * generic/tclIntPlatDecls.h: + * generic/tclStubInit.c: make genstubs + +2005-05-13 Kevin Kenny + + * win/tclWin32Dll.c: Further rework of the SEH logic. All + EXCEPTION_REGISTRATION records are now in the activation record rather + than pushed on the stack. + +2005-05-13 Don Porter + + * generic/tclBasic.c: Dropped the TCL_NO_MATH configuration. It's + * generic/tclBinary.c: believed this has not been working in a long + * generic/tclExecute.c: time. Tcl needs math.h. [RFE 1200680] + * unix/Makefile.in: + +2005-05-12 Kevin Kenny + + * doc/mathfunc.n: Changed NAME line to match the name of the page. + +2005-05-11 Kevin Kenny + + [kennykb-numerics-branch] Resynchronized with the HEAD; at this + checkpoint [-rkennykb-numerics-branch-20050511], the HEAD and + kennykb-numerics-branch contain identical code. + +2005-05-11 Kevin Kenny + + * generic/tclStrToD.c (TclStrToD, RefineResult, ParseNaN): Changed the + code to cast 'char' to UCHAR explicitly when using ctype macros, to + silence complaints from the Solaris compiler. + +2005-05-10 Jeff Hobbs + + * unix/tclUnixFCmd.c: add lint attr to enum to satisfy strictly + compliant compilers that don't like trailing ,s. + + * tests/string.test: string-10.[21-30] + * generic/tclCmdMZ.c (Tcl_StringObjCmd): add extra checks to prevent + possible UMR in unichar cmp function for string map. + +2005-05-10 Kevin Kenny + + * generic/tclBinary.c (FormatNumber): Fixed a bug where NaN's resulted + in reads of uninitialized memory when using 'd', 'q', or 'Q' format. + * generic/tclStrToD.c (ParseNaN, TclFormatNaN): Added code to handle + the peculiarities of HP's PA_RISC, which uses a different 'quiet' bit + in NaN from everyone else. + * libtommath/tommath_superclass.h: Corrected C++-style comment. + +2005-05-10 Kevin Kenny + + Merged all changes on kennykb-numerics-branch back into the HEAD. + TIP's 132 and 232 are now Final. + +2005-05-10 Kevin Kenny + + [kennykb-numerics-branch] Merged changes from HEAD. + +2005-05-10 Miguel Sofer + + * generic/tclExecute.c (ExponLong, ExponWide): + * tests/expr.test (expr-23.34/35): fixed special case 'i**0' for i>0 + [Bug 1198892] + +2005-05-09 Kevin B. Kenny + + [kennykb-numerics-branch] + * win/tclWin32Dll.c (TclpCheckStackSpace, TclWinCPUID): Reworked + structured event handling to function even with -fomit-frame-pointers. + +2005-05-08 Kevin B. Kenny + + [kennykb-numerics-branch] + * generic/tclStrToD.c: Made code more portable by finding a workaround + for MSVC's 'volatile' issue that does not require conditional + compilation. + * win/tclWin32Dll.c (TclWinCPUID): Removed structured event handling + from the GCC code since (a) bad code is generated by the instruction + scheduling with -O2, and (b) it's not needed on any reasonably modern + CPU. + +2005-05-07 Kevin B. Kenny + + [kennykb-numerics-branch] + * generic/tclEvent.c: Moved initialization of tclStrToD.c's + * generic/tclInt.h: static constants into a procedure called + * generic/tclStrToD.c: from TclInitSubsystems to avoid double checked + locking protocol. Cleaned up an issue where MSVC ignored the + 'volatile' specifier, causing incorrect comparison of an underflowed + number against zero. + +2005-05-06 Jeff Hobbs + + * unix/tcl.m4, unix/configure: correct Solaris 10 (5.10) check and add + support for x86_64 Solaris cc builds. + +2005-05-05 Kevin B. Kenny + + [kennykb-numerics-branch] Merged with HEAD. + +2005-05-05 Kevin B. Kenny + + * win/tclWinThrd.c: Corrected a compilation error on the + --enable-threads configuration. + +2005-05-05 Don Porter + + * generic/tclInt.decls: Converted TclMatchIsTrivial to a macro. + * generic/tclInt.h: + * generic/tclUtil.c: + * generic/tclIntDecls.h: `make genstubs` + * generic/tclStubInit.c: + * generic/tclBasic.c: Added callers of TclMatchIsTrivial where a + * generic/tclCmdIL.c: search can be done more efficiently when it is + * generic/tclCompCmds.c:recognized that a pattern match is really an + * generic/tclDictObj.c: exact match. [Patch 1076088] + * generic/tclIO.c: + * generic/tclNamesp.c: + * generic/tclVar.c: + + * generic/tclCompCmds.c: Factored common efficiency trick into a + macro named CompileWord. + + * generic/tclCompCmds.c: Replaced all instance of + * generic/tclCompile.c: TCL_OUT_LINE_COMPILE with TCL_ERROR. + * generic/tclInt.h: Now that we've eradicated the mistaken + * tests/appendComp.test: notion of a "compile-time error", we + can use the TCL_ERROR return code to signal any failure to produce + bytecode. + +2005-05-03 Don Porter + + * doc/DString.3: Eliminated use of identifier "string" in Tcl's + * doc/Environment.3: public C API to avoid conflict/confusion with + * doc/Eval.3: the std::string of C++. + * doc/ExprLong.3, doc/ExprLongObj.3, doc/GetInt.3, doc/GetOpnFl.3: + * doc/ParseCmd.3, doc/RegExp.3, doc/SetResult.3, doc/StrMatch.3: + * doc/Utf.3, generic/tcl.decls, generic/tclBasic.c, generic/tclEnv.c: + * generic/tclGet.c, generic/tclParse.c, generic/tclParseExpr.c: + * generic/tclRegexp.c, generic/tclResult.c, generic/tclUtf.c: + * generic/tclUtil.c, unix/tclUnixChan.c: + + * generic/tclDecls.h: `make genstubs` + +2005-05-02 Don Porter + + * generic/tcl.decls: + * generic/tclBasic.c: Simplified implementation of Tcl_ExprString. + * tests/expr-old.test: + + * generic/tclDecls.h: `make genstubs` + +2005-04-30 Daniel Steffen + + * unix/tclUnixNotfy.c: applied dkf's tkMacOSXNotify.c cleanup changes. + +2005-04-29 Don Porter + + TIP#176 IMPLEMENTATION [Patch 1165695] + + * generic/tclUtil.c: Extended TclGetIntForIndex to recognize index + formats including end+integer and integer+/-integer. + + * generic/tclCmdMZ.c: Extended the -start switch of [regexp] and + [regsub] to accept all index formats known by TclGetIntForIndex. + + * doc/lindex.n: Updated docs to note new index formats. + * doc/linsert.n, doc/lrange.n, doc/lreplace.n, doc/lsearch.n: + * doc/lset.n, doc/lsort.n, doc/regexp.n, doc/regsub.n, doc/string.n: + + * tests/cmdIL.test: Updated tests. + * tests/compile.test, tests/lindex.test, tests/linsert.test: + * tests/lrange.test, tests/lreplace.test, tests/lsearch.test: + * tests/lset.test, tests/regexp.test, tests/regexpComp.test: + * tests/string.test, tests/stringComp.test, tests/util.test: + +2005-04-28 Don Porter + + * tests/unixInit.test (7.1): Alternative fix for the 2004-11-11 commit. + +2005-04-27 Don Porter + + * library/init.tcl: Corrected flaw in interactive command + * tests/main.test: auto-completion. [Bug 1191409]. + + TIP#183 IMPLEMENTATION [Patch 577093] + + * generic/tclIOUtil.c (TclGetOpenModeEx): New routine. + * generic/tclInt.h: + + * generic/tclIO.c (Tcl_OpenObjCmd): Support for "b" and + * doc/open.n: "BINARY" in "access" argument to [open]. + * tests/ioCmd.test: + +2005-04-26 Kevin B. Kenny + + * generic/tclBinary.c (FormatNumber): Dredge the NaN out of the + internal representation if Tcl_GetDoubleFromObj returns TCL_ERROR on a + NaN. + + * generic/tclObj.c (Tcl_GetDoubleFromObj): Restored silent + overflow/underflow behaviour that the merge of 2004-04-25 messed up. + Thanks to Don Porter for calling attention to this bug. Also removed an + uninitialised memory reference in this function that valgrind caught. + Also changed to return TCL_ERROR on a pure NaN. + + * generic/tclStrToD.c (RefineResult): Added a test for the initial + approximation being HUGE_VAL; this test avoids EDOM being returned from + ldexp on some platforms on input values exceeding the floating point + range. + + * tests/expr.test (expr-29.*, expr-30.*): Added further tests of + overflow/underflow on input conversions. + +2005-04-25 Kevin B. Kenny + + [kennykb-numerics-branch] Merged with HEAD. + + * doc/CrtMathFunc.n: Revised documentation for TIP 232 + +2005-04-25 Daniel Steffen + + * compat/string.h: fixed memchr() protoype for __APPLE__ so that we + build on Mac OS X 10.1 again. + + * generic/tclNotify.c (TclFinalizeNotifier): fixed notifier not being + finalized in unthreaded core (was testing for notifier initialization + in current thread by checking thread id != 0 but thread id is always 0 + in untreaded core). + + * win/tclWinNotify.c (Tcl_WaitForEvent): + * unix/tclUnixNotfy.c (Tcl_WaitForEvent): don't call ScaleTimeProc for + zero wait times (as specified in TIP 233). + + * unix/Makefile.in: added @PLAT_SRCS@ to SRCS and split out NOTIFY_SRCS + from UNIX_SRCS for parity with UNIX_OBJS & NOTIFY_OBJS. + + * unix/tcl.m4 (Darwin): added configure checks for recently added + linker flags -single_module and -search_paths_first to allow building + with older tools (and on Mac OS X 10.1), use -single_module in SHLIB_LD + and not just T{CL,K}_SHLIB_LD_EXTRAS, added unexporting from Tk of + symbols from libtclstub to avoid duplicate symbol warnings, added + PLAT_SRCS definition for Mac OS X, defined MODULE_SCOPE to + __private_extern__. + (SC_MISSING_POSIX_HEADERS): added caching of dirent.h check. + + * unix/configure: autoconf-2.59 + +2005-04-25 Kevin B. Kenny + + * library/tzdata/America/Boise: + * library/tzdata/America/Chicago: + * library/tzdata/America/Denver + * library/tzdata/America/Indianapolis: + * library/tzdata/America/Los_Angeles: + * library/tzdata/America/Louisville: + * library/tzdata/America/Managua: + * library/tzdata/America/New_York: + * library/tzdata/America/Phoenix: + * library/tzdata/America/Port-au-Prince: + * library/tzdata/America/Indiana/Knox: + * library/tzdata/America/Indiana/Marengo: + * library/tzdata/America/Indiana/Vevay: + * library/tzdata/America/Kentucky/Monticello: + * library/tzdata/America/North_Dakota/Center: + * library/tzdata/Asia/Tehran: + Olson's tzdata2005i. Corrects exact time at which Standard Time was + adopted in the US (generally, noon, Standard Time, rather than noon, + Local Mean Time). Adopts new civil rules for Nicaragua and Iran. + +2005-04-25 Don Porter + + * library/init.tcl: Use "ni" and "in" operators. + +2005-04-25 Miguel Sofer + + * generic/tclExecute.c: fix for [Bug 1189274]. + +2005-04-24 Don Porter + + * generic/tclLiteral.c: Silence compiler warnings. + * generic/tclObj.c: [Bug 1188863]. + +2005-04-22 Don Porter + + The 2005-04-21 changes to Tcl_GetBooleanFromObj were done to bring it + into agreement with its docs. Further investigation reveals it was the + docs that were incorrect. + + * doc/BoolObj.3: Corrections to the documentation of + Tcl_GetBooleanFromObj to bring it into agreement with what this public + interface has always done, including noting the difference in function + between Tcl_GetBooleanFromObj and Tcl_GetBoolean. + + * generic/tclGet.c: Revised Tcl_GetBoolean to no longer be a + wrapper around Tcl_GetBooleanFromObj (different function!). + + * generic/tclObj.c: Removed TclGetTruthValueFromObj routine that + was added yesterday. Revisions so that only Tcl_GetBoolean-approved + values get the "boolean" Tcl_ObjType. This retains the fix for [Bug + 1187123]. + * tests/string.test: Test string-23.0 for Bug 1187123. + + * generic/tclInt.h: Revert most recent change. + * generic/tclBasic.c: + * generic/tclCompCmds.c: + * generic/tclDictObj.c: + * generic/tclExecute.c: + * tests/obj.test: + +2005-04-21 Don Porter + + * doc/GetInt.3: Convert argument "string" to "str" to agree with code. + Also clarified a few details on int and double formats. + * generic/tclGet.c: Radical code simplification. Converted + Tcl_GetFoo() routines into wrappers around Tcl_GetFooFromObj(). Reduces + code duplication, and the resulting potential for inconsistency. + + * generic/tclObj.c: Several changes: + + - Re-ordered error detection code so all values with trailing garbage + receive a "not an integer" message instead of an "integer too large" + message. + - Removed inactive code meant to deal with strtoul* routines that fail + to parse leading signs. All of them do, and if any are detected that + do not, the correct fix is replacement with compat/strtoul*.c, not a + lot of special care by the callers. + - Tcl_GetDoubleFromObj now avoids shimmering away a "wideInt" intrep. + - Fixed Tcl_GetBooleanFromObj to agree with its documentation and with + Tcl_GetBoolean, accepting only "0" and "1" and not other numeric + strings. [Bug 1187123] + - Added new private routine TclGetTruthValueFromObj to perform the more + permissive conversion of numeric values to boolean that is needed by + the [expr] machinery. + + * generic/tclInt.h (TclGetTruthValueFromObj): New routine. + * generic/tclExecute.c: Updated callers to call new routine. + * generic/tclBasic.c: Updated callers to call new routine. + * generic/tclCompCmds.c: Updated callers to call new routine. + * generic/tclDictObj.c: Updated callers to call new routine. + * tests/obj.test: Corrected bad tests that actually expected + values like "47" and "0xac" to be accepted as booleans. + + * generic/tclLiteral.c: Disabled the code that forces some literals + into the "int" Tcl_ObjType during registration. We can re-enable it if + this change causes trouble, but it seems more sensible to let Tcl's + "on-demand" shimmering rule, and not try to pre-guess things. + +2005-04-20 Kevin B. Kenny + + [kennykb-numerics-branch] + * doc/expr.n: + * doc/mathfunc.n (new file): Revised documentation for TIP 232 + +2005-04-20 Don Porter + + * generic/tclGet.c (Tcl_GetInt): Corrected error that did not + * generic/tclObj.c (Tcl_GetIntFromObj): permit 0x80000000 to be + recognized as an integer on TCL_WIDE_INT_IS_LONG systems [Bug 1090869]. + +2005-04-20 Kevin B. Kenny + + * generic/tclFileName.c: Silenced a compiler warning about '/*' within + a comment. + +2005-04-19 Don Porter + + * generic/tclBasic.c: Added unsupported command + * generic/tclCmdAH.c: [::tcl::unsupported::EncodingDirs] to permit + * generic/tclInt.h: query/set of the encoding search path at + * generic/tclInterp.c: the script level. Updated init.tcl to make + * library/init.tcl: use of the new command. Also updated several + coding practices in init.tcl ("eq" for [string equal], etc.) + +2005-04-19 Kevin B. Kenny + + * library/clock.tcl (Initialize): Put initialization code into a proc + to avoid inadvertently clobbering global variables. [Bug 1185933] + * tests/clock.test (clock-48.1): Added regression test for the above + bug. + Thanks to Ulrich Ring for reporting this bug. + +2005-04-16 Miguel Sofer + + * generic/Var.c (Tcl_ArrayObjCmd - ARRAY_NAMES): fix Tcl_Obj leak. [Bug + 1084111] + +2005-04-16 Zoran Vasiljevic + + * generic/tclIOUtil.c: force clenaup of the interp result in + TclLoadFile(). Some implementations of TclpFindSymbol() will seed the + interp result with error message when unable to find the requested + symbol (this is not considered to be an error). + + Set of changes correcting huge memory waste (not a leak) when a thread + exits. This has been introduced in 8.4.7 within an attempt to correctly + cleanup after ourselves when Tcl library is being unloaded with the + Tcl_Finalize() call. + + This fixes the [Bug 1178445] + + * generic/tclInt.h: added prototypes for TclpFreeAllocCache() and + TclFreeAllocCache() + + * generic/tclThreadAlloc.c: modified TclFinalizeThreadAlloc() to + explicitly call TclpFreeAllocCache with the NULL-ptr as argument + signalling cleanup of private tsd key used only by the threading + allocator. + + * unix/tclUnixThrd.c: fixed TclpFreeAllocCache() to recognize when + being called with NULL argument. This is a signal for it to clean up + the tsd key associated with the threading allocator. + + * win/tclWinThrd.c: renamed TclWinFreeAllocCache to TclpFreeAllocCache + and fixed to recognize when being called with NULL argument. This is a + signal for it to clean up the tsd key associated with the threading + allocator. + +2005-04-13 Don Porter + + * tests/unixInit.test: Disabled obsolete tests and removed code + * tests/encoding.test: that supported them. + * generic/tclInterp.c: + + * library/init.tcl: Use auto-loading to bring in Tcl Module support + * library/tclIndex: as needed. This reduces startup time by + * library/tm.tcl: delaying this initialization to a later time. + +2005-04-15 Miguel Sofer + + * generic/tclExecute.c: missing semicolons caused failure to compile + with TCL_COMPILE_DEBUG. + +2005-04-13 David Gravereaux + + * generic/tclIO.c (Tcl_SetChannelBufferSize): Lowest size limit + * tests/io.test: changed from ten bytes to one byte. Need for + * tests/iogt.test: this change was proven by Ross Cartlidge + where [read stdin 1] was grabbing 10 bytes followed + by starting a child process that was intended to continue reading from + stdin. Even with -buffersize set to one, nine chars were getting lost + by the buffersize over reading for the native read() caused by [read]. + +2005-04-13 Don Porter + + * unix/tclUnixInit.c (TclpGetEncodingNameFromEnvironment): Reversed + order of verifying candidate [encoding system] value, checking against + a table in memory first before calling Tcl_GetEncoding and potentially + scanning through the filesystem. Also ordered the table so that a + binary search could be used within it. Improves startup time a bit more + on some systems. + +2005-04-13 Kevin B. Kenny + + * library/clock.n: Added a missing '--' on several [switch] commands to + improve performance of [clock format] and related operations. [FRQ + 1182459] + +2005-04-13 Donal K. Fellows + + * doc/fcopy.n: Improved documentation on copying binary files, added an + example and mentioned the use of [file copy]. + * doc/fconfigure.n: Improved documentation of -encoding binary option. + This is all following comments from Steve Manning + on comp.lang.tcl that the current documentation was not clear. + +2005-04-13 Miguel Sofer + + * generic/tclCompile.c:Commented out the functions + TclPrintInstruction(), TclPrintObject() and TclPrintSource() when not + debugging the compiler, as they are never called in that case. + +2005-04-12 Don Porter + + * generic/tclInterp.c: Corrected bad syntax of Tcl_Panic() call. + + * generic/tclUtil.c (TclGetProcessGlobalValue): More robust handling + of bad TclInitProcessGlobalValueProc behavior; an immediate panic + rather than a mysterious crash later. + + * generic/tclEncoding.c: Several changes to the way the + encodingFileMap cache is maintained. Previously, it was attempted to + keep the file map filled and up to date with changes in the encoding + search path. This contributed to slow startup times since it required + an expensive "glob" operation to fill the cache. Now the validity of + items in the cache are checked at the time they are used, so the cache + is permitted to fall out of sync with the encoding search path. Only + [encoding names] and Tcl_GetEncodingNames() now pay the full expense. + [Bug 1177363] + +2005-04-12 Kevin B. Kenny + + * compat/strstr.c: Added default definition of NULL to accommodate + building on systems with badly broken headers. [Bug 1175161] + +2005-04-11 Donal K. Fellows + + * tools/tclZIC.tcl: Rewrote to take advantage of more features of Tcl + 8.5 (on which it was dependent anyway). Also added a [package require] + line to formalize the relationship. + +2005-04-11 Kevin Kenny + + [kennykb-numerics-branch] Merged with HEAD. Updated to libtommath 0.35. + + * generic/tclBasic.c: Attempted to repeat changes that applied to + tclExecute.c in Miguel Sofer's commit of 2005-04-01, together with + (possibly) a few more uses of his new object creation macros. Also + plugged a memory leak in TclObjInvoke. [Bug 1180368] + +2005-04-10 Kevin Kenny + + * library/tzdata/America/Montevideo: + * library/tzdata/Asia/Almaty: + * library/tzdata/Asia/Aqtau: + * library/tzdata/Asia/Aqtobe: + * library/tzdata/Asia/Baku: + * library/tzdata/Asia/Jerusalem: + * library/tzdata/Asia/Oral: + * library/tzdata/Asia/Qyzylorda: + * library/tzdata/Indian/Chagos: + * library/tzdata/Indian/Cocos: Olson's tzdata2005h + +2005-04-10 Don Porter + + * generic/tclBasic.c (TclObjInvoke): Plug memory leak. [Bug 1180368] + +2005-04-09 Miguel Sofer + + * generic/tclExecute.c: fix possible leak of expansion Tcl_Objs + +2005-04-09 Daniel Steffen + + * macosx/README: updated requirements for OS & developer tool versions + and other small fixes/cleanup. + + * generic/tclListObj.c (Tcl_ListObjIndex): added missing NULL return + when getting index from an empty list. + + * unix/tcl.m4 (Darwin): added -single_module linker flag to + TCL_SHLIB_LD_EXTRAS and TK_SHLIB_LD_EXTRAS. + * unix/configure: autoconf-2.59 + +2005-04-08 Don Porter + + * generic/tclInt.h (TclGetEncodingFromObj): New function to + * generic/tclEncoding.c (TclGetEncodingFromObj): retrieve a + Tcl_Encoding value, as well as cache it in the internal rep of a new + "encoding" Tcl_ObjType. + * generic/tclCmdAH.c (Tcl_EncodingObjCmd): Updated to call new + function so that Tcl_Encoding's used by [encoding convert*] routines + are not freed too quickly. [Bug 1077262] + +2005-04-08 Donal K. Fellows + + * generic/tclCompCmds.c (TclCompileSwitchCmd): Rewritten to be able to + handle the other form of [switch] and generate slightly simpler (but + longer) code. + +2005-04-06 Donal K. Fellows + + * doc/upvar.n, doc/unset.n, doc/tell.n, doc/tclvars.n, doc/subst.n: + * doc/seek.n, doc/scan.n, doc/regsub.n, doc/registry.n, doc/regexp.n: + * doc/read.n, doc/puts.n, doc/pkgMkIndex.n, doc/open.n, doc/lreplace.n: + * doc/lrange.n, doc/load.n, doc/llength.n, doc/linsert.n, doc/lindex.n: + * doc/lappend.n, doc/info.n, doc/gets.n, doc/format.n, doc/flush.n: + * doc/fileevent.n, doc/file.n, doc/fblocked.n, doc/close.n: + * doc/array.n, doc/Utf.3, doc/TraceVar.3, doc/StrMatch.3, doc/RegExp.3: + * doc/PrintDbl.3, doc/OpenTcp.3, doc/OpenFileChnl.3, doc/Object.3: + * doc/Notifier.3, doc/LinkVar.3, doc/IntObj.3, doc/Interp.3: + * doc/GetOpnFl.3, doc/GetIndex.3, doc/Eval.3, doc/CrtMathFnc.3: + * doc/CrtFileHdlr.3, doc/CrtCommand.3, doc/CrtChannel.3: + * doc/Backslash.3: Purge old .VS/.VE macro instances. + + * tools/man2html2.tcl (IPmacro): Rewrote to understand what .IP really + is (.IP and .TP are really just two ways of doing the same thing). + Change below made this relevant. + * doc/re_syntax.n: Change some uses of .TP to .IP to work around bugs + in various *roff implementations. Also reworded the atom descriptions + slightly. + +2005-04-05 Don Porter + + * generic/tclExecute.c (ExprSrandFunc): Replaced incursions into the + * generic/tclUtil.c (TclGetIntForIndex): intreps of numeric types with + simpler calls of Tcl_GetIntFromObj and Tcl_GetLongFromObj, now that + those routines are better behaved wrt shimmering. [Patch 1177219] + +2005-04-05 Miguel Sofer + + * generic/tclInt.h: + * generic/tclObj.c: Change in TclDecrRefCount and TclFreeObj, to speed + up the freeing of simple Tcl_Obj [Patch 1174551] + +2005-04-04 Miguel Sofer + + * generic/tclExecute.c: small opts in obj handling + +2005-04-02 Miguel Sofer + + * generic/tclVar.c: converted a few function calls to macros. + +2005-04-01 Miguel Sofer + + * doc/ListObj.3: + * generic/tclBasic.c: + * generic/tclCmdIL.c: + * generic/tclConfig.c: + * generic/tclExecute.c: + * generic/tclInt.decls: + * generic/tclInt.h: + * generic/tclIntDecls.h: + * generic/tclListObj.c: + * generic/tclStubInit.c: + * generic/tclVar.c: Changed the internal representation of lists to + (a) reduce the malloc/free calls at list creation (from 2 to 1), (b) + reduce the cost of handling empty lists (we now never create a list + internal rep for them), (c) allow refcounting of the list internal rep. + The latter permits insuring that the pointers returned by + Tcl_ListObjGetElements remain valid even if the object shimmers away + from its original list type. This is [Patch 1158008] + + * generic/tclExecute.c: + * generic/tclInt.h: + * generic/tclObj.c: + * generic/tclStringObj.c: + (1) defined new internal macros for creating and setting frequently + used obj types (int,long, wideInt, double, string). Changed TEBC to use + eg 'TclNewIntObj(objPtr, i)' to avoid the function call in 'objPtr = + Tcl_NewIntObj(i)' + (2) ExecEnv now stores two Tcl_Obj* pointing to the constants "0" and + "1", for use by TEBC. + (3) slight reduction in cost of INST_START_CMD + +2005-03-31 Miguel Sofer + + * generic/tclExecute.c (INST_JUMP_TRUE/FALSE): replaced "test and + branch" with "compute index into table" + +2005-03-30 Donal K. Fellows + + * doc/FileSystem.3: Defined loadHandle argument. [Bug 1172401] + +2005-03-29 Jeff Hobbs + + * win/tcl.m4, win/configure: do not require cygpath in macros to allow + msys alone as an alternative. + +2005-03-24 Don Porter + + * generic/tclCompile.h: Move the TclInterpReady() declaration from + * generic/tclInt.h: tclCompile.h to tclInt.h. Should have been done + as part of the 1115904 bug fix on 2005-03-18. + + * generic/tclThreadTest.c: Stop providing the phony package + "Thread 1.0" when the [::testthread] command is defined. It's never + used by anything, and conflicts with loading the real "Thread" package. + +2005-03-18 Don Porter + + * generic/tclCompCmds.c (TclCompileIncrCmd): Corrected checks for + immediate operand usage to permit leading space and sign characters. + Restores more efficient bytecode for [incr x -1] that got lost in the + CONST string reforms of Tcl 8.4. [Bug 1165671] + + * generic/tclBasic.c (Tcl_EvalEx): Restored recursion limit + * generic/tclParse.c (TclSubstTokens): testing in nested command + * tests/basic.test (basic-46.4): substitutions within direct + * tests/parse.test (parse-19.*): script evaluation (Tcl_EvalEx) + that got lost in the parser reforms of Tcl 8.1. Added tests for correct + behavior. [Bug 1115904] + +2005-03-15 Vince Darley + + * generic/tclFileName.c: + * win/tclWinFile.c: + * tests/winFCMd.test: fix to 'file pathtype' and 'file norm' failures + on reserved filenames like 'COM1:', etc. + +2005-03-15 Pat Thoyts + + * unix/tcl.m4: Updated the OpenBSD configuration and regenerated + * unix/configure: the configure script. + +2005-03-15 Kevin B. Kenny + + [kennykb-numerics-branch] Merged with HEAD. + + * generic/tclBasic.c (many): + * generic/tclCompExpr.c (CompileMathFuncCall): + * generic/tclCompile.h: + * generic/tclExecute.c (many): + * generic/tclParseExpr.c (ParsePrimaryExpr): + * tests/compExpr-old.test: + * tests/compExpr.test: + * tests/compile.test: + * tests/expr-old.test: + * tests/expr.test: + * tests/for.test: + * tests/parseExpr.test: Initial implementation of TIP #232. + + * generic/tclObj.c (Tcl_DbNewBignumObj): Fixed typo that broke + --enable-symbols=mem build + * tests/binary.test (binary-40.3, binary-40.6): Corrected tests to + allow NaN(7ffffffffffff). + +2005-03-14 Miguel Sofer + + * generic/tclExecute.c: fixed INST_PUSH1's debugging code (wrong obj + ref passed to TRACE_WITH_OBJ). + +2005-03-14 Miguel Sofer + + * generic/tclCompile.c: fixed INST_RETURN's stack effect in + tclInstructionTable (-1 instead of -2) + +2005-03-10 Miguel Sofer + + * generic/tclCompCmds.c: removed debugging line + +2005-03-10 Don Porter + + * generic/tclTrace.c (TclCheckInterpTraces): Corrected mistaken cast + of ClientData to (TraceCommandInfo *) when not warranted. Thanks to + Yuri Victorovich for the report. [Bug 1153871] + * generic/tcl.h: Moved flag values TCL_TRACE_ENTER_EXEC and + * generic/tclInt.h: TCL_TRACE_LEAVE_EXEC from public interface into + private. Should be used only by internal workings of execution traces. + +2005-03-09 Kevin B. Kenny + + [kennykb-numerics-branch] Merged from HEAD. + + * doc/PrintDbl.3: + * doc/tclVars.n: Documented new semantics for tcl_precision. + * generic/tclExecute.c (Tcl_ExecuteByteCode): Removed the check for + division-by-zero on IEEE-754 machines. + * generic/tclUtil.c (Tcl_PrintDouble): Corrected bug where numbers in + the range [1e-4 .. 1.) were printed incorrectly. + * tests/compExpr-old.test (compExpr-old-11.13): Revised test case for + division by zero. + * tests/expr-old.test (expr-34.11, expr-34.12): Revised test cases for + overflow in pow() to deal with infinities. + * tests/expr.test (expr-11.13, expr-29.1, expr-29.2): Revised test case + for division by zero and for underflow on input conversions. + * tests/parseExpr.test (parseExpr-16.11): Revised test case for + overflow on input conversion. + * tests/string.test (string-6.38 deleted): Removed test case for + underflow on input conversion, which is no longer an error. + * tests/util.test (util-10.*): Added test case for the bug in tclUtil.c + +2005-03-08 Jeff Hobbs + + * win/makefile.vc: clarify necessary defined vars that can come from + MSVC or the Platform SDK. + +2005-03-07 Donal K. Fellows + + * doc/string.n: Minor typo. [Bug 1158247] + +2005-03-07 Miguel Sofer + + * generic/tclExecute.c: new peephole optimisation for INST_PUSH1; fixed + the peephole opt in INST_POP so that it is not used when + TCL_COMPILE_DEBUG is defined. + +2005-03-04 Kevin B. Kenny + + [kennykb-numerics-branch] + + * generic/tclCmdMZ.c: Changed [scan] to treat out-of-range floating + point values as infinities and zeroes. + * generic/tclExecute.c: Changed [expr] to be permissive about + infinities, allowing them to propagate. + * generic/tclGet.c: Changed Tcl_GetDouble to be permissive about + over/underflow. + * generic/tclObj.c: Changed SetDoubleFromAny to be permissive about + over/underflow. + * generic/tclParseExpr.c: Made [expr] permissive about input numbers + out of range. + +2005-03-03 Kevin B. Kenny + + [kennykb-numerics-branch] + + * generic/tclInt.h: + * generic/tclStrToD.c (Tcl_DoubleDigits, TclFormatNaN): + * generic/tclUtil.c (Tcl_PrintDouble): Changed the signature of + TclDoubleDigits so that it accepts a pointer to the signum of the + argument, and returns the signum via that pointer. Added very hacky + code to handle IEEE signed zeroes in Tcl_DoubleDigits. (It can't be + done other than as a hack until C9x; C89 simply doesn't deal with the + concept of -0.0). Added output conversion of tagged NaN values. + * generic/tclBinary.c (FormatNumber): Changed to allow [binary format] + to handle NaN. + * tests/binary.test (binary-60.1): Added a quick-n-dirty test to make + sure that NaN's can be scanned and formatted. + * generic/tclParseExpr.c (GetLexeme, ParseMaxDoubleLength): Modified so + that tagged NaN (e.g., NaN(DEADBEEF)) can be recognized. + +2005-03-02 Kevin B. Kenny + + [kennykb-numerics-branch] Merged with HEAD as of 2005-02-23. + + * generic/tclExecute.c: Broadened test for NaN to work on Windows. + * generic/tclInt.h: + * generic/tclStrToD.c (Tcl_DoubleDigits): + * generic/tclUtil.c (Tcl_PrintDouble, TclPrecTraceProc): Added + Tcl_DoubleDigits to format 'double' numbers with the minimum number of + significant digits to yield correct rounding. Modified tcl_precision + to accept 0 as a precision (meaning "minimum digits"), and made 0 the + default. [TIP #132] + * generic/tclObj.c: Made NaN's throw an error in Tcl_GetDoubleFromObj. + * unix/Makefile.in: + * win/Makefile.in: + * win/makefile.vc: Added libtommath/bn_mp_init_set.c to the build. + * libtommath/tommath.h (mp_iseven): Fixed a bug that caused zero to + test 'odd'. + * generic/tommath.h: Regenerated. + * tests/binary.test: + * tests/expr-old.test: + * tests/expr.test: + * tests/scan.test: Corrected a number of tests that depended on + tcl_precision, and removed the {eformat} condition from tests that no + longer require it. + * tests/util.test: Corrected a number of tests that depended on + tcl_precision, and removed the {eformat} condition from tests that no + longer require it. Added a series of tests for correct rounding in + Tcl_PrintDouble. [TIP #132]. + +2005-03-01 David N. Welton + + * doc/CrtSlave.3: Changed to Tcl_Object to Tcl_Obj in the man page. + +2005-02-24 Don Porter + + * library/tcltest/tcltest.tcl: Better use of [glob -types] to avoid + * tests/tcltest.test: failed attempts to [source] a directory, and + similar matters. Thanks to "mpettigr". [Bug 1119798] + + * library/tcltest/pkgIndex.tcl: Bump to tcltest 2.2.8 + * unix/Makefile.in: + * win/Makefile.in: + +2005-02-23 Donal K. Fellows + + * doc/CrtChannel.3 (THREADACTIONPROC): Formatting fix. [Bug 1149605] + +2005-02-17 Jeff Hobbs + + * win/tclWinFCmd.c (TraverseWinTree): use wcslen on wchar, not + Tcl_UniCharLen. + +2005-02-16 Miguel Sofer + + * doc/variable.n: fix for [Bug 1124160], variables are detected by + [info vars] but not by [info locals]. + +2005-02-11 Jeff Hobbs + + * unix/Makefile.in: remove SHLIB_LD_FLAGS (only for AIX, inlined into + * unix/tcl.m4: SHLIB_LD). Combine AIX-* and AIX-5 branches in + * unix/configure: SC_CONFIG_CFLAGS. Correct gcc builds for AIX-4+ + and HP-UX-11. autoconf-2.59 gen'd. + +2005-02-11 Miguel Sofer + + * tests/basic.test (basic-26.3): new test + +2005-02-10 Miguel Sofer + + * generic/tclBasic.c (Tcl_EvalObjEx): + * tests/basic.test (basic-26.2): preserve the arguments passed to TEOV + in the pure-list branch, in case the list shimmers away. Fix for [Bug + 1119369], reported by Peter MacDonald. + +2005-02-10 Vince Darley + + * generic/tclFileName.c: fix for test failures introduced on 2005-01-17 + [Bug 1119092] + +2005-02-10 Donal K. Fellows + + * doc/binary.n: Made the documentation of sign bit masking and [binary + scan] consistent. [Bug 1117017] + +2005-02-08 David N. Welton + + * doc/CrtChannel.3: Typo: return->returns. + +2005-02-06 Kevin B. Kenny + + [kennykb-numerics-branch] + + * generic/tclStrToD.c (TclStrToD, SafeLdExp): Added code to manage the + FPU precision on gcc+x86. Enabled fast conversion of floats with small + exponents now that precision is correct. + * tests/expr.test: Corrected test for the smallest representible value + to the right IEEE values. + +2005-02-06 David N. Welton + + * doc/Thread.3: One-word grammar fix. + +2005-02-05 David N. Welton + + * doc/Thread.3: Fixed sentence describing flags for Tcl_CreateThread. + + * doc/FileSystem.3: Cleaned up typo in Tcl_FSNewNativePath + documentation. + + * generic/tclPathObj.c: Cleaned up typo in comment. + +2005-02-03 Kevin B. Kenny + + [kennykb-numerics-branch] + + * generic/tclStrToD.c (TclStrToD, RefineResult, SafeLdExp): Added code + to ensure that 'ldexp' is never called with a value that will underflow + * tests/expr.test: Added tests for the smallest representible value, + and rounding between it and zero. (The tests reflect current + behaviour; plan is to change the specification of Tcl so that input + conversion of doubles underflows silently.) + +2005-02-02 Mo DeJong + + * generic/tclProc.c (TclInitCompiledLocals): Add check for type of the + framePtr->procPtr->bodyPtr passed to TclInitCompiledLocals and panic if + it is not the correct type. If the body of the proc is not of the + compiled byte code type then the code will crash. This was discovered + while tracking down a crash in Itcl, that crash is fixed by Itcl patch + 1115085. + +2005-02-01 Kevin B. Kenny + + [kennykb-numerics-branch] Merged with HEAD as of today. + + * generic/tclInt.decls: Changed numbers of new stubs to resolve a + conflict. + * generic/tclInt.h: Added new TclStrToD routine that replaces the + native 'strtod' throughout Tcl. + * generic/tclCmdMZ (Tcl_StringObjCmd): + * generic/tclGet.c (Tcl_GetDouble): + * generic/tclObj.c (SetBooleanFromAny, SetDoubleFromAny): + * generic/tclParseExpr.c (GetLexeme): + * generic/tclScan.c (Tcl_ScanObjCmd): Replaced all uses of the native + 'strtod' with a TclStrToD routine that performs correct rounding and + handles denormals. + * generic/tclStrToD.c: (new file) + New scanning function for extracting 'double' from a string that rounds + correctly, and handles denormals and infinities. + * unix/Makefile.in: + * win/Makefile.in: + * win/makefile.vc: + Added tclStrToD.c and the tommath routines that support it. + + These changes represent a partial implementation of TIP #132. Output + conversion of floating point numbers, and proper handling of infinities + within expressions, still need to be addressed. + +2005-02-01 Don Porter + + * generic/tclExecute.c (TclCompEvalObj): Removed stray statement left + behind in prior code reorganization. + +2005-01-31 Don Porter + + * unix/configure: autoconf-2.57 + +2005-01-30 Joe English + + * unix/configure.in: Restored two double-evals that were removed in the + DBGX purge; these are still needed on some platforms to account for + TCL_TRIM_DOTS. [Bug 1112654] + + * unix/configure: NOT REGENERATED: only have autoconf 2.59 here, need + to find someone with autoconf 2.57. + +2005-01-28 Jeff Hobbs + + * unix/configure, unix/tcl.m4: add solaris 64-bit gcc build support. + [Bug 1021871] + +2005-01-28 Donal K. Fellows + + * tests/expr-old.test (expr-old-37.2): Added test for [Bug 1109484] + +2005-01-27 Jeff Hobbs + + * generic/tclBasic.c (Tcl_ExprBoolean, Tcl_ExprDouble) + (Tcl_ExprLong): Fix to recognize Tcl_WideInt type. [Bug 1109484] + +2005-01-26 Andreas Kupries + + TIP#218 IMPLEMENTATION + + * generic/tclDecls.h: Regenerated from tcl.decls. + * generic/tclStubInit.c: + + * doc/CrtChannel.3: Documentation of extended API, + * generic/tcl.decls: extended testsuite, and + * generic/tcl.h: implementation. Removal of old + * generic/tclIO.c: driver-specific TclpCut/Splice + * generic/tclInt.h: functions. Replaced with generic + * tests/io.test: thread-action calls through the + * unix/tclUnixChan.c: new hooks. Update of all builtin + * unix/tclUnixPipe.c: channel drivers to version 4. + * unix/tclUnixSock.c: Windows drivers extended to + * win/tclWinChan.c: manage thread state in a thread + * win/tclWinConsole.c: action handler. + * win/tclWinPipe.c: + * win/tclWinSerial.c: + * win/tclWinSock.c: + +2005-01-25 Don Porter + + * library/auto.tcl: Updated [auto_reset] to clear auto-loaded + commands in namespaces other than :: and to clear auto-loaded commands + that do not happen to be procs. [Bug 1101670] + ***POTENTIAL INCOMPATIBILITY*** + +2005-01-25 Daniel Steffen + + * unix/tcl.m4 (Darwin): fixed bug with static build linking to dynamic + library in /usr/lib etc instead of linking to static library earlier in + search path. [Bug 956908] Removed obsolete references to Rhapsody. + * unix/configure: autoconf-2.57 + +2005-01-21 Andreas Kupries + + * generic/tclStubInit.c: Regenerated the stubs support code from the + * generic/tclDecls.h: modified tcl.decls (TIP #233, see below). + + * doc/GetTime.3: Implemented TIP #233, i.e. the + * generic/tcl.decls: 'Virtualization of Tcl's Sense of Time'. + * generic/tcl.h: Declared, implemented, and documented the + * generic/tclInt.h: specified new API functions. Moved the + * unix/tclUnixEvent.c: native (OS) access to time information + * unix/tclUnixNotfy.c: into standard handler functions. Inserted + * unix/tclUnixTime.c: hooks calling on the handlers where native + * win/tclWinNotify.c: access was done before, and where scaling + * win/tclWinTime.c: between domains (real/virtual) is required. + +2005-01-21 Andreas Kupries + + * generic/tclThread.c: Typo police. Fixed some nits + * generic/tclCmdAH.c: in header comments of functions. + * generic/tclBasic.c: (Missing --). + * generic/tclFileName.c: + +2005-01-21 Donal K. Fellows + + * doc/FileSystem.3: Add missing ARGUMENTS section definitions for + arguments to Tcl_FSLink. [Bug 1106272] + +2005-01-21 Kevin B. Kenny + + [kennykb-numerics-branch] + + * unix/Makefile.in: Updated Makefile to build libtommath on Unix as + well as Windows. [Bug 1106865] + + * generic/tclTestObj.c (TestbignumobjCmd): Silenced a compiler warning + about a mismatched 'const'. + +2005-01-20 Kevin B. Kenny + + [kennykb-numerics-branch] Development checkpoint. + + * compat/strtoll.c: Reverted to HEAD. + * compat/strtoull.c: + * doc/Ensemble.3: + * generic/tclBasic.c: + * generic/tclCmdIL.c: + * generic/tclNamesp.c: + * generic/tclPathObj.c: + * generic/tclPort.h: + * unix/configure: + * unix/configure.in: + * unix/tcl.m4: + * win/configure: + * win/configure.in: + * win/rules.vc: + * win/tcl.m4: + + * generic/tcl.h: Added declarations for bignum types, and for a + 'bignumValue' in the Tcl_Obj structure. + * generic/tclInt.h: Added declarations of interface procedures for + memory allocation in libtommath. + + * generic/tcl.decls: Added new interface to bignum objects. + * generic/tclInt.decls: Added internal stubs for bignum routines used + by the test code in tclTestObj.c. + + * generic/tclDecls/h: Regen. + * generic/tclIntDecls.h: + * generic/tclStubInit.h: + + * tools/fix_tommath_h.tcl: (New file) Script to edit + libtommath/tommath.h and produce generic/tommath.h so that storage + classes, allocation routines, and data types conform to Tcl's + conventions. + * generic/tommath.h: (New file) Generated by the above. + + * generic/tclTomMath.h: (New file) Additional declarations to be + included in tommath.h when building Tcl. + + * generic/tclTomMathInterface.c: (New file) Small 'glue' routines + adapting tommath's API to Tcl. + + * libtommath/bn_fast_s_mp_mul_digs.c: + * libtommath/bn_mp_mul_d.c: + * libtommath/bn_mp_read_radix.c: + * libtommath/tommath.h: Applied suggested changes from Tom St Denis + that correct an off-by-one error in single-digit multiplication + (leading to a pointer smash if uncorrected) and change the string + argument to 'mp_read_radix' from 'char*' to 'const char*'. + + * libtommath/bn_mp_radix_size.c: Local patch to ensure that sufficient + memory is requested even if the number has a single digit. + + * libtommath/bn_mp_read_radix.c: Local patch to return MP_VAL if the + input string contains an invalid character. + + * generic/tclObj.c: Added accessor functions for bignums. + * generic/tclTestObj.c: Added a 'testbignumobj' command to exercise the + accessor functions for bignums. + + * win/Makefile.in: Added rules for making libtommath. + +2005-01-19 Donal K. Fellows + + TIP#235 IMPLEMENTATION + + * doc/Ensemble.3: Documentation for the new public API. + * generic/tclNamesp.c (Tcl_CreateEnsemble,...): Rename of + * generic/tcl.decls: existing API into TIPped form. + +2005-01-19 Mo DeJong + + * win/tclWinChan.c (FileCloseProc): Invoke TclpCutFileChannel() to + remove a FileInfo from the thread local list before deallocating it. + This should have been done via an earlier call to Tcl_CutChannel, but I + was running into a crash in the next call to Tcl_CutChannel during the + I/O finalization stage. + +2005-01-18 Kevin Kenny + + * library/tzdata/GMT+0: + * library/tzdata/GMT-0: + * library/tzdata/GMT0: + * library/tzdata/Greenwich: + * library/tzdata/Navajo: + * library/tzdata/Universal: + * library/tzdata/Zulu: + * library/tzdata/America/Asuncion: + * library/tzdata/America/Rosario: + * library/tzdata/Asia/Jerusalem: + * library/tzdata/Brazil/Acre: + Routine update per Olson's tzdata2005c. Removed links to links + (Greenwich in several aliases; Navajo; Acre). Updated Paraguayan DST + rules and "best guess" at this year's Israeli rules. + +2005-01-17 Vince Darley + + * generic/tclFileName.c: fix for glob failure on Windows shares [Bug + 1100542]. + + * doc/pkgMkIndex.n: added documentation that 'pkg_mkIndex -lazy' is not + a good idea. [Bug 1101678] + +2005-01-14 Donal K. Fellows + + * tests/compile.test (compile-17.1): Document known issue with binding + time of compiled command interpretations in [expr]. + + * generic/tclIOUtil.c (TclFSFileAttrIndex): New helper function so that + we don't need to hard-code attribute indexes. [Bug 1100671] + +2005-01-13 Donal K. Fellows + + * doc/string.n: Removed the term 'set' from the documentation of the + [string trim] commands, as it caused confusion. + +2005-01-12 Donal K. Fellows + + * unix/tcl.m4 (SC_PATH_{TCL,TK}CONFIG): Added code to detect the case + when the --with-tcl/--with-tk arguments point to the config scripts + themselves and not their directory. If this is the case, they now + complain but keep working. [FRQ 951247] + * unix/configure: autoconf-2.57 + +2005-01-10 Joe English + + * unix/Makefile.in, unix/configure.in, unix/tcl.m4, + * unix/tclConfig.sh.in, unix/dltest/Makefile.in: + Remove ${DBGX}, ${TCL_DBGX} from Tcl build system [Patch 1081595]. + * unix/configure: regenerated + +2005-01-10 Donal K. Fellows + + * unix/tclUnixFCmd.c (TclUnixCopyFile): Convert u_int to unsigned to + make clashes with types in standard C headers less of a problem. [Bug + 1098829] + +2005-01-09 Joe English + + * unix/tclUnixThrd.c, unix/tclUnixPort.h: Remove readdir_r() and + related #ifdeffery (see [Bug 1095909]). + * unix/tcl.m4, unix/tclConfig.h.in: Don't check for HAVE_READDIR_R. + * unix/configure: Regenerated. + +2005-01-06 Donal K. Fellows + + * library/http/http.tcl (http::mapReply): Significant performance + enhancement by using [string map] instead of [regsub]/[subst], and + update version requirement to Tcl8.4. [Bug 1020491] + +2005-01-05 Donal K. Fellows + + * doc/lsearch.n, doc/re_syntax.n: Convert to other form of emacs mode + control comment to prevent problems with old versions of man. [Bug + 1085127] + +2005-01-05 Pat Thoyts + + * tests/winDde.test: Fixed broken test result. + +2005-01-05 Donal K. Fellows + + * generic/tclInt.h, generic/tclPort.h: Move the #include of tclConfig.h + *first* before any reference to tcl.h so that the build configuration + is loaded before the first reference to any system headers. Issue + reported by Art Haas on tcl-core. + +2005-01-04 Don Porter + + * tests/fCmd.test (fCmd-18.10): Added notNetworkFilesystem constraint. + [Bug 456665] + + ****************************************************************** + *** CHANGELOG ENTRIES FOR 2004 IN "ChangeLog.2004" *** + *** CHANGELOG ENTRIES FOR 2003 IN "ChangeLog.2003" *** + *** CHANGELOG ENTRIES FOR 2002 IN "ChangeLog.2002" *** + *** CHANGELOG ENTRIES FOR 2001 IN "ChangeLog.2001" *** + *** CHANGELOG ENTRIES FOR 2000 IN "ChangeLog.2000" *** + *** CHANGELOG ENTRIES FOR 1999 AND EARLIER IN "ChangeLog.1999" *** + ****************************************************************** diff --git a/generic/tclObj.c b/generic/tclObj.c index 3af1fac..44cccf0 100644 --- a/generic/tclObj.c +++ b/generic/tclObj.c @@ -13,11 +13,10 @@ * See the file "license.terms" for information on usage and redistribution of * this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclObj.c,v 1.122.2.5 2007/09/14 16:28:34 dgp Exp $ + * RCS: @(#) $Id: tclObj.c,v 1.122.2.6 2007/10/11 16:01:53 dgp Exp $ */ #include "tclInt.h" -#include "tclCompile.h" #include "tommath.h" #include -- cgit v0.12