From 6c0da771d8c1528fbf3dd40341b88bb1b9ad2491 Mon Sep 17 00:00:00 2001 From: kseitz Date: Tue, 24 Sep 2002 19:55:45 +0000 Subject: [PATCH] Initial revision --- tcl/ChangeLog.1999 | 2698 +++++++++++++++++++++++++++++++++++++ tcl/ChangeLog.2000 | 2583 ++++++++++++++++++++++++++++++++++++ tcl/ChangeLog.2001 | 3738 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 9019 insertions(+) create mode 100644 tcl/ChangeLog.1999 create mode 100644 tcl/ChangeLog.2000 create mode 100644 tcl/ChangeLog.2001 diff --git a/tcl/ChangeLog.1999 b/tcl/ChangeLog.1999 new file mode 100644 index 0000000000..a7483a0ef9 --- /dev/null +++ b/tcl/ChangeLog.1999 @@ -0,0 +1,2698 @@ +1999-12-22 Jeff Hobbs + + * changes: updated changes file + * tools/tclSplash.bmp: updated to show 8.3 + +1999-12-21 Jeff Hobbs + + * README: + * generic/tcl.h: + * mac/README: + * unix/configure.in: + * tools/tcl.wse.in: + * win/README.binary: + * win/configure.in: updated to patch level 8.3b1 + + * unix/Makefile.in: added -srcdir=... for 'make html' + + * 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 + + * doc/lsort.n: added -unique docs + * tests/cmdIL.test: + * generic/tclCmdIL.c: added -unique option to lsort + + * generic/tclThreadTest.c: changed thread ids to longs [Bug: 3902] + + * mac/tclMacOSA.c: fixed applescript for I18N [Bug: 3644] + + * win/mkd.bat: + * win/rmd.bat: removed necessity of tag.txt [Bug: 3874] + + * win/tclWinThrd.c: changed CreateThread to _beginthreadex and + ExitThread to _endthreadex + +1999-12-12 Jeff Hobbs + + * doc/glob.n: + * tests/fileName.test: + * generic/tclInt.decls: + * generic/tclInt.h: + * generic/tclIntDecls.h: + * generic/tclStubInit.c: + * generic/tclEncoding.c: + * generic/tclFileName.c: + * 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 + TclpMatchFilesTypes, extended TclGlob and TclDoGlob and added + 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/tclCmdMZ.c: + * generic/tclExecute.c: optimized INST_TRY_CVT_TO_NUMERIC to + recognize boolean objects. (Spjuth) [Bug: 2815] + + * 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] + + * 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] + +1999-12-09 Jeff Hobbs + + * win/aclocal.m4: made it just include tcl.m4 + + * doc/exec.n: + * doc/open.n: + * win/tclWin32Dll.c: + * win/tclWinChan.c: + * 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/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) + +1999-12-07 Jeff Hobbs + + * 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] + + * 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] + +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] + + * tests/env.test: removed knownBug limitation from working test + * tests/all.tcl: ensured that ::tcltest::testsDirectory would be + set to an absolute path + + * tests/expr-old.test: + * tests/parseExpr.test: + * tests/string.test: + * generic/tclGet.c: + * generic/tclInt.h: + * generic/tclObj.c: + * 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] + + * 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: + expr 1 + {[string length abc]} + 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 + expr 1 + {[mindless error]} + from seg faulting, and only affects optimizations for + degenerate cases [Bug: 3737] + +1999-12-01 Scott Redman + + * generic/tcl.decls : + * 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. + + * generic/tclEncoding.c: + * generic/tclEvent.c: Moved encoding-related startup code from + tclEvent.c into the more appropriate tclEncoding.c. + +1999-11-30 Jeff Hobbs + + * 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. + + * 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 + + * unix/tclUnixPipe.c: fixed PipeBlockModeProc to properly set + 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] + +1999-11-24 Jeff Hobbs + + * doc/open.n: + * win/tclWinSerial.c: adopted patch from Schroedter to handle + fconfigure $sock -lasterror on Windows. [RFE: 3368] + + * 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. + +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. + + * tools/tcl.wse.in: added tcltest1.0 library to distribution list + + * doc/http.n: + * library/http2.1/http.tcl: + * library/http2.1/pkgIndex.tcl: updated http package to 2.2 + +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 + + * 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/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] + + * doc/scan.n: + * tests/scan.test: + * 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] + + * 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] + + * 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] + +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. + +1999-11-09 Jeff Hobbs + + * doc/open.n: corrected docs for 'a' open mode. + + * generic/tclIOUtil.c: changed Tcl_Alloc to ckalloc + + * generic/tclInt.h: + * generic/tclObj.c: rolled back changes from 1999-10-29 + Purify noted new leaks with that code + + * 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 + + * 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 + +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 + + * generic/tclStringObj.c: fixed Tcl_AppendStringsToObjVA so it only + 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 + + * tests/incr.test: + * tests/set.test: + * 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 + * win/tclWinPort.h: added sys/utime.h to includes + * 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) + +1999-10-20 Jeff Hobbs + + * 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/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 + + * tests/string.test: + * 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] + +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. + + 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] + + 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. + + * tests/autoMkindex.test: + * 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/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. + +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] + +1999-10-12 Jeff Hobbs + + * generic/regc_color.c: + * generic/regc_cvec.c: + * generic/regc_lex.c: + * generic/regc_locale.c: + * generic/regcomp.c: + * generic/regcustom.h: + * generic/regerrs.h: + * generic/regex.h: + * generic/regexec.c: + * generic/regguts.h: + * 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. + + * 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) + * 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/tclUnixTest.c: fixed mem leak in findexecutable test command + +1999-10-05 Jeff Hobbs + + * {win,mac,unix,tools,}/README: + * win/README.binary: + * win/makefile.vc: + * {win,unix}/configure.in: + * generic/tcl.h: + * library/init.tcl: updated to 8.3a1 from 8.2.0. + + * 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. + + * generic/tclNamesp.c: + * generic/tclVar.c: + * generic/tclCmdIL.c: fixed comment typos + + * 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) + +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] + +1999-09-20 Jeff Hobbs + + * tests/env.test: + * 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] + +1999-09-16 Jeff Hobbs + + * 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] + + * 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] + +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] + + * tests/format.test: + * generic/tclCmdAH.c: fixed translation of %0#s in format [Bug: 2605] + + * 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] + + * 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] + +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] + + * doc/regexp.n: + * doc/regsub.n: + * tests/regexp.test: + * 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: 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) + +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) + +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. + * 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] + * unix/aclocal.m4: + * unix/tcl.m4: adjusted fix from 8-21 to add -bnoentry to the + AIX-* case and readjusted the range + +1999-08-31 Jennifer Hom + + * library/tcltest1.0/tcltest.tcl: + * doc/tcltest.n: + * tests/README: Modified testConstraints variable so that it isn't + unset every time ::tcltest::initConstraints is called and cleaned up + documentation in the README file and the man page. + +1999-08-27 Jennifer Hom + + * tests/env.test: + * tests/exec.test: + * tests/io.test: + * tests/event.test: + * tests/tcltest.test: Added 'exit' calls to scripts that the tests + 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. + +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. + +1999-08-23 Jennifer Hom + + * 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. + +1999-08-21 Jeff Hobbs + + * 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] + + * 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] + + * doc/interp.n: updated list of commands available in a safe + 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/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. + + * 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] + + * 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: + * library/ldAout.tcl: + * library/package.tcl: + * 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). + +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! + +1999-08-13 Scott Redman + + * /: 8.2.0 tagged for final release + +1999-08-12 Scott Stanton + + * 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] + +1999-08-12 Scott Redman + + * win/tclWinSerial.c: Applied patch from Petteri Kettunen to + remove compiler warning. + +1999-08-10 Scott Redman + + * generic/tclAlloc.c: + * generic/tclCmdIL.c: + * generic/tclIO.c: + * generic/tclThread.c: + * win/tclWinThrd.c: + * unix/tclUnixThrd.c: Fixed Brent's changes so that they work on + Windows (and he fixed the bug in the Unix thread implementation). + +1999-08-09 Brent Welch + + * generic/tcl.decls: + * generic/tclAlloc.c: + * generic/tclCkalloc.c: + * generic/tclCmdIL.c: + * generic/tclDecls.h: + * generic/tclIO.c: + * generic/tclInt.decls: + * generic/tclIntDecls.h: + * generic/tclStubInit.c: + * 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. + +1999-08-09 Jeff Hobbs + + * tests/string.test: added largest_int proc to adapt for >32 bit + 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/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] + +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] + +1999-08-04 Scott Stanton + + * tests/reg.test: Added test for REG_EXPECT bug fixed by Henry's + patch. + + * generic/regc_nfa.c: + * generic/regcomp.c: + * generic/rege_dfa.c: + * 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] + +1999-08-03 Scott Redman + + * win/tclWinInt.h: Remove function declarations in header that was + moved to tclInt.decls file in previous changes. + +1999-08-02 Scott Redman + + * unix/configure.in: + * win/configure.in: Change beta level to b2. + + * generic/tcl.h: + * generic/tcl.decls: + * generic/tclDecls.h: + * generic/tclInt.h: + * generic/tclInt.decls: + * 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. + +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. + +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). + +1999-07-30 Jeff Hobbs + + * generic/tclInt.decls: added declaractions necessary for the + Tcl test code to work wth stubs [Bug: 2445] + +1999-07-30 + + * 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/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] + + * tests/info.test: Enable test for tclParse.c change (info + complete). + +1999-07-30 + + * tclIO.c: added fix for Kupries' trf patch [Bug: 2386] + + * tclParse.c: fixed bug in info complete regarding nested square + brackets [Bug: 2382, 2466] + +1999-07-29 + + * 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] + + * unix/mkLinks.tcl: Applied patch to avoid linking pack.n to + 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] + + * win/tclWinSock.c: Free Win32 Event handles when destroying + the socket helper thread. + +1999-07-28 + + * 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. + +1999-07-27 + + * tools/tclSplash.bmp: Updated Windows installer bitmap + to ready Tcl/Tk Version 8.2. + +1999-07-26 + + * 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/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). + +1999-07-26 Jennifer Hom + + * tests/tcltest.test: + * library/tcltest1.0/tcltest.tcl: + * doc/tcltest.n: Cleaned up code in ::tcltest::PrintError, revised + documentation, and added tests for the tcltest package. + +1999-07-23 + + * 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] + +1999-07-22 + + * Changed version to 8.2b2. + + * 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/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] + + * 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] + +1999-07-21 + + * tests/info.test: + * 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). + + * unix/Makefile.in: Added the Windows configure script to the + distribution file list, already shipping configure.in and the .m4 + files, but needed the configure script itself. + + * win/makefile.vc: Changed version number of DDE package in VC++ + makefile to use 1.1 instead of 1.0. + + * doc/open.n: Added documentation of \\.\comX notation for opening + serial ports on Windows (alternative to comX:). + + * 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] + +1999-07-21 + + * README: Small tweaks to clean up typos and wording. + +1999-07-20 Melissa Hirschl + + * generic/tclInitScript.h: + * 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. + * unix/tclWinInit.c: just updated some comments. + +1999-07-19 Melissa Hirschl + + * library/http2.1/http.tcl: updated -useragent text to say version + 2.1. + +1999-07-16 + + * generic/tcl.decls: + * generic/tclDecls.h: + * 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. + + * tools/tcl.hpj.in: Change version number of .cnt file referenced + in .HPJ file. + +1999-07-15 + + * tools/tcl.wse.in: Fixed naming of target files for Windows. + +1999-07-14 + + * doc/re_syntax.n: Deleted sentence as suggested by Scott S. + +1999-07-12 + + * doc/re_syntax.n: Removed two notes to myself (oops), cleaned + up wording, fixed changebars, made two examples easier to read. + +1999-07-11 + + * 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 + version numbers in the makefile to reflect the change to 8.2b1. + +1999-07-09 + + * 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 + + * tests/string.test: + * 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. + +1999-07-08 + + * 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] + +1999-07-07 + + * doc/fconfigure.n: Clarified default buffering behavior for the + standard channels. [Bug: 2335] + +1999-07-06 + + * 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 + + * 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 + + * 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. + +1999-07-03 + + * generic/tclNotify.c: + * unix/tclUnixNotfy.c: + * 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. + +1999-07-03 + + * 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 + + * generic/tclCmdAH.c: + * generic/tclFCmd.c: Call TclStat instead of TclpStat in order to + allow Tcl_Stat hooks to work properly. + +1999-06-29 Jennifer Hom + + * 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. + +1999-06-28 + + * 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. + +1999-06-26 + + * 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 + + * unix/Makefile.in: + * win/Makefile.in: + * 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 + 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. + +1999-06-25 + + * tests/reg.test: + * generic/regexec.c: Fixed bugs in non-greedy quantifiers. + +1999-06-23 + + * doc/re_syntax.n: + * doc/switch.n: + * doc/lsearch.n: + * 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. + +1999-06-23 + + * unix/Makefile.in: Changed install-doc to install-man. + + * tools/uniParse.tcl: + * tools/uniClass.tcl: + * tools/README: + * tests/string.test: + * generic/regc_locale.c: + * 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" + definitions of character classes. + +1999-06-21 + + * unix/tclUnixThrd.c (TclpThreadCreate): Fixed memory leak where + thread attributes were not being released. [Bug: 2254] + +1999-06-17 + + * tests/regexp.test: + * generic/tclCmdMZ.c: + * 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. + + * 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/regcomp.c: lint + + * tests/reg.test: + * generic/regex.h: + * generic/regc_lex.c: Added REG_BOSONLY flag to allow Expect to + iterate through a string an only find matches that start at the + current position within the string. + +1999-06-16 + + * unix/configure.in: + * unix/Makefile.in: + * unix/tcl.m4: + * unix/aclocal.m4: Numerous build changes to make Tcl conform to the + proposed TEA spec + +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". + +1999-06-16 + + * 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] + +1999-06-14 Melissa Hirschl + + * doc/StringObj.3 + * test/stringObj.test + * unix/Makefile.in + * 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, + Tcl_AppendUnicodeToObj. + +1999-06-09 + + * 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/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/tclCmdMZ.c: + * tests/string.test: Fixed bug where string map failed on null + strings. + + * generic/regexec.c: + * unix/tclUnixNotfy.c: lint + + * tools/genStubs.tcl: Changed to always write output in LF mode. + +1999-06-08 + + * 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. + + * unix/Makefile.in: + * win/Makefile.in: + * win/Makefile.vc: + * tests/unicode.test: + * generic/tclInt.h: + * generic/tclObj.c: + * generic/tclUnicodeObj.c: added a new object type to store the + 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. + +1999-06-04 + + * 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. + +1999-06-03 + + * generic/tclCmdMZ.c (Tcl_StringObjCmd): + * tests/string.test: Fixed bug where string equal/compare -nocase + reported wrong result on null strings. [Bug: 2138] + +1999-06-02 + + * generic/tclUtf.c (Tcl_UtfNcasecmp): Fixed incorrect computation + of relative ordering. [Bug: 2135] + +1999-06-01 + + * unix/configure.in: Fixed various small configure.in patches + submitted by Jan Nijtmans. [Bug: 2121] + + * tests/reg.test: + * generic/regc_color.c: + * generic/regc_cvec.c: + * generic/regc_lex.c: + * generic/regc_locale.c: + * generic/regc_nfa.c: + * generic/regcomp.c: + * generic/regcustom.h: + * generic/rege_dfa.c: + * generic/regerror.c: + * generic/regerrs.h: + * generic/regex.h: + * generic/regexec.c: + * generic/regfree.c: + * generic/regfronts.c: + * generic/regguts.h: + * generic/tclCmdMZ.c: + * 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] + +1999-05-28 + + * generic/tclObj.c: Changed to eliminate use of isupper/tolower in + favor of the Unicode versions. + + * win/Makefile.in: + * 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] + +1999-05-26 + + * 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). + +1999-05-24 + + * tools/genStubs.tcl: Changed to allow a list of platforms instead + of just one at a time. + + * generic/tcl.decls: + * generic/tclCmdMZ.c: + * generic/tclDecls.h: + * generic/tclInt.decls: + * generic/tclIntDecls.h: + * generic/tclPort.h: + * generic/tclStubInit.c: + * generic/tclStubLib.c: Various header file related changes and other + lint to try to get the Mac builds working. + +1999-05-21 + + * 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 + + * 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 + + 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/tclUtil.c: + * doc/StrMatch.3: Added Tcl_StringCaseMatch() implementation to + support case-insensitive globbing. + + * 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. + +1999-05-19 + + * 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. + + * 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 + + * 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 + + * generic/tclCmdAH.c (Tcl_ForObjCmd): Fixed crash caused by + failure to reset the result before evaluating the test + expression. + +1999-05-14 + + * 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 + + * generic/tclDate.c: Applied patch to fix 100-year and 400-year + boundaries in leap year code, from Isaac Hollander. [Bug: 2066] + +1999-05-13 + + * 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] + + * 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 + + * doc/tclsh.1: Updated references to rc script names to accurately + reflect the platform differences on Windows. + + * tests/regexp.test: + * 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] + + * 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 + + * win/winDumpExts.c: + * 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] + + * generic/tclLoadNone.c: Updated to use current interfaces, added + TclpUnloadFile. [Bug: 2003] + + * win/winDumpExts.c: + * win/makefile.vc: Changed to emit library name in defs + file. [Bug: 1998] + + * unix/configure.in: Added fix for OS/390. [Bug: 1976] + +1999-05-06 + + * 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. + + * tests/http.test: Unset "data" array before running tests to + avoid failures due to previous tests. + + * doc/string.n: + * tests/cmdIL.test: + * tests/cmdMZ.test: + * tests/error.test: + * tests/ioCmd.test: + * tests/lindex.test: + * tests/linsert.test: + * tests/lrange.test: + * tests/lreplace.test: + * 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. + + * doc/Utf.3: + * generic/tclStubInit.c: + * generic/tclDecls.h: + * generic/tclUtf.c: + * generic/tcl.decls: Added Tcl_UtfNcmp and Tcl_UtfNcasecmp. + +1999-05-05 + + * win/makefile.vc: Added encoding directory to install-libraries + target. + +1999-05-03 + + * 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. + + * tests/cmdIL.test: + * tests/cmdMZ.test: + * tests/error.test: + * tests/lindex.test: + * tests/linsert.test: + * tests/lrange.test: + * 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] + + * tests/binary.test: + * generic/tclBinary.c (DupByteArrayInternalRep): Fixed bug where + type was not being set in duplicated object. [Bug: 1975, 2047] + +1999-04-30 + + * Changed version to 8.1.1. + +1999-04-30 + + * Merged changes from 8.1.0 branch: + + * generic/tclParse.c: Fixed memory leak in CommandComplete. + + * generic/tclPlatDecls.h: + * generic/tclIntPlatDecls.h: + * 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] + + * Lots of documentation and other release engineering fixes. + +1999-04-28 + + * mac/tclMacResource.c: + * 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. + +1999-04-27 + + * generic/tclLiteral.c (TclHideLiteral): Fixed so hidden literals + get duplicated to avoid accidental sharing in the global object + table. + +1999-04-23 + + * generic/tclStubInit.c: + * tools/genStubs.tcl: Changed to avoid the need for forward + declarations in stub initializers. + +1999-04-23 + + * library/encoding/koi8-r.enc: + * tools/encoding/koi8-r.txt: Added support for the koi8-r Cyrillic + encoding. [Bug: 1771] + +1999-04-22 + + * 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. + + * 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. + +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/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 + found used by tcl_findLibrary. + +1999-04-22 + + * 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. + +1999-04-15 + + * Merged 8.1 back into the main trunk + +1999-04-13 + + * library/encoding/gb2312.enc: + * library/encoding/euc-cn.enc: + * 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] + +1999-04-13 + + * 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 + + * 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 + + * 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/unixInit.test: Fixed race condition in test. + + * tests/unixInit.test: + * tests/fileName.test: Minor test nits. + + * unix/tclUnixInit.c (TclpSetInitialEncodings): Fixed bad initial + encoding string. + +1999-04-06 + + * 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: + * generic/tclWinInit.h: + * generic/tclUnixInit.h: + * 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] + +1999-04-05 + + * tests/io.test: Minor test cleanup. + + * 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] + + * unix/configure.in: Fixed BSD/OS 4.* configuration to support + shared libraries properly. [Bug: 1730] + +1999-04-05 + + * win/tclWinDde.c: decrease timeout value for DDE calls to 30k + [Bug: 1639] + + * generic/tcl.decls: + * generic/tcl.h: + * generic/tclDecls.h: + * generic/tclInt.decls: + * generic/tclInt.h: + * 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). + + * 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. + +1999-04-05 + + * 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] + + * tests/platform.test: + * tests/fileName.test: Fixed broken tests. + + * 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. + + * 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. + +1999-04-02 + + * 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. + +1999-04-02 + + * doc/dde.n: + * 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. + +1999-04-02 + + * tests/expr.test: + * tests/for-old.test: + * tests/for.test: + * tests/foreach.test: + * tests/format.test: + * tests/httpold.test: + * tests/if.test: + * tests/init.test: + * tests/interp.test: + * tests/while.test: Added some tests for known bugs (marked with + knownBug constraint), and cleaned up a few bad tests. + + * generic/regc_locale.c: + * generic/regcustom.h: + * generic/tcl.decls: + * generic/tclCmdIL.c: + * generic/tclCmdMZ.c: + * generic/tclInt.h: + * generic/tclRegexp.c: + * generic/tclScan.c: + * 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: + Tcl_UtfToUniCharDString, Tcl_UniCharToUtfDString, + Tcl_UniCharLen, Tcl_UniCharNcmp, Tcl_UniCharIsAlnum, + Tcl_UniCharIsAlpha, Tcl_UniCharIsDigit, Tcl_UniCharIsLower, + Tcl_UniCharIsSpace, Tcl_UniCharIsUpper, Tcl_UniCharIsWordChar + +1999-04-01 + + * tests/registry.test: + * 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] + + * generic/tclInt.h: Removed duplicate declarations. + + * generic/tclInt.decls: + * generic/tcl.decls: Added Tcl_WinUtfToTChar and Tcl_WinTCharToUtf + to the tclPlat table. + +1999-04-01 + + * generic/tcl.decls: + * generic/tcl.h: + * generic/tclBasic.c: + * generic/tclDecls.h: + * generic/StubInit.c: + * 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). + +1999-03-31 + + * 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 + + * 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] + + * 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. + + * 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] + +1999-03-29 + + * generic/tclFileName.c: + * generic/tclDecls.h: + * generic/tcl.decls: Added CONST to Tcl_JoinPath and + Tcl_TranslateFileName. + +1999-03-29 + + * tools/genStubs.tcl: + * unix/configure.in: + * unix/Makefile.in: + * win/makefile.vc: + * generic/tcl.h: + * generic/tclBasic.c: + * 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). + +1999-03-27 + + * win/makefile.bc: Removed makefile for Borland compiler, no + longer supported. + +1999-03-26 + + * 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. + +1999-03-26 + + * 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 + + * 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] + + * 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] + + * 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] + + * 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] + +1999-03-24 + + * 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] + +1999-03-24 + + * generic/tclAlloc.c: + * 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/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 + + * tools/tcl.wse: Fixed file association to look in the right place + for the wish icon. [Bug: 1544] + + * tests/winNotify.test: + * tests/ioCmd.test: + * tests/event.test: Changed to use new style conditionals. + + * tests/encoding.test: Fixed nonportable test. + + * unix/dltest/configure.in: + * 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/tclInt.h: + * generic/tcl.decls: Renamed TclpAlertNotifier back to + Tcl_AlertNotifier since it is part of the public notifier driver + API. + +1999-03-23 + + * 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. + +1999-03-22 + + * tests/reg.test: + * generic/regc_color.c: Applied regexp bug fix from Henry Spencer. + +1999-03-19 + + * 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 + compiler (not gcc). + +1999-03-18 + + * 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] + + * generic/tclInt.decls: + * generic/tcl.decls: Eliminated use of "string" and "list" from + 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. + +1999-03-17 + + * win/README.binary: + * win/README: + * unix/configure.in: + * generic/tcl.h: + * README: Updated version to 8.1b3. + +1999-03-14 + + * win/tclWinConsole.c: + * 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. + + * generic/tclIntDecls.h: + * generic/tclIntPlatDecls.h: + * generic/tclIntPlatStubs.c: + * generic/tclIntStubs.c: + * generic/tclPlatDecls.h: + * generic/tclPlatStubs.c: + * generic/tclStubInit.c: + * generic/tclStubs.c: Fixed bad eol characters. + + * 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. + +1999-03-11 + + * 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. + + * generic/tcl.h: Changed magic number so it doesn't match the plus + patch, at Jan's request. + + * unix/tclConfig.sh.in: + * unix/dltest/Makefile.in: + * unix/dltest/configure.in: + * unix/dltest/pkga.c: + * unix/dltest/pkgb.c: + * 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. + +1999-03-10 + + * 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. + + * mac/tclMacNotify.c: + * generic/tclNotify.c: + * generic/tclInt.h: + * 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. + + * 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/tcl.decls: Fixed declarations of reserved slots. + +1999-03-10 + + * generic/tclCompile.h: Ensure that the ByteCode struct is binary + 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). + +1999-03-09 + + * Integrated changes from Tcl 8.0 including: + stubs mechanism + configure patches from Jan Nijtmans + rename of panic to Tcl_Panic + +1999-03-08 + + * win/tclWin32Dll.c: Removed Dll instance from thread-local + storage. + +1999-03-08 + + * 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: + * generic/regcomp.c: + * generic/tclCmdIL.c: + * generic/tclCmdAH.c: + * generic/tclIOCmd.c: + * generic/tclParse.c: + * generic/tclStringObj.c: + * unix/tclUnixNotfy.c: Cleaned up various compiler warnings, + eliminated UCHAR bugs. + + * unix/tclUnixNotfy.c: + * unix/tclUnixThrd.c: + * generic/tclThreadTest.c: + * mac/tclMacThrd.c: Changed TclpCondition*() to Tcl_Condition*(). + + * INTEGRATED PATCHES FROM 8.0.6: + + * generic/tcl.decls: + * generic/tcl.h: + * generic/tclBasic.c: + * generic/tclDecls.h: + * generic/tclInt.decls: + * generic/tclInt.h: + * generic/tclIntDecls.h: + * generic/tclIntPlatDecls.h: + * generic/tclIntPlatStubs.c: + * generic/tclIntStubs.c: + * generic/tclPlatDecls.h: + * generic/tclPlatStubs.c: + * generic/tclStubInit.c: + * generic/tclStubLib.c: + * generic/tclStubs.c: + * tools/genStubs.tcl: + * unix/configure.in: + * 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. + + * unix/Makefile.in: + * unix/configure.in: + * unix/ldAix: Enhanced AIX shared library support. + + * 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. + + * doc/AddErrInfo.3: + * doc/Eval.3: + * doc/PkgRequire.3: + * doc/SetResult.3: + * doc/StringObj.3: + * generic/tcl.h: + * generic/tclBasic.c: + * 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. + + * doc/package.n: + * doc/PkgRequire.3: + * generic/tclPkg.c: Added Tcl_PkgProvideEx, Tcl_RequireEx, + 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. + + * generic/tclPanic.c: + * generic/panic.c: Renamed panic to Tcl_Panic. + +1999-02-25 + + * 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/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). + +1999-02-11 + + * README: + * generic/tcl.h: + * win/README.binary: + * win/README: + * unix/configure.in: + * mac/README: Updated version numbers to 8.1b2. + +1999-02-10 + + * 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. + +1999-02-10 + + INTEGRATED PATCHES FROM 8.0.5b2: + + * test/winPipe.test: Changed to remove echoArgs.tcl temporary file + when done. + + * 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] + + * 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/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] + + * 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] + + * 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: 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] + + * 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] + + * 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] + + * generic/tclIOCmd.c: + * 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] + + * 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] + + * win/tclWinReg.c: + * doc/registry.n: Added support for HKEY_PERFORMANCE_DATA and + 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] + +1999-02-01 + + * generic/tclBasic.c: + * generic/tclCmdAH.c: + * generic/tclCmdIL.c: + * generic/tclCmdMZ.c: + * generic/tclExecute.c: + * generic/tclHistory.c: + * generic/tclIO.c: + * generic/tclIOUtil.c: + * generic/tclInterp.c: + * generic/tclMain.c: + * generic/tclNamesp.c: + * generic/tclParse.c: + * 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. + +1999-01-28 + + * 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. + +1998-12-11 === Tcl 8.1b1 Release === + +1998-12-10 + + * Fixed lots of files that used TCL_THREAD instead of TCL_THREADS. + + * 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. + +1998-12-09 + + * 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] + +1998-12-08 + + * library/msgcat1.0/msgcat.tcl: changed mc to invoke mcunknown in + the calling context, changed locale lookups to be case insensitive + +1998-12-07 + + * 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] + + * tests/msgcat.test: Added message catalog test suite. + + * library/msgcat1.0/msgcat.tcl: minor bug fixes, integrated latest + changes from Mark Harrison. + +1998-12-04 + + * 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 + + * 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. + + * generic/tclUtil.c (Tcl_StringMatch): Changed to match 8.0 + behavior in corner case where there is no closing bracket. + +1998-12-02 + + * 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] + +1998-12-02 + + * Updated patchlevel to 8.1b1 + +1998-12-02 + + * 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. + +1998-12-02 + + * Merged changes from 8.0.4, especially the new pkg_mkIndex + +1998-12-01 + + * 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. + + * 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/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. + + * generic/tclCompCmds.c (TclCompileForeachCmd): Fixed code that + corrupted the exceptDepth value in the compile environment when + foreach failed to compile inline. [Bug: 884] + + * library/encoding/euc-kr.enc: + * library/encoding/ksc5601.enc: + * tools/encoding/ksc5601.txt: + * unix/tclUnixInit.c: Added support for Korean EUC. + + * win/tclWinChan.c (TclpGetDefaultStdChannel): added check for a + failure during Tcl_MakeFileChannel. + +1998-11-30 + + * 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] + + * 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] + + * 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] + +1998-11-23 + + * regexec.c: more performance tuning from Henry Spencer. + +1998-11-17 + + * 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] + +1998-11-06 + + * tclVar.c (TclGetIndexedScalar): Fixed bug 796, var name was + getting lost before being passed to CallTraces. + +1998-10-21 + + * added "encoding" command + + * Moved internal regexp declarations from tclInt.h to tclRegexp.h + + * integrated regexp updates from Henry Spencer + +1998-10-15 + + * tclUtf.c: added Unicode character table support + + * tclInt.h: added TclUniCharIsWordChar + + * tclCmdMZ.c (Tcl_StringObjCmd): added "totitle" subcommand, + changed "wordend" and "wordstart" to properly handle Unicode word + characters and connector punctuation + +1998-10-05 + + * auto.tcl, package.tcl: fixed SCCS strings + + * tclIndex: updated index to reflect 8.1 files + + * tclCompile.c (TclCompileScript): changed to avoid modifying the + input string in place because name lookup operations could have + arbitrary side effects + + * tclInterp.c: added guard against deleting current interpreter + + * tclMacFile.c, tclUnixFile.c, tclWinFile.c, tclFileName.c: added + warnings around code that modifies strings in place + + * tclExecute.c: fixed off-by-one copying error, fixed merge bugs + + * 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 + + * interp.test: added test for interp deleting itself + +1998-09-30 + + * makefile.vc: fixed so TCL_LIBRARY is set before running tcltest + + * tclWin32Dll.c: removed TclpFinalize, cleanup of merges + diff --git a/tcl/ChangeLog.2000 b/tcl/ChangeLog.2000 new file mode 100644 index 0000000000..70d491f627 --- /dev/null +++ b/tcl/ChangeLog.2000 @@ -0,0 +1,2583 @@ +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] + +2000-12-10 Don Porter + + * library/init.tcl: + * 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] + +2000-12-09 jeff hobbs + + * win/tclWinTime.c (CalibrationThread): added lint return value to + 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/tclExecute.c (TclExecuteByteCode): Commited patch fixing + handling of {!} in expressions. [Patch #102702] + +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] + +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. + +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 + +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] + +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] + + * 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. + + * 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): + * library/safe.tcl (AddSubDirs): [glob] uses -directory instead of + unsafe [file join] to fix 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... + + * 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 + + * 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... + +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. + + * 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. + +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 + +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. + + * 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. + +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. + +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. + +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. + +2000-11-03 David Gravereaux + + * 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): + * win/makefile.vc (install-libraries): + * win/Makefile.in (install-libraries): updated to install + unversioned library directories into versioned directories. + + * tools/tcl.wse.in: updated for unversioning of library dirs + + * unix/mkLinks: updated mkLinks with latest doc updates + + * doc/Tcl_Main.3: added docs for Tcl_SetMainLoop + + * 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.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. + +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] + +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. + + * win/makefile.vc: + * win/tcl.m4: makefile fixes for Win64 support + + * generic/tclIndexObj.c (Tcl_GetIndexFromObjStruct): minor cast + changes. + +2000-11-01 Jeff Hobbs + + * 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. + * generic/tclParse.c (Tcl_EvalEx): corrected handling of non-zero, + 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] + +2000-10-30 David Gravereaux + + * win/configure.in: + * win/Makefile.in: + * win/makefile.vc: + * win/tcl.rc: + * win/tclsh.rc: Added logic to derive filenames better in the resource + scripts based on compile options. + +2000-10-30 Jeff Hobbs + + * unix/tclUnixInit.c: added default encoding map from + "ja_JP.eucJP" to "euc-jp". (takahashi) + + * tests/clock.test: corrected clock-2.* test numbering + + * unix/configure.in (SC_TCL_LINK_LIBS): removed code that was + commented out (it had been moved to tcl.m4's SC_TCL_LINK_LIBS + already). + + * unix/tcl.m4: consolidated gettimeofday check for AIX. + +2000-10-27 Jeff Hobbs + + * 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. + + * unix/tclUnixChan.c: updated channel types to strict + 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. + +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. + +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). + +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] + +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. + + * 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. + +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] + +2000-10-06 Jeff Hobbs + + * tests/cmdAH.test: extra tests for 'file channels' that include + multiple interpreter tests and channel sharing + * generic/tclIO.c (Tcl_GetChannelNamesEx): corrected function (and + consequently 'file channels') to return channels that are actually + registered for this specific interp, rather than this thread. + + * doc/CrtChannel.3: fixed spelling mistakes + +2000-09-29 Jennifer Hom + + * 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. + +2000-09-29 Jeff Hobbs + + * win/tclWinSerial.c (SerialGetOptionProc): corrected reporting of + 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. + + * 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. + + * 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/fileName.test: cleaned up the testing of glob patterns for + c:/globTest (Windows) to directly create/remove directory. + +2000-09-27 Jeff Hobbs + + * 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. + (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] + + * doc/ChnlStack.3: + * doc/CrtChannel.3: + * generic/tcl.decls: + * generic/tcl.h: + * generic/tclDecls.h: + * generic/tclIO.c: + * generic/tclIO.h: + * generic/tclIOGT.c: + * generic/tclInt.decls: + * generic/tclIntDecls.h: + * generic/tclStubInit.c: + * generic/tclTest.c: + * tests/iogt.test: + * unix/Makefile.in: + * win/Makefile.in: + * win/makefile.vc: + * win/tclConfig.sh.in: + * win/tclWinChan.c: + * win/tclWinConsole.c: + * 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 + channel implementation, with a few config related fixes. + + Following is an asynchronous include of the applicable ChangeLog + entries from 8.3.2. + + ******************************************************** + ** START OF ASYNCHRONOUS UP-PORT LOG (8.3.2 -> 8.4a2) ** + ******************************************************** + +2000-08-07 Jeff Hobbs + + * doc/ChnlStack.3: + * 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. + +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/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. + + * 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, + Tcl_ChannelGetOptionProc, Tcl_ChannelWatchProc, + 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. + +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. + + * 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. + + * generic/tcl.decls: New public API 'Tcl_ChannelBuffered'. S.a. + +2000-07-17 Jeff Hobbs + + * unix/Makefile.in: + * win/Makefile.in: + * win/makefile.vc: added tclIOGT.c to objects list to compile. + + * generic/tclStubInit.c: + * 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 + 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. + +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). + + * win/tclWinChan.c: updated fileChannelType to v2 channel struct + * win/tclWinConsole.c: updated consoleChannelType to v2 channel struct + * win/tclWinPipe.c: updated pipeChannelType to v2 channel struct + * win/tclWinSerial.c: updated serialChannelType to v2 channel struct + * win/tclWinSock.c: updated tcpChannelType to v2 channel struct + +2000-07-11 Brent Welch + + * 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. + + * 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/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). + +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 :(. + + * 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). + + 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). + * 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. + +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. + +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. + + ****************************************************** + ** END OF ASYNCHRONOUS UP-PORT LOG (8.3.2 -> 8.4a2) ** + ****************************************************** + +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. + +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 + 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. + * 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. + + * 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. + + * unix/mkLinks: Added code to link to tcltest2.n. + + * generic/tcl.h: Added comment to modify tcltest2.tcl as well as + tcltest.tcl for version changes. + +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]. + +2000-09-19 David Gravereaux + + * 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. + +2000-09-17 Eric Melski + + * tests/cmdIL.test: Added a test for fix for [Bug: 6212]. + + * generic/tclCmdIL.c (Tcl_LsortObjCmd): Applied patch from [Bug: + 6212], which corrected an error in the handling of the -index option. + +2000-09-14 Eric Melski + + * 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/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. + + * 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 + AppendUnicodeToUnicodeRep, AppendUtfToUtfRep, and + Tcl_AppendStringsToObjVA to support this. + +2000-09-07 David Gravereaux + + * win/.cvsignore: changed the glob patterns a bit to exclude VC++ + 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] + +2000-09-07 Jeff Hobbs + + * doc/trace.n: minor doc cleanup + +2000-09-06 André Pönitz + + * doc/*.n: added or changed "SEE ALSO:" section + +2000-09-06 Jeff Hobbs + + * 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". + + * README: + * generic/tcl.h: + * library/tcltest1.0/tcltest.tcl: + * tools/tcl.wse.in: + * tools/tcltk-man2html.tcl: + * unix/configure.in: + * unix/tcl.spec: + * win/README.binary: + * win/configure.in: updated patchlevel to 8.4a2 + + * unix/tclUnixPipe.c (TclpCreateProcess): Removed WNOHANG from + Tcl_WaitPid call in error case of process creation on Unix, as it + would lead to defunct processes. [Bug: 6148] + + * tests/string.test: extended string repeat tests + * generic/tclCmdMZ.c (Tcl_StringObjCmd): changed STR_REPEAT to + preallocate the full space of the final string, avoided repeated + 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. + +2000-09-05 Jeff Hobbs + + * generic/tclHash.c: fixed pedantic warning of incorrectly placed + #endif + + * generic/tclExecute.c (TclExecuteByteCode): INST_STR_INDEX fixed + pedantic cast warning. + Corrected support for building with -DTCL_COMPILE_STATS. + Added efficiency check of object equality. + +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. + +2000-08-25 Eric Melski + + * tests/trace.test: Extended array tracing tests. + + * 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. + +2000-08-24 Eric Melski + + * doc/man.macros: Tweaked tab settings for .SO (Standard Options) + sections, based on suggestion from Peter Spjuth. + +2000-08-24 Mo DeJong + + * unix/README: Update to account for removal of --enable-gcc. + * 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. + +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]. + + * doc/trace.n: Updated documentation for new syntax; flagged old + 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. + + * generic/tclVar.c: Support for new trace syntax; support for + TCL_TRACE_ARRAY. + + * generic/tclStubInit.c: + * generic/tclDecls.h: + * generic/tcl.decls: Stub functions for command rename/delete traces. + + * generic/tcl.h: + * generic/tclInt.h: + * generic/tclBasic.c: Support for command traces. + + * 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). + +2000-08-20 Eric Melski + + * generic/tclVar.c: Added check for non-arrays for [array statistics] + command (patch from Mark Patton). + +2000-08-19 David Gravereaux + + * generic/tclPlatDecls.h: without a previous '#include ', + 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. + +2000-08-18 David Gravereaux + + * win/.cvsignore (added): provides a cleaner build environment with + graphical CVS clients. + +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]. + +2000-08-14 Eric Melski + + * 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]. + + * generic/tcl.h: Added #include "tclPlatDecls.h" to get + 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/...). + +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]. + +2000-08-10 Eric Melski + + * 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]. + +2000-08-10 David Gravereaux + + * 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/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. + +2000-07-25 David Gravereaux + + * doc/Async.3: + * generic/tclAsync.c: + * generic/tclInt.decls: + * generic/tclIntPlatDecls.h: + * generic/tclStubInit.c: + * 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] + +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]. + + * 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. + +2000-07-23 Joe English + * doc/AddErrInfo.3: + * doc/ChnlStack.3: + * doc/Exit.3: + * doc/GetIndex.3: + * doc/Notifier.3: + * doc/Object.3: + * doc/RegExp.3: + * doc/SetResult.3: + * doc/SplitList.3: + * doc/Thread.3: Added missing entries to NAME section. + + * doc/AddErrInfo.3: + * doc/CrtObjCmd.3: + * doc/RecEvalObj.3: Changed Tcl_EvalObj to Tcl_EvalObjEx + +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: + * doc/Hash.3: Reapplied patch from Paul Duffin to extend hash tables + to allow custom key types, such as Tcl_Obj *'s, and others. + + * doc/binary.n: Noted that the example in the introduction assumes a + 32-bit system [Bug: 6035]. + +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, + 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. + +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. + + * 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). + + * win/makefile.vc: Applied patch from Don Porter to provide better + nmake support for NT/Alpha [RFE: 5938]. + +2000-07-18 Mo DeJong + + * 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. + +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] + + +2000-07-18 Eric Melski + + * 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] + +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. + +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. + +2000-07-13 André Pönitz + + * doc/lappend.n: + * doc/lindex.n: + * doc/linsert.n: + * doc/list.n: + * doc/llength.n: + * doc/lrange.n: + * doc/lreplace.n: + * doc/lsearch.n: + * doc/lsort.n: Added SEE ALSO sections. + +2000-07-07 Mo DeJong + + * 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]. + +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. + +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]. + +2000-06-26 Eric Melski + + * doc/package.n: Corrected information about [package forget] + arguments [Bug: 5418]. + +2000-06-23 Eric Melski + + * 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. + +2000-06-20 Eric Melski + + * tests/opt.test: + * library/opt0.4/optparse.tcl: Applied patch from [Bug: 5922], which + corrected an incorrect use of [string match]. + + * unix/tclConfig.sh.in: + * win/tclConfig.sh.in: Applied patch from [Bug: 5921], which corrects a + typo in the comments in these files. + +2000-06-19 Eric Melski + + * doc/RegExp.3: Replaced instances of "Tcl_GetRegExpInfo" with + "Tcl_RegExpGetInfo", the correct name of the function [Bug: 5901]. + +2000-06-13 Eric Melski + + * win/tcl.m4: + * win/configure.in: + * 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. + +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. + +2000-05-31 Eric Melski + + * generic/tclVar.c (Tcl_ArrayObjCmd): Added support for regexp and + exact matching for [array names] command. [RFE: 3684]. + + * doc/array.n: Added documentation for [array names + -exact/-regexp/-glob] [RFE: 3684]. + + * tests/set-old.test: Added tests for [array names + -exact/-regexp/-glob] [RFE: 3684]. + +2000-06-06 Jeff Hobbs + + 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. + +2000-06-03 Jeff Hobbs + + * 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. + +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] + +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. + + * 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/tclInt.h: + * 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 + sizeof(Tcl_UniChar) multiplier. + + * tests/string.test: added string map tests for the one-pair case, + corrected tests to reflect improved error messages in first/last. + Added tests against mem overrun in string index bytearray case. + +2000-05-23 Eric Melski + + * 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/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. + + (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. + +2000-05-22 Jeff Hobbs + + * doc/scan.n: + * doc/array.n: minor doc fixes [Bug: 5396] + + * generic/tclEnv.c: cast cleanup [Bug: 5624] + * win/tclWinConsole.c: cast and header cleanup [Bug: 5625] + * win/tclWinSerial.c: cast cleanup [Bug: 5626] + * win/tclWinFCmd.c: cast cleanup [Bug: 5627] + +2000-05-19 Jeff Hobbs + + * generic/tclTest.c: + * generic/tclIO.c: moved channel test commands from tclIO.c to + tclTest.c. + * generic/tclIO.h: new file, split out from tclIO.c to allow test + commands to be moved to tclTest.c. + + * 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. + +2000-05-18 Eric Melski + + * tests/clock.test: Added test for "2 days 2 hours ago" style + specifications. + + * 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]. + +2000-05-18 Jeff Hobbs + + * win/{tcl.m4,Makefile.in,configure.in}: added support for mingw + compile env and cross-compiling. [Bug: 5499] + + * 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] + +2000-05-17 Jeff Hobbs + + * library/init.tcl (auto_import): added check to see if a valid + pattern was coming in, to avoid simple error cases [Bug: 3326] + + * doc/regsub.n: correct regsub docs [Bug: 5346] + +2000-05-15 Eric Melski + + * library/history.tcl: Corrected an off-by-one error in HistIndex, + which was causing [history redo] to start its search at the wrong + event index. [Bug: 1269]. + +2000-05-10 Jeff Hobbs + + * 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] + + * 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. + +2000-05-09 Andreas Kupries + operating as proxy for David Gravereaux + + * win/tclWinThrd.c (TclpInitLock, TclpMasterLock): Added missing + initialization of joinLock. + +2000-05-09 Eric Melski + + * tests/lsearch.test: + * doc/lsearch.n: + * generic/tclCmdIL.c (Tcl_LsearchObjCmd): Extended [lsearch] to + support sorted list searching and typed list searching. [RFE: 4098]. + +2000-05-08 Jeff Hobbs + + * doc/expr.n: + * 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/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/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. + + * generic/tclObj.c (Tcl_DuplicateObj): simplified code to call + TclInitStringRep, which the code was just duplicating in part. + + * doc/Utf.3: + * generic/tclStubInit.c: + * generic/tcl.decls: + * generic/tclDecls.h: + * generic/tclUtf.c: Added new functions Tcl_UniCharNcasecmp and + Tcl_UniCharCaseMatch (unicode parallel to Tcl_StringCaseMatch) + * generic/tclUtil.c: rewrote Tcl_StringCaseMatch algorithm for + optimization and made Tcl_StringMatch just call Tcl_StringCaseMatch + * tests/string.test: extended string match tests + +2000-05-08 Eric Melski + + * 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. + +2000-05-02 Jeff Hobbs + + * README: + * generic/tcl.h: + * library/init.tcl: + * library/reg1.0/pkgIndex.tcl: + * library/tcltest1.0/tcltest.tcl: + * mac/README: + * tools/tcl.hpj.in: + * tools/tcl.wse.in: + * unix/README: + * unix/configure.in: + * unix/tcl.spec: + * win/README: + * win/README.binary: + * win/configure.in: + * win/makefile.vc: + * win/tcl.m4: updated patchlevel to 8.4a1 + + * tests/compile.test: + * tests/init.test: + * tests/proc.test: + * tests/proc-old.test: + * tests/rename.test: + * generic/tclProc.c: reworked error return for procedures with + incorrect args to be like the C Tcl_WrongNumArgs, where a "wrong # + args: ..." message is printed out with the args list. + + * unix/Makefile.in: add tclsh.ico and tcl.spec to dist target + +2000-05-02 Andreas Kupries + + * 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. + + * 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). + + * 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). + + * unix/tclUnixThread.c: Implemented Tcl_JoinThread using the + 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. + + * 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. + + * 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). + + * 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. + + * 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'. + + * doc/CrtChannel.3: Added documentation for Tcl_IsChannelRegistered, + Tcl_IsChannelShared, Tcl_CutChannel, Tcl_SpliceChannel, + Tcl_IsChannelExisting and Tcl_ClearChannelHandlers. + + * doc/Thread.3: Added documentation for Tcl_JoinThread. + + * tests/thread.test: Added tests for joining of threads. + +2000-04-27 Eric Melski + + * doc/library.n: Added entries for auto_qualify and auto_import + [Bug: 1271]. + + * doc/Init.3: Manual entry for Tcl_Init [Bug: 1820]. + + * doc/expr.n: Added documentation for each of the math library + functions that expr supports [Bug: 1054]. + +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/TCL_MEM_DEBUG.3: Man page with overall information about + TCL_MEM_DEBUG usage. + + * doc/DumpActiveMemory.3: Man page for Tcl_DumpActiveMemory, + Tcl_InitMemory, and Tcl_ValidateAllMemory [Bug: 1816, 1835]. + + * generic/tclCkalloc.c: Fixed some function headers. + + * 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). + + * 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]. + +2000-04-26 Jeff Hobbs + + 8.3.1 RELEASE + + * README: + * mac/README: + * tools/tcl.wse.in: + * unix/README: + * unix/tcl.spec: + * win/README: + * win/README.binary: Updating URLs to reference dev.scriptics.com + +2000-04-25 Jeff Hobbs + + * unix/Makefile.in: + * win/Makefile.in: + * win/makefile.vc: updated for http change and some cleanup + * library/http2.[13]: moved dir http2.1 to http2.3 to match version + + * doc/Utf.3: clarified docs for Tcl_(UniChar|Utf)AtIndex + + * unix/tclUnixThrd.c: removed {}s around PTHREAD_MUTEX_INITIALIZER + [Bug: 5254] + + * unix/tclLoadDyld.c (TclpLoadFile): removed use of interp->result + +2000-04-25 Eric Melski + + * unix/mkLinks: + * doc/AddErrInfo.3: Added information about Tcl_LogCommandInfo + [Bug: 1818]. + +2000-04-24 Eric Melski + + * unix/mkLinks: + * doc/OpenFileChnl.3: Added man entry for Tcl_Ungets [Bug: 1834]. + + * unix/mkLinks: + * doc/SourceRCFile.3: Man page for Tcl_SourceRCFile [Bug: 1833]. + + * 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] + + * 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... + * 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 + experimenting with MacTCP. + +2000-04-22 Jim Ingham + + * library/package.tcl (tclPkgUnknown): Fixed a typo in the Mac package + search part of tclPkgUnknown. + +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). + +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. + +2000-04-20 Jeff Hobbs + + * generic/tclAlloc.c: wrapped caddr_t define to not be done on Unix + * unix/tclUnixPort.h: added Tclp*Alloc defines to allow the use of + USE_TCLALLOC on Unix. [Bug: 4731] + +2000-04-19 Jeff Hobbs + + * 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/Makefile.in: expanded cleanup target for help files + + * doc/Thread.3: minor macro cleanup + + * generic/tclFileName.c (SplitUnixPath): added support for QNX + node ids. + +2000-04-18 Jeff Hobbs + + * README: + * generic/tcl.h: + * tools/tcl.wse.in: + * unix/configure.in: + * unix/tcl.spec: + * win/configure.in: + * win/README.binary: bumped version to 8.3.1 + + * win/tcl.hpj.in: updated copyright date + + * generic/tclEnv.c: environment support for Mac OS/X + * unix/tclUnixPort.h: environment support for Mac OS/X + * unix/tclLoadDyld.c: new file for Mac OS/X dl functions + * 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] + + * generic/tclEvent.c (TclInitSubsystems): Moved tclLibraryPath to + thread-local storage to prevent thread-related race condition. + [Bug: 5033] + * unix/tclAppInit.c (main): removed #ifdef TCL_TEST that sets the + library path as it was unnecessary and conflicts with move of + tclLibraryPath to thread-local storage. + +2000-04-18 Scott Redman + + * 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. + +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. + +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] + + * doc/AppInit.3: + * doc/Async.3: + * doc/BackgdErr.3: + * doc/CrtChannel.3: + * doc/CrtInterp.3: + * doc/CrtMathFnc.3: + * doc/DString.3: + * doc/Eval.3: + * doc/ExprLong.3: + * doc/GetInt.3: + * doc/GetOpnFl.3: + * doc/Interp.3: + * doc/LinkVar.3: + * doc/OpenFileChnl.3: + * doc/OpenTcp.3: + * doc/PkgRequire.3: + * doc/RecordEval.3: + * doc/SetResult.3: + * doc/SplitList.3: + * doc/StaticPkg.3: + * doc/TraceVar.3: + * doc/Translate.3: + * doc/UpVar.3: + * doc/load.n: removed or updated references to interp->result use. + +2000-04-13 Jeff Hobbs + + * doc/regexp.n: doc clarification [Bug: 5037] + * doc/update.n: typo fix [Bug: 4996] + + * unix/tcl.m4 (SC_ENABLE_THREADS): enhanced the detection of + pthread_mutex_init [Bug: 4359] and (SC_CONFIG_CFLAGS) added + --enable-64bit-vis switch for Sparc VIS compilation [Bug: 4995] + +2000-04-12 Jeff Hobbs + + * doc/dde.n: corrected dde poke docs. [Bug: 4991] + +2000-04-11 Eric Melski + + * win/tclWinPipe.c: Added "CONST" keyword to declaration of char + *native in TclpCreateTempFile, to supress compiler warnings. + +2000-04-10 Brent Welch + + * 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 + +2000-04-10 Eric Melski + + * 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]. + + * tests/*.test: Changed all occurances of "namespace import + ::tcltest" to "namespace import -force ::tcltest" [Bug: 3948]. + +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. + +2000-04-09 Jeff Hobbs + + * tests/reg.test (matchexpected): corrected tests to use tcltest + constraint types to skip certain tests. + + * 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). + +2000-04-08 Andreas Kupries + + * Overall change: Definition of a public API for the creation of + 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. + + * 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. + + * win/tclWinThrd.c: + * mac/tclMacThrd.c: Renamed TclpThreadCreate to Tcl_CreateThread, + 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. + + * generic/tclThreadTest.c (line 363): See below. + + * 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). + + * 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] + + * 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. + +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: ??]. + +2000-03-04 Brent Welch + + * {win,unix}/Makefile.in: added dependency of tclStubInit.c on + tcl.decls and tclInt.decls + * generic/tclThread.c: Tweak so this compiles w/out TCL_THREADS + * generic/{tcl.decls,tclStubInit.c}: Just touched the tcl.decls and + regenerated the tclStubInit.c file + +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. + +2000-04-03 Andreas Kupries + + * 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. + + * 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/tclNotify.c: Changed usage of TclFinalizeMutex to + Tcl_MutexFinalize. + + * 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. + + * 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] + + * tests/foreach.test: + * tests/namespace.test: + * tests/var.test: Added lsorts to avoid random sorted return + problems. [Bug: 2682] + + * tests/fileName.test: fixed 14.1 test fragility [Bug: 1482] + + * tools/man2help2.tcl: fixed winhelp cross-linking error [Bug: 4156] + improved translation to winhelp [Bug: 3679] + + * unix/Makefile.in (MAN_INSTALL_DIR): patch to accept --mandir + correctly [Bug: 4085] + + * unix/dltest/pkg[a-e].c: Cleaned up test packages [Bug: 2293] + +2000-04-03 Eric Melski + + * 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]. + + * 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]. + (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.) + +2000-03-30 Jeff Hobbs + + * generic/tclBasic.c (Tcl_DeleteCommandFromToken): Added comments + noting the need to pair ckalloc with ckfree. [Bug: 4262] + + * generic/tclInt.decls: + * generic/tclIntPlatDecls.h: + * generic/tclStubInit.c: + * win/tclWin32Dll.c: removed TclWinSynchSpawn (vestige of Win32s + support). + + * win/tclWinReg.c: made use of TclWinGetPlatformId instead of + getting info again + + * win/tclWinPort.h: + * win/Makefile.in: + * win/configure.in: + * win/tcl.m4: Added support for gcc/mingw on Windows [Bug: 4234] + +2000-03-29 Jeff Hobbs + + * generic/tclCompile.c (TclCleanupByteCode): made ByteCode cleanup + more aware of TCL_BYTECODE_PRECOMPILED flagged structs (gen'd by + tbcload), to correctly clean them up. + + * generic/tclClock.c (FormatClock): moved check for empty format + earlier, commented 0 result return value + +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. + +2000-03-27 Jeff Hobbs + + * tests/httpd: removed unnecessary 'puts stderr "Post Dispatch"' + + * 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. + + * 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/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. + +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. + +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. + + * 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). + +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. + + * 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". + + * 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). + +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. + +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. + +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 + + * 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] + + * 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. + Previously it would fail to recognize 000000 as an ISO base. + +2000-02-14 Eric Melski + + * unix/Makefile.in: Added rpm target to generate Tcl binary RPM. + + * unix/tcl.spec: RPM specification file for a Tcl binary RPM for + Linux. + +2000-02-10 Jeff Hobbs + + 8.3.0 RELEASE + + * changes: updated for 8.3.0 release + + * 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 + + * 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] + + * 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 + 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... + + 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/tclGetDate.y (Message): Added a grammar rule for "next + monthname" so that we can handle "next january" and similar + constructs (bug #4146). + +2000-02-08 Jeff Hobbs + + * README: + * tools/tcl.wse.in: + * unix/configure.in: + * win/configure.in: + * win/README: + * win/README.binary: + * generic/tcl.h (TCL_RELEASE_SERIAL): Moved to 8.3.0 patchlevel + + * doc/library.n: + * library/auto.tcl: fixed crufty puts code and docs [Bug: 4122] + + * library/tcltest1.0/tcltest.tcl: correctly protected searchDirectory + list to allow dirnames with spaces + + * unix/tcl.m4: changed all -fpic to -fPIC + + * generic/tclDecls.h: + * generic/tcl.decls: change Tcl_GetOpenFile to use decl of 'int + forWriting' instead of 'int write' to avoid shadowing [Bug: 4121] + + * 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] + + * unix/README: fixed notes about --enable-shared and add note + about --disable-shared. + +2000-02-07 Eric Melski + + * 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 + 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 + +2000-02-01 Eric Melski + + * library/init.tcl: Applied patch from rfe 1734 regarding + auto_load errors not setting error message and errorInfo properly. + +2000-02-01 Jeff Hobbs + + * win/Makefile.in (install-*): reduced verbosity of install + + * generic/tclFileName.c (Tcl_JoinPath): improved support for special + QNX node id prefixes in pathnames [Bug: 4053] + + * library/http1.0/http.tcl: + * library/http2.1/http.tcl: The query data POSTed was newline + terminated when it shouldn't be altered [Bug: 4089] + +2000-01-31 Eric Melski + + * 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/auto.tcl: "Fixed" issues with $ in files to be auto indexed. + + * doc/Package.n: New man page for package::create function. + + * doc/pkgMkIndex.n: Added additional information. + + * doc/library.n: Added additional qualification regarding auto_mkindex. + +2000-01-28 Eric Melski + + * 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). + + * 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). + + * 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). + +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. + +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. + * 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: + * 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. + 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). + +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/info.n: Added further information about differences between + "namespace which" and "info exists". + + * doc/SetErrno.3: Added descriptions of ErrnoId() and ErrnoMsg() + functions. + +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] + + * 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/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] + + * doc/glob.n: clarified Mac path separator determination docs. + + * win/makefile.vc: added some support for building helpfile on Windows + +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] + + * 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] + + * 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] + and removed 'register' from stub definition of + Tcl_AppendUnicodeToObj [Bug: 4038] + +2000-01-21 Eric Melski + + * unix/mkLinks: + * doc/GetHostName.3: Man page for Tcl_GetHostName (bug #1817). + + * doc/lreplace.n: Corrected man page with respect to treatment of + empty lists, and "prettied up" the page. (bug #1705). + +2000-01-20 Eric Melski + + * tests/namespace.test: Added test for undefined variables with + namespace which (bug #956). + + * generic/tclNamesp.c: Added check for undefined variables in + NamespaceWhichCmd (bug #956). + + * 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). + + * 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). + +2000-01-20 Jeff Hobbs + + * 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 + + * unix/tclUnixNotfy.c (Tcl_InitNotifier): added cast for tsdPtr + + * tests/set.test: added test for complex array elem name compiling + * generic/tclCompCmds.c (TclCompileSetCmd): Fixed parsing of array + elements during compiling, and slightly optimised same [Bug: 3889] + + * doc/tclvars.n: added definitions for tcl_(non)wordchars + + * 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 + +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. + + * unix/tclUnixTime.c: New clock format format. + + * compat/strftime.c: New clock format format. + + * generic/tclGetDate.y: New clock scan format. + +2000-01-13 Jeff Hobbs + + * changes: updated changes file to reflect 8.3b2 mods + + * README: + * generic/tcl.h: + * tools/tcl.wse.in: + * unix/configure.in: + * unix/tcl.m4: + * win/README.binary: + * win/configure.in: updated to patchlevel 8.3b2 + + * generic/regexec.c: added var initialization to prevent compiler + warning + +2000-01-13 Eric Melski + + * 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. + +2000-01-12 Eric Melski + + * tests/clock.test: Added tests for "next " and + "" + Added tests for "monday 1 week ago", etc, from RFE #3671. + + * doc/tests/clock.test: Added numerous tests for clock scan. + + * 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. + +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] + + * generic/tclClock.c: fixed support for 64bit handling of clock + values [Bug: 1806] + + * generic/tclThreadTest.c: upped a buffer size to hold double + + * tests/info.test: + * generic/tclCmdIL.c: fixed 'info procs ::namesp::*' behavior (Dejong) + + * generic/tclNamesp.c: made imported commands also import their + compile proc [Bug: 2100] + + * 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 + 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] + +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/tclDate.c: Fixed compiler warning issues. + +2000-01-10 Jeff Hobbs + + * 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/tcl.h: noted need to change win/tcl.m4 and + tools/tclSplash.bmp for minor version changes + + * library/http2.1/http.tcl: trim value for $state(meta) key + + * unix/tclUnixFile.c: fixed signature style on functions + + * unix/Makefile.in: made sure tcl.m4 would be installed with dist + + * unix/tcl.m4: added ELF support for NetBSD [Bug: 3959] + +2000-01-10 Eric Melski + + * generic/tclGetDate.y: Added rules for ISO 8601 formats (BUG #847): + CCYY-MM-DD + CCYYMMDD + YY-MM-DD + YYMMDD + CCYYMMDDTHHMMSS + CCYYMMDD HHMMSS + CCYYMMDDTHH:MM:SS + Fixed "clock scan " to scan the number as an hour for the + current day, rather than a minute after 00:00 for the current day + (bug #2732). + +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). diff --git a/tcl/ChangeLog.2001 b/tcl/ChangeLog.2001 new file mode 100644 index 0000000000..2c8b4d7f2e --- /dev/null +++ b/tcl/ChangeLog.2001 @@ -0,0 +1,3738 @@ +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. + +2001-12-28 Don Porter + + * generic/tclCkalloc.c (MemoryCmd, TclFinalizeMemorySubsystem): + Added the [memory onexit] command, intended to replace [checkmem]. + + * doc/DumpActiveMemory.3: + * doc/memory.n: Updated documentation for [memory] and related + 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. + + * generic/tclBinary.c: + * generic/tclListObj.c: + * generic/tclObj.c: + * generic/tclStringObj.c: Removed references to [checkmem] in + comments, referencing [memory active] instead, since it is + documented. + +2001-12-28 Daniel Steffen + + * 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. + * mac/tclMacApplication.r: + * mac/tclMacLibrary.r: + * mac/tclMacOSA.r: + * mac/tclMacResource.r: minor version resources cleanup + +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] + +2001-12-21 Daniel Steffen + + * 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: 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] + +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). + +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] + +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. + +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. + +2001-12-19 Jeff Hobbs + + * 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/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/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/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. + +2001-12-17 Andreas Kupries + + * Applied #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. + +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... + +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. + +2001-12-12 Jeff Hobbs + + * doc/Preserve.3: doc'd TCL_DYNAMIC use. [Patch #483989] (porter) + +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. + +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: 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]. + +2001-12-10 Andreas Kupries + + * 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]. + +2001-12-10 Don Porter + + * doc/Access.3: + * doc/CrtChannel.3: + * doc/DString.3: + * doc/ExprLong.3: + * doc/FileSystem.3: + * doc/GetStdChan.3: + * doc/OpenFileChnl.3: + * doc/StdChannels.3: + * doc/TCL_MEM_DEBUG.3: + * doc/Tcl_Main.3: + * 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] + * unix/mkLinks: 'make mklinks' + +2001-12-10 Miguel Sofer + + * generic/tclCompCmds.c: + * generic/tclCompExpr.c: + * 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]. + +2001-12-07 Miguel Sofer + + * generic/tclVar.c: + * tests/trace.test: restored consistency in refCount accounting by + array traces [Bug #4484339], submitted by Don Porter. + +2001-12-06 Donal K. Fellows + + * tests/parseExpr.test, tests/for.test, tests/expr.test: + * tests/expr-old.test, tests/compile.test, tests/compExpr.test + * tests/compExpr-old.test: Kept up to date with syntax errors. + * 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. + +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]. + +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/while.test, tests/if.test: Rewrite to handle more specific + syntax errors. + * tests/parseExpr.test: Rewrite to get rid of dup test numbers and + handle more specific syntax errors. + * generic/tclParseExpr.c (LogSyntaxError): Added a detail message + 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. + +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. + +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. + +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 + +2001-11-29 Miguel Sofer + + * tests/namespace.test: modified namespace-41.2, added 41.3 + {knownbug} after discussion with Don Porter and Kevin Kenny. + +2001-11-29 Miguel Sofer + + * tests/namespace.test: added namespace-41.2, a simpler test for + [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. + +2001-11-28 Donal K. Fellows + + * doc/regsub.n, doc/regexp.n: Converted dangling references to + METASYNTAX section into references to the re_syntax manual page. + +2001-11-27 D. Richard Hipp + + * win/tclWinFCmd.c: Fix a coredump in the filename normalizer + code for Win95/98. + +2001-11-27 David Gravereaux + + * win/makefile.vc: Removed the Tk reference for the 'winhelp' target. + Converge at install will need to be the solution for Tk and all other + extensions. + +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.] + + * 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. + +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. + +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. + +2001-11-23 Daniel Steffen + + * unix/Makefile.in: + * unix/configure.in: + * unix/install-sh: + * unix/mkLinks: + * 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) + +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) + + * 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 + 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 + resource compiler (note that *.r files include tcl.h) + + * 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/tclMacInt.h: + * generic/tclInt.h: + * mac/tclMacTime.c: + * generic/tclIOUtil.c: moved declaration of TclpGetGMTOffset() + + * mac/tclMacShLib.exp: + * mac/tclMacOSA.exp: + * mac/tclMacMSLPrefix.h: removed files + + * unix/Makefile.in: removed reference to .exp files + + * mac/MW_TclBuildLibHeader.h: + * mac/MW_TclBuildLibHeader.pch: + * mac/MW_TclHeaderCommon.h: + * mac/MW_TclStaticHeader.h: + * mac/MW_TclStaticHeader.pch: new precompiled header files + + * mac/MW_TclAppleScriptHeader.pch: + * mac/MW_TclHeader.pch: + * mac/MW_TclTestHeader.pch: + * mac/tclMacCommonPch.h: revised precompiled header handling: now + include a common header file 'MW_TclHeaderCommon.h' from all .pch + files, the .pch files themselves now only setup #defines (e.g. + BUILD_tcl, STATIC_BUILD, TCL_DEBUG, TCL_THREADS) like in makefiles on + other platforms. + + * mac/tclMac.h: + * mac/tclMacPort.h: + * mac/tclMacInt.h: use of BUILD_tcl and TCL_STORAGE_CLASS like on other + platforms, standardize #include'd files to what's done on other + platforms, removed use of #pragma export. + + * mac/tcltkMacBuildSupport.sea.hqx: new archive of mac build support + 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. + included XML versions of the projects for CW Pro5 or Pro7 users. + + * mac/tclMacProjects.sea.hqx: updated mac build project files: + build support for CodeWarrior Pro6, UnivIntf 3.4 & shared runtime + libraries: the MSL libraries and MoreFiles are no longer compiled into + Tcl.shlb, all non-static binaries now use the Pro6 shared runtime + libraries and MoreFiles.shlb. These shlbs are merged into the standard + Wish and TclShell, but 3rd party applications linking with Tcl.shlb or + Tk.shlb need to setup access to them. (see the "(sh-ppc)" targets + for how to do this.) + included XML versions of the projects for CW Pro5 or Pro7 users. + use compat/strtod.c instead of MSL's strtod() + use WASTE versions of MSL for tcl test target to avoid text buffer + cutoff at 32k. + Merging the full MSL.shlb and the other shlbs into Wish & TclShell + makes them a bit larger than before, use unmerged binaries to avoid + copying the shared code with every application, e.g. when deploying + numerous Wish based droplets. + Note that using CW Pro5 to compile extensions is in principle still + possible, but need to link with Pro6 runtime libraries. + Tclapplescript now loads and runs on CFM68k. + 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. + 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 + 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 + uncarbonized code in Tcl.shlb and TclShell. + + * generic/tclMain.c: MAC_TCL: workaround for broken/non-standard isatty + on MW Pro6, #include instead of defining isatty + + * mac/tclMacPort.h: MW Pro6 changes for MSL fcntl.h, stat.h & isatty + + * mac/tclMacAppInit.c: add EXTERN to InstallConsole to enable DLL + export via the TCL_STORAGE_CLASS mechanism. + + * mac/tclMacFCmd.c: fix for FSpDirectoryCopy API change + + * mac/tclMacLibrary.c: emit compile time error when + TCL_REGISTER_LIBRARY and USE_TCL_STUBS are both defined at the same + time in an extension, this use is not currently supported and will + result in a crash when dynamically loading the extension. + + * mac/tclMacApplication.r: + * mac/tclMacLibrary.r: + * mac/tclMacOSA.r: + * mac/tclMacResource.r: fixed obsolete copyrights/dates in version + 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. + + * mac/tclMacChan.c: + * mac/tclMacSock.c: cast for *BlockMode + + * mac/tclMacUtil.c: + * mac/tclMacMath.h: removed obsolete hypot() definition + + * generic/tclIntPlatDecls.h: + * generic/tclInt.decls: + * generic/tclStubInit.c: + * mac/tclMacNotify.c: + * mac/tclMacOSA.c: + * mac/tclMacUtil.c: + * generic/tclThreadTest.c: renamed routines conflicting with standard + Apple or MoreFiles headers (at compile or link time): + GetGlobalMouse -> GetGlobalMouseTcl + FSpGetDirectoryID -> FSpGetDirectoryIDTcl + FSpOpenResFileCompat -> FSpOpenResFileCompatTcl + FSpCreateResFileCompat -> FSpCreateResFileCompatTcl + NewThread -> NewTestThread + the renamed MoreFiles *Tcl routines are just wrappers calling into the + MoreFiles DLL. + + * mac/tclMacCommonPch.h: + * mac/tclMacThrd.c: + * mac/tclMacPanic.c: removed OLDROUTINENAMES define, renamed obsolete + apple API names to modern equivalents; UH3.4 support: added #include + , updated New*Proc() calls to New*UPP(). + + * 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/tclMacTime.c: + * mac/tclMacPort.h: + * 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. + + * 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 + atime touch test + + * tests/appendComp.test: + * tests/cmdMZ.test: + * tests/compile.test: + * tests/exec.test: + * 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. + + * 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] + +2001-11-20 Kevin B. Kenny + + * doc/GetTime.3 (Tcl_GetTime): + * generic/tcl.decls (Tcl_GetTime): + * generic/tclClock.c (Tcl_ClockObjCmd): + * generic/tclCompile.c (TclCleanupByteCode, TclInitByteCodeObj): + * generic/tclCmdMZ.c (Tcl_TimeObjCmd): + * generic/tclUtil.c (TclpGetTime): + * generic/tclTest.c (GetTimesCmd): + * generic/tclTimer.c (Tcl_CreateTimerHandler, TimerSetupProc, + TimerCheckProc, TimerHandlerEventProc): + * mac/tclMacNotify.c (Tcl_SetTimer): + * mac/tclMacShLib.exp (Tcl_GetTime): + * mac/tclMacTime.c (Tcl_GetTime): + * unix/tclUnixChan.c (TclUnixWaitForFile): + * unix/tclUnixEvent.c (Tcl_Sleep): + * unix/tclUnixThrd.c (Tcl_ConditionWait): + * unix/tclUnixTime.c (Tcl_GetTime): + * 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] + + * 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] + + * generic/tclInt.decls: + * generic/tclInt.h: + * generic/tclStubInit.h: Reran 'make genstubs' + +2001-11-20 Miguel Sofer + + * generic/tclBasic.c + * 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. + +2001-11-20 Miguel Sofer + + * generic/tclBasic.c + * 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. + +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 + +2001-11-20 Miguel Sofer + + * generic/tclExecute.c: missing variable declaration under + 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). + +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) + + * 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 + + * win/buildall.vc.bat: Added useful comments. + +2001-11-19 Miguel Sofer + + * tests/compile.test: added a test for bug [Bug 483309] + +2001-11-19 Vince Darley + + * win/tclWinFile.c: + * 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. + +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, + Tcl_EvalObjv, Tcl_LogCommandInfo, Tcl_EvalTokensStandard, + Tcl_EvalTokens, Tcl_EvalEx, Tcl_Eval, Tcl_EvalObj and + 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... + + * 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. + + * doc/TraceVar.3: Added documentation for change due to TIP#68. + + * 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 + management subsystem. + (TclTraceCommandObjCmd, TraceCommandProc): Removed references to + errMsg field which was never used in command traces in any case. + (Tcl_TraceObjCmd, TclTraceVariableObjCmd): Removed references to + 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/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. + +2001-11-19 Miguel Sofer + + * generic/tclCompCmds.c: patch for [Bug 483309] (petasis). + +2001-11-16 Kevin B. Kenny + + * 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) + + * unix/tclUnixInit.c: added HAVE_LANGINFO code block. + * unix/configure: regened + * unix/configure.in: added SC_ENABLE_LANGINFO call + * 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) + +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. + +2001-11-16 Miguel Sofer + + * generic/tclBasic.c: + * generic/tclCompile.h: + * generic/tclExecute.c: + * 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] + +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. + +2001-10-17 Kevin B. Kenny + + * doc/lappend.n: + * doc/lindex.n: + * doc/linsert.n: + * doc/list.n: + * doc/llength.n: + * doc/lrange.n: + * doc/lsearch.n: + * doc/lset.n (new-file): + * doc/lsort.n: + * generic/tclBasic.c (builtInCmds, Tcl_EvalObjEx): + * generic/tclCmdIL.c (Tcl_LindexObjCmd, Tcl_LindexList): + (Tcl_LindexFlat, Tcl_LsetObjCmd): + * generic/tclCompCmds.c (Tcl_CompileLindexCmd, Tcl_CompileLsetCmd): + * generic/tclCompile.c: + * generic/tclCompile.h: + * generic/tclExecute.c (TclExecuteByteCode): + * generic/tclInt.decls: + * generic/tclInt.h: + * generic/tclIntDecls.h: + * generic/tclListObj.c (TclLsetList, TclLsetFlat, TclSetListElement): + * generic/tclObj.c (TclInitObjSubsystem): + * generic/tclStubInit.c: + * generic/tclTestObj.c (TestobjCmd): + * generic/tclUtil.c (TclGetIntForIndex, SetEndOffsetFromAny): + * generic/tclVar.c (Tcl_LappendObjCmd): + * tests/lindex.test: + * tests/lset.test (new-file): + * tests/lsetComp.test (new-file): + * 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) + +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. + +2001-11-12 Jeff Hobbs + + * doc/FileSystem.3: + * doc/file.n: + * doc/tcltest.n: converted use of \' to more reasonable format. + +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. + +2001-11-10 David Gravereaux + + * win/makefile.vc: Added a check to make sure one runs the makefile + from the /win directory only. + + * win/mkd.bat: + * win/rmd.bat: Changes from Llyod Lim for better stability. + [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. + + Sticky-points left: 'profile' option. + +2001-11-09 Jeff Hobbs + + * doc/FileSystem.3: + * doc/StdChannels.3: + * doc/file.n: + * doc/tcltest.n: + * tools/man2help.tcl: + * tools/man2help2.tcl: fixed winhelp generation problems + [Patch #480268] + + * unix/configure: + * unix/tcl.m4: added -lc to AIX libs, fixed path to ldAix + +2001-11-09 Don Porter + + * tests/var.test: + * 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] + + * unix/configure: Regen. + * 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] + + * 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. + +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. + +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/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 + 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] + +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] + + * unix/configure: Regen. + * unix/configure.in: Define TCL_INCLUDE_SPEC. + * unix/tclConfig.sh.in: Define TCL_INCLUDE_SPEC. + * win/configure: Regen. + * win/configure.in: Define TCL_INCLUDE_SPEC. + * win/tclConfig.sh.in: Define TCL_INCLUDE_SPEC. + +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. + +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/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. + +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. + +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: + + 1) winhelp target shows errors in the converting script. + 2) .rc scripts aren't getting the right #defines to build the correct + "OriginalFilename" strings. (have patch, won't commit yet) + 3) Naming convention with suffixes describing the buildtype are 'tsdx' + which will need public acceptance. ie. tclsh84tsx.exe is a (t) + threaded shell (s) statically linked to the core and (x) uses + msvcrt instead of libcmt. + +2001-11-04 Vince Darley + + * 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. + +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/tclWin32Dll.c + * 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] + +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] + +2001-10-22 Andreas Kupries + + * 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) + +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) + +2001-10-18 Vince Darley + + * 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) + +2001-10-16 Jeff Hobbs + + * 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 + + * 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". + + * 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 + + * generic/tclFileName.c: minor code cleanup + + * 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) + +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) + + * library/encoding/tis-620.enc: + * tools/encoding/tis-620.txt: TIS-620 charset mapping. + [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/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... + +2001-10-10 Don Porter + + * tests/unixInit.test: Corrected restore of ::env(LANG). + +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. + +2001-10-09 Miguel Sofer + + * 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) + +2001-10-04 Jeff Hobbs + + * tools/configure: + * tools/configure.in: noted 8.4 as default Tcl version + + * library/encoding/cp936.enc: + * library/encoding/cp949.enc: + * library/encoding/cp950.enc: + * library/encoding/iso8859-16.enc: + * library/encoding/macCroatian.enc: + * library/encoding/macCyrillic.enc: + * library/encoding/macGreek.enc: + * library/encoding/macIceland.enc: + * library/encoding/macRoman.enc: + * library/encoding/macTurkish.enc: + * tools/encoding/cp1250.txt: + * tools/encoding/cp1251.txt: + * tools/encoding/cp1252.txt: + * tools/encoding/cp1253.txt: + * tools/encoding/cp1254.txt: + * tools/encoding/cp1255.txt: + * tools/encoding/cp1256.txt: + * tools/encoding/cp1257.txt: + * tools/encoding/cp1258.txt: + * tools/encoding/cp874.txt: + * tools/encoding/cp932.txt: + * tools/encoding/cp936.txt: + * tools/encoding/cp949.txt: + * tools/encoding/cp950.txt: + * tools/encoding/iso8859-1.txt: + * tools/encoding/iso8859-10.txt: + * tools/encoding/iso8859-13.txt: + * tools/encoding/iso8859-14.txt: + * tools/encoding/iso8859-15.txt: + * tools/encoding/iso8859-16.txt: + * tools/encoding/iso8859-2.txt: + * tools/encoding/iso8859-3.txt: + * tools/encoding/iso8859-4.txt: + * tools/encoding/iso8859-5.txt: + * tools/encoding/iso8859-6.txt: + * tools/encoding/iso8859-7.txt: + * tools/encoding/iso8859-8.txt: + * tools/encoding/iso8859-9.txt: + * tools/encoding/koi8-r.txt: + * tools/encoding/macCentEuro.txt: + * tools/encoding/macCroatian.txt: + * tools/encoding/macCyrillic.txt: + * tools/encoding/macGreek.txt: + * 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. + +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. + +2001-10-01 Jeff Hobbs + + * win/configure: regen'ed + * win/tcl.m4: + * win/makefile.vc: added Win64 SDK RC1 compilation support + * win/Makefile.in: added $(LDFLAGS_CONSOLE) to TCLSH, TCLTEST and + PIPE_DLL_FILE targets to get the link flags + + * win/tclWinInit.c: minor 64bit casts + +2001-10-01 Miguel Sofer + + * 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. + +2001-09-29 Vince Darley + + * generic/tclIOUtil.c: + * 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] + +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. + +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] + * 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. + * generic/tclIO.c: added '(ClientData)' cast to calls to + Tcl_(Preserve|Release) newly introduced, fixing compile + error on Windows. + +2001-09-27 Don Porter + + * doc/FileSystem.3 (Tcl_FSLoadFile): + * generic/tcl.decls (Tcl_FSLoadFile): + * generic/tcl.h (Tcl_FSLoadFileProc): + * generic/tclInt.h (TclpLoadFile): + * generic/tclIOUtil.c (Tcl_FSLoadFile): + * generic/tclLoadNone.c (TclpLoadFile): + * generic/tclTest.c (TestReportLoadFile): + * library/ldAout.tcl: + * mac/tclMacLoad.c (TclpLoadFile): + * unix/tclLoadAix.c (TclpLoadFile): + * unix/tclLoadAout.c (TclpLoadFile): + * unix/tclLoadDl.c (TclpLoadFile): + * unix/tclLoadDld.c (TclpLoadFile): + * unix/tclLoadDyld.c (TclpLoadFile): + * unix/tclLoadNext.c (TclpLoadFile): + * unix/tclLoadOSF.c (TclpLoadFile): + * 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] + + * 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/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}): + * 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/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 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. + + * generic/tclDecls.h: make genstubs + +2001-09-25 Don Porter + + * doc/GetInt.3: + * 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/tclDecls.h: + * generic/tclIntDecls.h: make genstubs + +2001-09-25 Miguel Sofer + + * generic/tclVar.c: removed comments referring to unused flag + TCL_PARSE_PART1. + +2001-09-24 Don Porter + + * doc/Concat.3: + * doc/DString.3: + * doc/SplitList.3: + * generic/tclInt.h (TclCheckBadOctal): + * generic/tcl.decls: + * generic/tclInt.decls: + * 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] + + * 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'. + +2001-09-24 Donal K. Fellows + + * tools/encoding/cp1252.txt: File was missing part of the encoding + [euro, ZCaron and zcaron]. + + * 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. + +2001-09-20 Jeff Hobbs + + * win/tclWinInit.c: added extra processor definitions. (mstacy) + + * win/tclWinSock.c (SocketThread): corrected pointer cast for _WIN64. + + * win/tclWinNotify.c: removed unnecessary winsock include (it is + 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. + +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] + +2001-09-19 Jeff Hobbs + + * generic/tclTest.c (TestcmdtokenCmd): corrected pointer + 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) + + * unix/configure: regen'ed + * 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 + + * tests/winFCmd.test: simplified error check for winFCmd-7.9 + + * 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): + * generic/tclCompile.c (instructionTable): + * generic/tclCompCmds.c (TclCompileStringCmd): INST_STR_MATCH - + Updated to Int1 instruction type and added special case to use + INST_STR_EQ instead when no glob chars are specified in a static + string. + + * 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) + +2001-09-19 Miguel Sofer + + * 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. + + * 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. ] + +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. + +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] + +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. + +2001-09-17 Miguel Sofer + + * 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] + +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. + +2001-09-13 Andreas Kupries + + * win/Makefile.in: + * win/configure.in: + * 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. + +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] + + * 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] + + * ChangeLog.1999: + * ChangeLog: broke changes from 199x into ChangeLog.1999 to reduce + 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. + +2001-09-13 Miguel Sofer + + * 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 + evaluations; the deprecated function could only return TCL_OK or + 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] + +2001-09-12 Don Porter + + * tests/appendComp.test: + * 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] + +2001-09-12 Miguel Sofer + + * generic/tcl.decls: reserved stub #481 for the implementation of + [TIP 56] + +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]. + + * The changes below are a fix for [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. + + * 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) + + * tests/stack.test: + * generic/tclInterp.c (AliasObjCmd): Check the numLevels to ensure + 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] + +2001-09-10 Andreas Kupries + + * doc/tclsh.1: + * 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. + + * doc/StdChannels.3: New manpage describing handling of the + standard channels by the Tcl library [402725]. + +2001-09-10 Don Porter + + * 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] + + * generic/tclInitScript.h (initScript): + * win/tclWinInit.c (TCL_REGISTRY_KEY, TclpSetVariables): Removed + 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. + + * 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. + +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] + +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. + +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] + +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. + +2001-09-08 David Gravereaux + + * win/mkd.bat: + * 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] + +2001-09-08 Vince Darley + + * 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. + +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] + +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. + +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 . + + 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. + + * 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. + + (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. + + (TclWinOpenFileChannel): Added initialization of 'dirty' flag. + +2001-09-06 Jeff Hobbs + + * doc/http.n: noted -binary, charset and coding state keys. + * 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] + + * 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] + + * 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. + +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/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] + +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] + +2001-09-05 David Gravereaux + + * generic/tclPlatDecls.h: Another small trim finalizing Borland + 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/.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] + +2001-09-05 Vince Darley + + * 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 + 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/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); + + will have to be this with Borland: + + int __cdecl __export func (int a, int b); + + The order of the attribute needs to be after the return type. + +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] + +2001-09-04 Miguel Sofer + + * generic/tclProc.c: + * 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. + * 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/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/tcl.stubs: + * generic/tcl.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. + 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. + +2001-09-04 Miguel Sofer + + * 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. + +2001-09-03 Donal K. Fellows + + * 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] + + * 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] + +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. + + * 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] + +2001-08-30 Jeff Hobbs + + * generic/tclIndexObj.c: fixed some casting problems that upset + Crays. [Bug #419528] (andreasen) + +2001-08-30 Don Porter + + * generic/tcl.h: Silence warning from Sun compiler. [Bug 454374] + +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]. + +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...) + + * 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. + * mac/tclMacFCmd.c: wrapped long lines and cleaned up + 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. + * 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 '~'. + * 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 + TclFinalizeAsync() to tclAsync.c and called from Tcl_FinalizeThread(). + 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] + +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] + +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 + 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] + * doc/filename.n: documented windows path/file length limitation. + [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. + +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 + . + +2001-08-23 Jeff Hobbs + + * unix/configure: + * unix/tcl.m4: added QNX-6 build support. [Bug #219410] (loverso) + + * unix/tclUnixFCmd.c: + * generic/tclIOUtil.c: + * generic/tclFileName.c: corrected minor compiler warnings. + +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] + * 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. + 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. + 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. + * 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' + 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. + +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] + + * tests/format.test: Converted conditional execution of tests into + a test constraint. + +2001-08-22 Jeff Hobbs + + * win/Makefile.in: + * 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] + Updated dde to 1.2 + + * 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. + +2001-08-22 Don Porter + + * 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] + +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) + +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] + +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. + + * 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] + +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] + +2001-08-13 Miguel Sofer + + * 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. + +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. + +2001-08-10 Miguel Sofer + + * generic/tclVar.c: + * tests/trace.test: Insure that [array] traces work correctly for + undefined variables [Bug: 449094] + +2001-08-09 Mo DeJong + + * unix/Makefile.in: Delete the unused getcwd.o + target. This fixes bug #440942. + +2001-08-08 Don Porter + + * library/dde/pkgIndex.tcl: + * library/http/http.tcl: + * library/http/pkgIndex.tcl: + * library/msgcat/msgcat.tcl: + * library/msgcat/pkgIndex.tcl: + * library/opt/optparse.tcl: + * library/opt/pkgIndex.tcl: + * 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] + + * README: + * generic/tcl.h: + * tools/tcl.wse.in: + * unix/configure: + * unix/configure.in: + * 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]. + +2001-08-06 Jeff Hobbs + + 8.4a3 RELEASE + + * changes: + * README: + * mac/README: + * unix/README: + * win/README.binary: updated for 8.4a3 release + + * 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/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] + + * win/README: made note of URL for Windows compilation notes + + * 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) + The use of tmpnam in TclpTempFileName must still be changed. + + * tests/http.test (http-4.14): fixed variable error return. + [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. + * 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. + +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] + + * 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] + +2001-08-02 Jeff Hobbs + + * generic/tclIOUtil.c (Tcl_FSMatchInDirectory): corrected + uninitialized value. + +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. + +2001-08-01 Jeff Hobbs + + * unix/tclUnixFCmd.c: minor casts to eliminate warnings. (lim) + [Patch: #440218] + + * 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. + +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 + +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. + +2001-07-21 Don Porter + + * doc/pkgMkindex.n: + * 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. + * 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. + +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. + +2001-07-17 Mo DeJong + + * 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. + +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. + +2001-07-16 Mo DeJong + + * win/tclWinConsole.c: + * win/tclWinPipe.c: + * 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. + +2001-07-16 Jeff Hobbs + + * win/tclWinPipe.c (PipeClose2Proc): constrained the mutex lock to + 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] + +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! + + * 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. + * 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] + +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. + * 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. + +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. + +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] + +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/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. + +2001-07-04 Jeff Hobbs + + * README: + * mac/README: + * unix/README: + * win/README: + * win/README.binary: updated READMEs with purls + +2001-07-03 Mo DeJong + + * 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. + +2001-07-03 Jeff Hobbs + + * tests/var.test: + * generic/tclVar.c (Tcl_VariableObjCmd): added patch to check for + 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_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. + + * 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. + + * tests/append.test: + * tests/appendComp.test: added tests for read trace triggering for + append and lappend. + +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. + +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. + +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. + +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 + 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] + +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.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] + +2001-06-28 Miguel Sofer + + * 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... + +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. + + * 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/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] + +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] + +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. + +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/configure: Regen. + * win/configure.in: Don't subst VPSEP. + * win/tcl.m4 (SC_CONFIG_CFLAGS): Remove VPSEP variable. + +2001-06-26 Mo DeJong + + * unix/configure: Regen. + * 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. + * win/configure: Regen. + * win/configure.in: Ditto. + +2001-06-25 Mo DeJong + + * 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. + +2001-06-25 Mo DeJong + + * 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. + +2001-06-22 Mo DeJong + + * win/configure: Regen. + * win/configure.in: Add resource compiler fix from + 8.3.3 to fix compiling with mingw. + +2001-06-22 Mo DeJong + + * win/configure: Regen. + * win/tcl.m4: Fix silly typo in last checkin. + +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/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. + * 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. + +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. + +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! + + * 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] + +2001-06-16 Don Porter + + * generic/tclInt.decls: + * 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] + + * generic/tclIntPlatDecls.h: + * generic/tclStubInit.c: `make gentubs` after above changes. + +2001-06-13 Don Porter + + * mac/tclMacAppInit.c (main, Macintosh_Init): + * mac/tclMacBOAAppInit.c (main): + * mac/tclMacPanic.c: Applied patches from Dan Steffen correcting + problems on the Macintosh in the 2001-06-08 changes. + +2001-06-12 Donal K. Fellows + + * 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] + +2001-06-08 Don Porter + + * generic/tcl.h: + * generic/tcl.decls: + * generic/tclPanic.c: Added CONST to Tcl_*Panic* public interfaces. + [Patch 415648, TIP 27] + + * generic/tclInt.decls: + * 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] + + * generic/tclDecls.h: + * generic/tclIntPlatDecls.h: + * generic/tclStubInit.c: `make gentubs` after above changes. + + * doc/Panic.3: + * unix/mkLinks: New file documenting Tcl_*Panic* public interfaces, + 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] + +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: + * doc/info.n: Changes due to TIP #15 "Functions to List and Detail + Math Functions" + +2001-05-28 Jeff Hobbs + + * library/init.tcl (unknown): removed errant " in error message + +2001-05-27 Jeff Hobbs + + * 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. + + * 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/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 + the amount of parsing needed for searchIds. + + * 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 + +2001-05-23 Jeff Hobbs + + * tests/io.test: changed io-52.[9-11] to not be platform sensitive + with EOL translation. + + * library/encoding/cp1250.enc: + * library/encoding/cp1251.enc: + * library/encoding/cp1252.enc: + * library/encoding/cp1253.enc: + * library/encoding/cp1254.enc: + * library/encoding/cp1255.enc: + * library/encoding/cp1256.enc: + * library/encoding/cp1257.enc: + * library/encoding/cp1258.enc: + * library/encoding/cp874.enc: + * library/encoding/iso8859-6.enc: + * library/encoding/iso8859-7.enc: + * 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) + +2001-05-23 Mo DeJong + + * 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. + * 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. + +2001-05-22 Miguel Sofer + + * generic/tclExecute.c: removed Tcl_DuplicateObj in INST_DUP + +2001-05-21 Jeff Hobbs + + * tests/tcltest.test (tcltest-19.1): fixed failing test that was + 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] + + * 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/http.test: removed unused notLinux constraint setting + + * generic/tclRegexp.c (Tcl_RegExpExecObj): added use of + Tcl_GetUnicodeFromObj. + +2001-05-19 Andreas Kupries + + * Note that "tclbench" (see project "tcllib") was extended with + 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]. + + * 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) + + * 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). + * 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, + 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). + 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. + * 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 + TCL_APPEND_ELEMENT and TCL_LIST_ELEMENT as well. + * generic/tclInt.decls: + * generic/tclIntDecls.h: minor signature changes for above. + + * generic/tclCmdMZ.c: made use of new Tcl_GetUnicodeFromObj. + +2001-05-16 Donal K. Fellows + + * doc/console.n: Deleted. Put it in the wrong source tree! D'oh! + +2001-05-15 Jeff Hobbs + + * generic/tcl.decls: + * generic/tclDecls.h: + * generic/tclStubInit.c: + * 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. + + * tests/fileName.test: corrected tests not to fail on win when a + C:/test dir exists. + + * generic/tclFileName.c (ExtractWinRoot): corrected ABR error + +2001-05-15 Miguel Sofer + + * 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] + +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... + +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] + +2001-05-11 Mo DeJong + + * 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. + * 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@. + +2001-05-07 Miguel Sofer + + * generic/tclExecute.c: insure different rand() seeds in different + 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. + +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]. + +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] + +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. + +2001-04-27 Kevin Kenny + + * generic/tclInt.decls: + * generic/tclInt.h: + * generic/tclCmdIL.c: + * generic/tclProc.c: + * generic/tclVar.c: Added another collection of missing CONSTs + related to TclGetNamespaceForQualName. + * generic/tclIntDecls.h: Regenerated. + +2001-04-25 Mo DeJong + + * unix/configure: Regen. + * unix/tcl.m4: Subst TCL_THREADS into tclConfig.sh. + * unix/tclConfig.sh.in: Add TCL_THREADS variable. + * win/configure: Regen. + * win/tcl.m4: Subst TCL_THREADS into tclConfig.sh. + * win/tclConfig.sh.in: Add TCL_THREADS variable. + +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. + +2001-04-25 Mo DeJong + + * unix/Makefile.in: Use TCL_STUB_LIB_FILE instead of STUB_LIB_FILE. + * unix/configure: Regen. + * unix/configure.in: Don't subst STUB_LIB_FILE, use TCL_STUB_LIB_FILE + instead. + +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... + + * 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. + + * generic/tclNamesp.c: + * 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: + * doc/CrtObjCmd.3: + * doc/ExprLong.3: + * generic/tclBasic.c: + * generic/tclCmdMZ.c: + * doc/CrtSlave.3: + * generic/tclNamesp.c: + * generic/tcl.decls: + * 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. + +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 + 'localtime' that broke the Linux build. + +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] + +2001-04-09 Kevin B. Kenny + + * 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] + +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!] + +2001-04-07 Miguel Sofer + + * 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) + * 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/mkLinks: Updated to include the new manpage. + + * doc/UniCharIsAlpha.3: New manpage documenting the Unicode + 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]. + + * 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]. + +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] + +2001-04-06 Donal K. Fellows + + * doc/read.n: Added section on "USE WITH SERIAL PORTS" to resolve + [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] + * generic/tclUtf.c (Tcl_UtfNcmp): Corrected seriously erroneous + comment. + +2001-04-05 Andreas Kupries + + * 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] + +2001-04-04 Don Porter + + * generic/tclMain.c: Patch from Kevin Kenny to restore support of + 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/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] + +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. + +2001-04-04 Kevin Kenny + + * doc/ByteArrObj.3: + * doc/DumpActiveMemory.3: + * doc/InitStubs.3: + * doc/PkgRequire.3: + * doc/StringObj.3: + * generic/tcl.decls: + * generic/tcl.h: + * generic/tclBinary.c: + * generic/tclCkalloc.c: + * generic/tclDecls.h: + * generic/tclListObj.c: + * 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] + +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] + +2001-04-03 Andreas Kupries + + * unix/mkLinks: Added 'Signal.3', 'Tcl_WaitPid'. + + * 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]. + +2001-04-02 Jeff Hobbs + + * README: + * win/README: + * win/README.binary: further notes corrections. + + * win/configure: + * win/tcl.m4 (SHLIB_LD): added -incremental:no. [Bug #219381] + +2001-04-01 Jeff Hobbs + + * README: + * mac/README: + * win/README: + * win/README.binary: + * unix/README: updated patchlevel information to 8.4a3 and + updated links and notes. + + * generic/tcl.h: + * tools/tcl.wse.in: + * win/configure.in (VER): + * win/configure: + * unix/configure: + * unix/configure.in (VER): + * unix/tcl.spec: updated patchlevel information to 8.4a3 + +2001-03-30 Jeff Hobbs + + * 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/tclThreadTest.c (Tcl_ThreadObjCmd): cast fixes + * 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] + + * win/tcl.m4: added imm32.lib to LIBS_GUI for Tk IME support. + + * win/Makefile.in (install-libraries): removed extra \s that broke + the target. + (install-doc): improved install-* targets to use their base build + dependency. + +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. + + * 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. + + 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_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/tclTest.c (TestChannelCmd, lines 4520-4532): Added + 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. + +2001-03-29 Jeff Hobbs + + * doc/tcltest.n: corrected incorrect macro usage. + + * doc/lsort.n: corrected unbalanced nroff macros. + + * unix/tclUnixPipe.c (TclpCreateTempFile): prevent potential race + condition and security leak in tmp filename creation. + (max) [Patch #402924] + + * unix/configure: + * unix/tcl.m4: corrected IRIX-5.x config to not use -n32. + (english) [Patch #403626] + + * 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] + +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] + +2001-03-27 Jeff Hobbs + + * 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. + +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'. + +2001-03-26 Donal K. Fellows + + * win/tclWinInt.h (tclWinTCharEncoding): Removed as now a static + variable in win/tclWin32Dll.c instead. + +2001-03-23 Jeff Hobbs + + * 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] + +2001-03-15 Donal K. Fellows + + * tests/set-old.test (set-old-7.2): Changed error behaviour of + [unset] to agree with documentation, so must change test as well. + +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] + +2001-03-13 Donal K. Fellows + + * 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] + + * 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 + apparently needed on some architectures. + +2001-03-12 Donal K. Fellows + + * tests/string.test: Fixed some test numberings and added a test. + [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] + +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] + +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 + +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). + +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] + +2001-01-31 Don Porter + + * 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] + +2001-01-18 Andreas Kupries + + * 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 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. + + * doc/Hash.3: + * unix/mkLinks: Changed 'Tcl_InitHashTableEx' to + '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 + +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] + + ****************************************************************** + *** CHANGELOG ENTRIES FOR 2000 IN "ChangeLog.2000" *** + *** CHANGELOG ENTRIES FOR 1999 AND EARLIER IN "ChangeLog.1999" *** + ****************************************************************** -- 2.11.0