diff -r 000000000000 -r bde4ae8d615e os/persistentdata/persistentstorage/sqlite3api/TEST/TCL/tcldistribution/ChangeLog --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/os/persistentdata/persistentstorage/sqlite3api/TEST/TCL/tcldistribution/ChangeLog Fri Jun 15 03:10:57 2012 +0200 @@ -0,0 +1,10282 @@ +2007-05-24 Don Porter + + *** 8.4.15 TAGGED FOR RELEASE *** + + * generic/tclIO.c: Backport memleak fix in TclFinalizeIOSubsystem. + +2007-05-17 Don Porter + + * tests/fCmd.test: Backport the notNetworkFilesystem constraint. + +2007-05-15 Don Porter + + * generic/tclNamesp.c: Plugged memory leak related to + [namespace delete ::]. [Bug 1716782] + + * changes: updates for 8.4.15 release. + + * win/tclWinReg.c: Bump to registry 1.1.5 to account + * library/reg/pkgIndex.tcl: for [1682211] bug fix. + +2007-05-10 Don Porter + + * generic/tclInt.h: TclFinalizeThreadAlloc() is always defined, + so make sure it is also always declared. + + [Tcl Bug 1706140] + + * generic/tclCmdMZ.c (Trace*Proc): Update Tcl_VarTraceProcs so + * generic/tclLink.c (LinkTraceProc): that they call + * generic/tclUtil.c (TclPrecTraceProc): Tcl_InterpDeleted() for + themselves, and do not rely on (frequently buggy) setting of the + TCL_INTERP_DESTROYED flag by the trace core. + + * generic/tclVar.c: Update callers of CallVarTraces to not + pass in the TCL_INTERP_DESTROYED flag. Also apply filters so that + public routines only pass documented flag values down to lower level + routines. + + * generic/tclVar.c (CallVarTraces): The setting of the + TCL_INTERP_DESTROYED flag is now done entirely within the + CallVarTraces routine, the only place it can be done right. + +2007-04-30 Daniel Steffen + + * unix/Makefile.in: add 'tclsh' dependency to install targets that rely + on tclsh, fixes parallel 'make install' from empty build dir. + +2007-04-29 Daniel Steffen + + * unix/tclUnixFCmd.c: add workaround for crashing bug in fts_open() + * unix/tclUnixInit.c: without FTS_NOSTAT on 64bit Darwin 8 or earlier. + + * unix/tclLoadDyld.c (TclpLoadMemory): fix (void*) arithmetic. + + * macosx/tclMacOSXNotify.c: fix warnings. + + * macosx/README: sync whitespace/formatting with HEAD. + * macosx/tclMacOSXBundle.c: + * macosx/tclMacOSXNotify.c: + * unix/tclLoadDyld.c: + + * macosx/Makefile: fix/add copyright and license refs. + * macosx/tclMacOSXBundle.c: + * macosx/Tcl-Info.plist.in: + + * unix/Makefile.in (dist): copy license.terms to dist macosx dir. + * unix/configure.in: install license.terms into Tcl.framework. + * unix/configure: autoconf-2.13 + +2007-04-21 Kevin B. Kenny + + * generic/tclClock.c: Restored Cygwin buildability [Bug 1387154] + * generic/tclInt.decls: Yet another round of attempting + * generic/tclInt.h: to get the correct type signature + * unix/tclUnixPort.h: for TclpLocaltime and TclpGmtime. + * unix/tclUnixTime.c: CONST TclpTime_t is a 'time_t *CONST' + * win/tclWinTime.c: and not a 'CONST time_t*' [Bug 1677275] + * generic/tclIntDecls.h: + * generic/tclIntPlatDecls.h: Regenerated. + +2007-03-24 Zoran Vasiljevic + + * win/tclWinThrd.c: Thread exit handler marks the current + thread as un-initialized. This allows exit handlers that + are registered later to re-initialize this subsystem in + case they need to use some sync primitives (cond variables) + from this file again. + +2007-03-19 Don Porter + + * generic/tclEvent.c (Tcl_CreateThread): Replaced some calls to + * generic/tclPkg.c (CheckVersion): Tcl_Alloc() with calls to + * unix/tclUnixTime.c (SetTZIfNecessary): ckalloc(), which better + * win/tclAppInit.c (setargv): supports memory debugging. + +2007-03-17 Kevin Kenny + + * win/tclWinReg.c (GetKeyNames): Size the buffer for enumerating + key names correctly, so that Unicode names exceeding 127 chars + can be retrieved without crashing. [Bug 1682211] + * tests/registry.test (registry-4.9): Added test case for the + above bug. + +2007-03-13 Don Porter + + * generic/tclExecute.c (INST_FOREACH_STEP4): Re-fetch pointers for + * tests/foreach.test (foreach-10.1): the value list each iteration + of the loop as defense against shimmers. [Bug 1671087] + + * generic/tclVar.c (TclArraySet): Re-fetch pointers for the list + * tests/var.test (var-17.1): argument of [array set] each time + through the loop as defense against possible shimmer issues. + [Bug 1669489]. + +2007-03-10 Donal K. Fellows + + * generic/tclCmdIL.c (Tcl_LsortObjCmd): Handle tricky case with loss + * tests/cmdIL.test (cmdIL-1.29):of list rep during sorting due + to shimmering. [Bug 1675116] + +2007-03-07 Daniel Steffen + + * macosx/tclMacOSXNotify.c: add spinlock debugging and sanity checks. + + * unix/tcl.m4 (Darwin): s/CFLAGS/CPPFLAGS/ in macosx-version-min check. + * unix/configure: autoconf-2.13 + +2007-03-01 Donal K. Fellows + + * generic/tclCompCmds.c (TclCompileForeachCmd): Prevent an unexpected + * tests/foreach.test (foreach-9.1): infinite loop when the + variable list is empty and the foreach is compiled. [Bug 1671138] + +2007-02-22 Andreas Kupries + + * tests/pkg.test: Added tests for the case of an alpha package + satisfying a require for the regular package, demonstrating a + corner case specified in TIP#280. More notes in the comments to + the test. + +2007-02-20 Don Porter + + * doc/tcltest.n: Typo fix. [Bug 1663539] + +2007-02-19 Jeff Hobbs + + * generic/tclIOUtil.c (Tcl_FSEvalFile): safe incr of objPtr ref. + + * unix/tcl.m4: use SHLIB_SUFFIX=".so" on HP-UX ia64 arch. + * unix/configure: autoconf-2.13 + +2007-02-12 Andreas Kupries + + * generic/tclEncoding.c (EscapeFromUtfProc): Applied patch + supplied by Mo DeJong to fix [Bug 1516109]. Backport from Tcl + 8.5. Mo's description: Clear the TCL_ENCODING_END flag when end + bytes are written. This fix keep this method from writing escape + bytes for an encoding like iso2022-jp multiple times when the + escape byte overlap with the end of the IO buffer. + * tests/io.test: Add test case for escape byte overlap case. + +2007-02-04 Daniel Steffen + + * unix/configure.in: add caching to -pipe check. + * unix/configure: autoconf-2.13 + +2007-01-30 Jeff Hobbs + + * win/Makefile.in (install-private-headers): added target + +2007-01-29 Don Porter + + * doc/fcopy.n: Typo fix. [Bug 1630627] + +2007-01-25 Daniel Steffen + + * unix/tcl.m4: integrate CPPFLAGS into CFLAGS as late as possible + * unix/configure.in: and move (rather than duplicate) -isysroot flags + from CFLAGS to CPPFLAGS to avoid errors about multiple -isysroot flags + from some older gcc builds. + + * unix/configure: autoconf-2.13 + +2007-01-22 Andreas Kupries + + * compat/memcmp.c (memcmp): Fixed the VOID / CONST typo introduced + by the last checkin. + +2007-01-22 Donal K. Fellows + + * compat/memcmp.c (memcmp): Reworked so that arithmetic is never + performed upon void pointers, since that is illegal. [Bug 1631017] + +2006-01-19 Daniel Steffen + + * macosx/tclMacOSXNotify.c: accommodate changes to prototypes of + OSSpinLock(Un)Lock API. + + * tests/env.test: add extra system env vars that need to be preserved + on some Mac OS X versions for testsuite to work. + + * unix/tcl.m4: ensure CPPFLAGS env var is used when set. [Bug 1586861] + (Darwin): add -isysroot and -mmacosx-version-min flags to CPPFLAGS when + present in CFLAGS to avoid discrepancies between what headers configure + sees during preprocessing tests and compiling tests. + + * unix/configure: autoconf-2.13 + +2006-12-19 Daniel Steffen + + * unix/tclUnixThrd.c (TclpInetNtoa): fix for 64 bit. + + * unix/tcl.m4 (Darwin): --enable-64bit: verify linking with 64bit -arch + flag succeeds before enabling 64bit build. + * unix/configure: autoconf-2.13 + +2006-12-14 Donal K. Fellows + + * doc/string.n: Fix example. [Bug 1615277] + +2006-12-05 Andreas Kupries + + * tests/pkg.test: Backport to 8.4 (Don Porter's work): + * generic/tclPkg.c: When no requirements are supplied to a [package + require $pkg] and [package unknown] is invoked to find a satisfying + package, pass the requirement argument "0-" (which means all versions + are acceptable). This permits a registered [package unknown] command + to call [package vsatisfies $testVersion {*}$args] without any special + handling of the empty $args case. This fixes/avoids a bug in + [::tcl::tm::UnknownHandler] that was causing old TM versions to be + provided in preference to newer TM versions. Thanks to Julian Noble + for discovering the issue. + +2006-12-04 Donal K. Fellows + + * doc/file.n: Fix confusing wording for [file pathtype]. [Bug 1606454] + +2006-11-28 Andreas Kupries + + * generic/tclBasic.c: TIP #280 implementation, conditional on the + * generic/tclCmdAH.c: define TCL_TIP280. + * generic/tclCmdIL.c: + * generic/tclCmdMZ.c: + * generic/tclCompCmds.c: + * generic/tclCompExpr.c: + * generic/tclCompile.c: + * generic/tclCompile.h: + * generic/tclExecute.c: + * generic/tclIOUtil.c: + * generic/tclInt.h: + * generic/tclInterp.c: + * generic/tclNamesp.c: + * generic/tclObj.c: + * generic/tclProc.c: + * tests/compile.test: + * tests/info.test: + * tests/platform.test: + * tests/safe.test: + +2006-11-27 Kevin Kenny + + * unix/tclUnixChan.c (TclUnixWaitForFile): + * tests/event.test (event-14.*): Corrected a bug where + TclUnixWaitForFile would present select() with the wrong mask on an + LP64 machine if a fd number exceeds 32. Thanks to Jean-Luc Fontaine + for reporting and diagnosing [Bug 1602208] + +2006-11-26 Daniel Steffen + + * unix/tcl.m4 (Linux): --enable-64bit support. [Patch 1597389] + * unix/configure: autoconf-2.13 [Bug 1230558] + +2006-11-07 Andreas Kupries + + * unix/tclUnixFCmd.c (CopyFile): Added code to fall back to a + hardwired default block size should the filesystem report a bogus + value. [Bug 1586470] + +2006-11-03 Miguel Sofer + + * generic/tclBasic.c (TEOVI): fix for possible leak of a Command in + the presence of execution traces that delete it. + + * generic/tclBasic.c (TEOVI): + * tests/trace.test (trace-21.11): fix for [Bug 1590232], execution + traces may cause a second command resolution in the wrong + namespace. + +2006-11-01 Daniel Steffen + + * generic/tclEnv.c (Darwin): mark _environ symbol as unexported. + +2006-10-31 Pat Thoyts + + * rules.vc: Fix [Bug 1582769] build with VC2003 and correct i386 arch + +2006-10-23 Don Porter + + * README: Bump version number to 8.4.15 + * generic/tcl.h: + * tools/tcl.wse.in: + * unix/configure.in: + * unix/tcl.spec: + * win/README.binary: + * win/configure.in: + + * unix/configure: autoconf-2.13 + * win/configure: + +2006-10-18 Pat Thoyts + + *** 8.4.14 TAGGED FOR RELEASE *** + + * win/nmakehlp.c: Ensure builds with VC6 without Platform SDK. + * win/rules.vc: Pickup MACHINE from environment. + +2006-10-17 Don Porter + + * generic/tclIOUtil.c: Cleaned up some code flagged by a + * generic/tclInt.h: `make checkexports` test. + * win/tclWin32Dll.c: + * win/tclWinFile.c: + +2006-10-16 Daniel Steffen + + * changes: updates for 8.4.14 release. + + * macosx/Makefile: don't redo prebinding of non-prebound binaires. + +2006-10-11 Andreas Kupries + + * generic/tclPkg.c (Tcl_PkgRequireEx): Corrected crash when argument + version==NULL passed in. Backport of the fix for the same problem in + 8.5. + +2006-10-10 Don Porter + + * changes: changes updated for 8.4.14 release. + +2006-10-06 Jeff Hobbs + + * tests/http.test: update tests to handle strictness change. + +2006-10-06 Pat Thoyts + + * win/rules.vc: avoid /RTCc flag with MSVC8. [Bug 1571954] + +2006-10-05 Jeff Hobbs + + * library/http/http.tcl (http::geturl): only do geturl url rfc 3986 + validity checking if $::http::strict is true (default false for 8.4). + [Bug 1560506] + + * generic/tcl.h: note limitation on changing Tcl_UniChar size + * generic/tclEncoding.c (UtfToUnicodeProc, UnicodeToUtfProc): + * tests/encoding.test (encoding-16.1): fix alignment issues in + unicode <> utf conversion procs. [Bug 1122671] + +2006-10-05 Miguel Sofer + + * generic/tclVar.c (Tcl_LappendObjCmd): + * tests/append.test(4.21-22): fix for longstanding [Bug 1570718], + lappending nothing to non-list. Reported by lvirden + +2006-10-02 Don Porter + + * generic/tclFileName.c (TclGlob): Prevent doubling of directory + separators by [glob]. [Bug 1569042] + +2006-10-01 Pat Thoyts + + * win/tclWinFile.c: Handle possible missing define. + * win/tclWinFile.c: Backported fix for [Bug 1420432] (cannot set + * tests/cmdAH.test: mtime for directories on windows). + +2006-09-30 Miguel Sofer + + * generic/tclUtil.c (Tcl_SplitList): optimisation, [Patch 1344747] + by dgp. + +2006-09-26 Pat Thoyts + + * win/makefile.vc: Updated MSVC build to properly deal with + * win/nmakehlp.c: MSVC8 and AMD64 target. Backport from 8.5 + * win/rules.vc: + * generic/tcl.h: Fixed stat definition for MSVC8 AMD64. + * win/tclWinSock.c: Casting type police. + * win/tclWinTime.c: + +2006-09-26 Don Porter + + * generic/tcl.h: As 2006-09-22 commit from Donal K. Fellows + demonstrates, "#define NULL 0" is just wrong, and as a quotable chat + figure observed, "If NULL isn't defined, we're not using a C compiler." + Improper fallback definition of NULL removed. + +2006-09-25 Andreas Kupries + + * generic/tclIO.c (Tcl_StackChannel): Fixed [SF Tcl Bug 1564642], aka + coverity #51. Extended loop condition, added checking for NULL to + prevent seg.fault. + +2006-09-25 Andreas Kupries + + * generic/tclBasic.c: Reverted exposure of patchlevel in registered + core version when TIP#268 features are activated. Better compatibility + with existing packages. Like Tk. + +2006-09-24 Miguel Sofer + + * generic/tclParse.c (Tcl_ParseCommand): also return an error if + start==NULL and numBytes<0. This is coverity's bug #20 + + * generic/tclStringObj.c (STRING_SIZE): fix allocation for 0-length + strings. This is coverity's bugs #54-5 + +2006-09-22 Andreas Kupries + + * generic/tclInt.h: Moved TIP#268's field 'packagePrefer' to the end + of the structure, for better backward compatibility. + +2006-09-22 Andreas Kupries + + * generic/tclPkg.c (Tcl_PkgRequireEx): Changes handling of the return + information from 'Tcl_PkgRequireProc'. Keep the interpreter result + empty. Backport of fix for problem found while testing #268 under 8.5. + More details in the comments. + +2006-09-22 Donal K. Fellows + + * generic/tclThreadTest.c (TclCreateThread): Use NULL instead of 0 as + end-of-strings marker to Tcl_AppendResult; the difference matters on + 64-bit machines. [Bug 1562528] + +2006-09-21 Andreas Kupries + + * generic/tcl.decls: Implemented TIP #268, conditionally. + * generic/tclBasic.c: Define TCL_TIP268 to activate the new + * generic/tclDecls.h: features. + * generic/tclInt.h: + * generic/tclPkg.c: + * generic/tclStubInit.c: + * generic/tclTest.c: + * library/init.tcl + * library/package.tcl: + * tests/pkg.test: + * tests/platform.test: + * tests/safe.test: + * doc/PkgRequire.3: + +2006-09-15 Jeff Hobbs + + * library/http/http.tcl: Change " " -> "+" url encoding mapping + * library/http/pkgIndex.tcl: to " " -> "%20" as per RFC 3986. + * tests/http.test (http-5.1): bump http to 2.5.3 for 8.4.14 + +2006-09-12 Andreas Kupries + + * unix/configure.in (HAVE_MTSAFE_GETHOST*): Modified to recognize + HP-UX 11.00 and beyond as having mt-safe implementations of the + gethost functions. + * unix/configure: Regenerated, using autoconf 2.13 + + * unix/tclUnixCompat.c (PadBuffer): Fixed bug in calculation of the + increment needed to align the pointer, and added documentation + explaining why the macro is implemented as it is. + +2006-09-11 Andreas Kupries + + * tests/msgcat.test: Bumped version in auxiliary files as well. + * doc/msgcat.n: + +2006-09-11 Daniel Steffen + + * unix/tclUnixCompat.c: make compatLock static and only declare it + when it will actually be used; #ifdef parts of TSD that are not always + needed; adjust #ifdefs to cover all possible cases; fix whitespace. + +2006-09-10 Don Porter + + * library/msgcat/msgcat.tcl: Bump to version msgcat 1.3.4 to account + * library/msgcat/pkgIndex.tcl: for modifications. + +2006-09-10 Daniel Steffen + + * library/msgcat/msgcat.tcl (msgcat::Init): on Darwin, add fallback of + * tests/msgcat.test: default msgcat locale to + * unix/tclUnixInit.c (TclpSetVariables): current CFLocale + identifier if available (via private ::tcl::mac::locale global, set at + interp init when on Mac OS X 10.3 or later with CoreFoundation). + + * unix/tcl.m4: add caching to new SC_TCL_* macros for MT-safe wrappers + * unix/configure: autoconf-2.13 + +2006-09-08 Andreas Kupries + + * unix/tclUnixCompat.c: Fixed conditions for CopyArray/CopyString, and + CopyHostent. Also fixed bad var names in TclpGetHostByName. + +2006-09-08 Zoran Vasiljevic + + * unix/tclUnixCompat.c: Added fallback to gethostbyname() and + gethostbyaddr() if the implementation is known to be MT-safe + (currently for Darwin 6 or later only). + + * unix/configure.in: Assume gethostbyname() and gethostbyaddr() are + MT-safe starting with Darwin 6 (Mac OSX 10.2). + + * unix/configure: Regenerated with autoconf V2.13 + +2006-09-07 Zoran Vasiljevic + + * unix/tclUnixFCmd.c: Removed some false tests added (and left by + mistake) by fixing [Bug 999544] + + * unix/tclUnixCompat.c: Added fallback to MT-unsafe library calls if + TCL_THREADS is not defined. Fixed alignment of arrays copied by + CopyArrayi() to be on the sizeof(char *) boundary. + +2006-09-07 Andreas Kupries + + * unix/configure: Regenerated using autoconf 2.13. + +2006-09-07 Zoran Vasiljevic + + * unix/tclUnixChan.c Rewritten MT-safe wrappers to + * unix/tclUnixCompat.c return ptrs to TSD storage + * unix/tclUnixFCmd.c making them all look like their + * unix/tclUnixPort.h MT-unsafe pendants API-wise. + * unix/tclUnixSock.c + +2006-09-06 Zoran Vasiljevic + + * unix/tclUnixChan.c: Added TCL_THREADS ifdef'ed usage + * unix/tclUnixFCmd.c: of MT-safe calls like: + * unix/tclUnixSock.c: getpwuid, getpwnam, getgrgid, getgrnam, + * unix/tclUnixPort.h: gethostbyname and gethostbyaddr. + * unix/Makefile.in: See Tcl Bug: 999544 + * unix/configure.in: + * unix/tcl.m4: + * unix/configure: Regenerated. + + * unix/tclUnixCompat.c: New file containing MT-safe implementation of + some library calls. + +2006-09-04 Don Porter + + * tests/main.text (Tcl_Main-4.4): Test corrected to not be + timing sensitive to the Bug 1481986 fix. [Bug 1550858] + +2006-09-04 Jeff Hobbs + + * doc/package.n: correct package example + +2006-08-30 Jeff Hobbs + + * win/tclWinChan.c: [Bug 819667] Improve logic for identifying COM + ports. + + * win/tclWinFCmd.c: [Bug 1548263] Added test for NULL return + * generic/tclIOUtil.c: from Tcl_FSGetNormalizedPath which was + causing segv's + + * generic/tclFileName.c (TclDoGlob): match incr with existing decr. + + * unix/Makefile.in: add valgrindshell target and update default + VALGRINDARGS. User can override, or add to it with VALGRIND_OPTS env + var. + + * generic/tclBasic.c (Tcl_CreateInterp): init iPtr->threadId + + * generic/tclIOGT.c (ExecuteCallback): + * generic/tclPkg.c (Tcl_PkgRequireEx): replace Tcl_GlobalEval(Obj) + with more efficient Tcl_Eval(Obj)Ex + +2006-08-22 Andreas Kupries + + * unix/tclUnixNotfy.c (Tcl_WaitForEvent): Fixed broken if syntax + committed 2006-08-21 by Daniel. The broken syntax is visible to all + unix platforms, but not on OSX for machines which HAVE_COREFOUNDATION. + +2006-08-21 Don Porter + + * generic/tclIOUtil.c: Revisions to complete the thread finalization + of the cwdPathPtr. [Bug 1536142] + +2006-08-21 Daniel Steffen + + * macosx/tclMacOSXNotify.c (Tcl_WaitForEvent): if the run loop is + already running (e.g. if Tcl_WaitForEvent was called recursively), + re-run it in a custom run loop mode containing only the source for the + notifier thread, otherwise wakeups from other sources added to the + common run loop modes might get lost; sync panic msg changes from + HEAD. + + * unix/tclUnixNotfy.c (Tcl_WaitForEvent): on 64-bit Darwin, + pthread_cond_timedwait() appears to have a bug that causes it to wait + forever when passed an absolute time which has already been exceeded + by the system time; as a workaround, when given a very brief timeout, + just do a poll on that platform. [Bug 1457797] + + * unix/tclUnixPort.h (Darwin): override potentially faulty configure + detection of termios availability in all cases, since termios is known + to be present on all Mac OS X releases since 10.0. [Bug 497147] + +2006-08-18 Daniel Steffen + + * unix/tcl.m4 (Darwin): add support for --enable-64bit on x86_64, for + universal builds including x86_64, for 64-bit CoreFoundation on + Leopard and for use of -mmacosx-version-min instead of + MACOSX_DEPLOYMENT_TARGET. + * unix/configure: autoconf-2.13 + + * generic/tcl.h: add fixes for building on Leopard and support + * unix/tclUnixPort.h: for 64-bit CoreFoundation on Leopard. + + * unix/tclUnixPort.h: on Darwin x86_64, disable use of vfork as it + causes execve to fail intermittently. (rdar://4685553) + + * macosx/README: updates for x86_64 support and Xcode 2.4. + + * unix/tclUnixChan.c (TclUnixWaitForFile): with timeout < 0, if + select() returns early (e.g. due to a signal), call it again instead + of returning a timeout result. Fixes intermittent event-13.8 failures. + +2006-08-09 Don Porter + + * generic/tclEncoding.c: Replace buffer copy in for loop with + call to memcpy(). Thanks to afredd. [Patch 1530262] + +2006-08-03 Daniel Steffen + + * unix/tclUnixPipe.c (TclpCreateProcess): for USE_VFORK: ensure + standard channels are initialized before vfork() so that the child + doesn't potentially corrupt global state in the parent's address + space. + +2006-07-30 Kevin Kenny + + * tests/clock.test: Allowed UTC as a synonym for GMT in two tests that + indirectly invoke 'strftime' with the result of 'gmtime' to fix a + bogus test failure on FreeBSD systems. [Bug 1513489] + +2006-07-30 Joe English + + * doc/AppInit.3: Fix typo [Bug 1496886] + +2006-07-20 Daniel Steffen + + * macosx/tclMacOSXNotify.c (Tcl_InitNotifier, Tcl_WaitForEvent): + create notifier thread lazily upon first call to Tcl_WaitForEvent() + rather than in Tcl_InitNotifier(). Allows calling exeve() in processes + where the event loop has not yet been run (Darwin's execve() fails in + processes with more than one thread), in particular allows embedders + to call fork() followed by execve(), previously the pthread_atfork() + child handler's call to Tcl_InitNotifier() would immediately recreate + the notifier thread in the child after a fork. + + * macosx/tclMacOSXNotify.c (Tcl_InitNotifier): add support for + * unix/tclUnixFCmd.c (DoRenameFile, CopyFileAtts): weakly importing + * unix/tclUnixInit.c (TclpSetInitialEncodings): symbols not + available on OSX 10.2 or 10.3, enables binaires built on later OSX + versions to run on earlier ones. + * macosx/README: document how to enable weak-linking; cleanup. + * unix/tclUnixPort.h: add support for weak-linking; conditionalize + AvailabilityMacros.h inclusion; only disable realpath on 10.2 or + earlier when threads are enabled. + * unix/tclLoadDyld.c (TclpLoadMemoryGetBuffer): change runtime Darwin + * unix/tclUnixInit.c (TclpInitPlatform): release check to use + global initialized once + * unix/tclUnixFCmd.c (DoRenameFile, TclpObjNormalizePath): add runtime + Darwin release check to determine if realpath is threadsafe. + * unix/configure.in: add check on Darwin for compiler support of weak + * unix/tcl.m4: import and for AvailabilityMacros.h header; move + Darwin specific checks & defines that are only relevant to the tcl + build out of tcl.m4; restrict framework option to Darwin; cleanup + quoting. + * unix/configure: autoconf-2.13 + + * unix/tclLoadDyld.c (TclpLoadMemory): + * unix/tclUnixPipe.c (TclpCreateProcess): fix signed-with-unsigned + comparison and other warnings from gcc4 -Wextra. + +2006-07-13 Andreas Kupries + + * unix/tclUnixPort.h: Added the inclusion of . + The missing header caused the upcoming #if conditions to wrongly + exclude realpath, causing file normalize to ignore symbolic links in + the path. + +2006-07-11 Zoran Vasiljevic + + * generic/tclAsync.c: Made Tcl_AsyncDelete() more tolerant when called + after all thread TSD has been garbage-collected. + +2006-07-10 Jeff Hobbs + + * generic/tclIO.c (Tcl_CreateChannel): allow Tcl std channel + inheritance to be #defined out (default remains in). + +2006-06-15 Don Porter + + * changes: changes to start prep for an 8.4.14 release. + +2006-06-14 Daniel Steffen + + * unix/tclUnixPort.h (Darwin): support for MAC_OS_X_VERSION_MAX_ALLOWED + define from AvailabilityMacros.h: override configure detection and only + use API available in the indicated OS version or earlier. + +2006-06-14 Pat Thoyts + + * generic/regerror.c: Enable building Tcl with Microsoft's latest + * generic/tcl.h: compiler offering (VS2005). We have to handle + * generic/tclDate.c: a number of oddities as they have deprecated + * tests/env.test: most of the standard C library and now + * win/makefile.vc: generate manifest files to be linked into the + * win/nmakehlp.c: binaries. [Bug 1424909] + * win/rules.vc: + * win/tclWinTime.c: + +2006-06-13 Donal K. Fellows + + * unix/tclLoadDl.c (TclpDlopen): Workaround for a compiler bug in Sun + Forte 6. [Bug 1503729] + +2006-06-06 Don Porter + + * doc/GetStdChan.3: Added recommendation that each call to + Tcl_SetStdChannel() be accompanied by a call to Tcl_RegisterChannel(). + +2006-05-31 Jeff Hobbs + + * generic/tclNamesp.c (NamespaceInscopeCmd): revert [Bug 1400572] + fix of 2006-01-09 for [namespace inscope] as it seems to mess with + itcl scope decoding. Leaving namespace-29.6 test failure until final + cause it determined. + +2006-05-29 Jeff Hobbs + + * generic/tcl.h (Tcl_DecrRefCount): use if/else construct to allow + placement in unbraced outer if/else conditions. (jcw) + +2006-05-27 Daniel Steffen + + * macosx/tclMacOSXNotify.c: implemented pthread_atfork() handler that + * unix/tcl.m4 (Darwin): recreates CoreFoundation state and notifier + thread in the child after a fork(). Note that pthread_atfork() is + available starting with Tiger only. Because vfork() is used by the core + on Darwin, [exec]/[open] are not affected by this fix, only extensions + or embedders that call fork() directly (such as TclX). However, this + only makes fork() safe from corefoundation tcl with --disable-threads; + as on all platforms, forked children may deadlock in threaded tcl due + to the potential for stale locked mutexes in the child. [Patch 923072] + * unix/configure: autoconf-2.59 + +2006-05-24 Donal K. Fellows + + * unix/tcl.m4 (SC_CONFIG_SYSTEM): Fixed quoting of command script to + awk; it was a rarely used branch, but it was wrong. [Bug 1494160] + +2006-05-13 Don Porter + + * generic/tclFileName.c (TclDoGlob): Disabled the partial + normalization done by the recursive glob routine, since changing the + precise string of the pathname broke [glob] on some Tcl_Filesystems. + [Bug 943995] + + * generic/tclProc.c (ProcCompileProc): When a bump of the compile + epoch forces the re-compile of a proc body, take care not to + overwrite any Proc struct that may be referred to on the active + call stack. This fixes [Bug 1482718]. Note that the fix will not be + effective for code that calls the private routine TclProcCompileProc() + directly. + +2006-05-05 Don Porter + + * generic/tclMain.c (Tcl_Main): Corrected flaw that required + * tests/main.test: (Tcl_Main-4.5): processing of one interactive + command before passing control to the loop routine registered with + Tcl_SetMainLoop() [Bug 1481986] + +2006-05-04 Don Porter + + * README: Bump version number to 8.4.14 + * generic/tcl.h: + * tools/tcl.wse.in: + * unix/configure.in: + * unix/tcl.spec: + * win/README.binary: + * win/configure.in: + + * unix/configure: autoconf-2.13 + * win/configure: + + * generic/tclExecute.c (ExprSrandFunc): Restore acceptance of wide + * tests/expr-old.test: integer values by srand() [Bug 1480509] + +2006-04-12 Don Porter + + *** 8.4.13 TAGGED FOR RELEASE *** + + * changes: updates for another RC. + +2006-04-11 Don Porter + + * generic/tclCmdMZ.c: Stop some interference between enter traces + * tests/trace.test: and enterstep traces. [Bug 1458266] + +2006-04-10 Don Porter + + * changes: updates for another RC. + +2006-04-06 Jeff Hobbs + + * generic/tclRegexp.c (FinalizeRegexp): full reset data to indicate + readiness for reinitialization. + +2006-04-06 Don Porter + + * generic/tclIndexObj.c (Tcl_GetIndexFromObjStruct): It seems there + * tests/indexObj.test: are extensions that rely on the prior behavior + * doc/GetIndex.3: that the empty string cannot succeed as a + unique prefix matcher, so I'm restoring Donal Fellows's solution. + Added mention of this detail to the documentation. [Bug 1464039] + +2006-04-06 Daniel Steffen + + * unix/tcl.m4: removed TCL_IO_TRACK_OS_FOR_DRIVER_WITH_BAD_BLOCKING + define on Darwin. [Bug 1457515] + * unix/configure: autoconf-2.13 + +2006-04-05 Don Porter + + * library/reg/pkgIndex.tcl: Long overlooked bump to registry + * win/tclWinReg.c: package version 1.1.4 (should have + been done for the Tcl 8.4.8 release!) + + * library/dde/pkgIndex.tcl: Long overlooked bump to dde package + * win/tclWinDde.c: version 1.2.4 (should have been done + for the Tcl 8.4.8 release!) + +2006-04-05 Donal K. Fellows + + * generic/tclIndexObj.c (Tcl_GetIndexFromObjStruct): Allow empty + strings to be matched by the Tcl_GetIndexFromObj machinery, in the + same manner as any other key. [Bug 1464039] + +2006-04-04 Don Porter + + * generic/tclPkg.c: Revised Bug 1162286 fix from 2005-11-08 to be + * tests/pkg.test: even more forgiving of package version + mismatch errors in [package ifneeded] commands, not even logging any + warning messages. This further reduces the + ***POTENTIAL INCOMPATIBILITY*** noted for that change. + +2006-04-03 Andreas Kupries + + * generic/tclIO.c (ReadChars): Added check, panic and commentary to a + piece of code which relies on BUFFER_PADDING to create enough space at + the beginning of each buffer for the insertion of partial multibyte + data at the beginning of a buffer. Commentary explains why this code + is OK, and the panic is as a precaution if someone twiddled the + BUFFER_PADDING into uselessness. + + * generic/tclIO.c (ReadChars): Temporarily suppress the use of + TCL_ENCODING_END set when EOF was reached while the buffer we are + converting is not truly the last buffer in the queue. Together with + the Utf bug below it was possible to completely wreck the buffer data + structures, eventually crashing Tcl. [Bug 1462248] + + * generic/tclEncoding.c (UtfToUtfProc): Stop accessing memory beyond + the end of the input buffer when TCL_ENCODING_END is set and the last + bytes of the buffer start a multi-byte sequence. This bug contributed + to [Bug 1462248]. + +2006-03-28 Jeff Hobbs + + * win/configure, win/tcl.m4: define MACHINE for gcc builds as well. + Needed by Tk for manifest generation. + + * win/tclWinConsole.c: revert 2005-11-03 [Patch 1256872] change to add + win32 unicode console support as it broke the ability to modify the + encoding to the console. + +2006-03-28 Daniel Steffen + + * unix/tclUnixFCmd.c (TclpObjNormalizePath): deal with *BSD/Darwin + realpath() converting relative paths into absolute paths. [Bug 1064247] + +2006-03-28 Vince Darley + + * generic/tclIOUtil.c: fix to nativeFilesystemRecord comparisons + (lesser part of [Bug 1064247]) + +2006-03-27 Pat Thoyts + + * win/tclWinTest.c: Fixes for [Bug 1456373] (mingw-gcc issue) + +2006-03-23 Don Porter + + * tests/expr.test: Nan self-inquality test silenced. [Bug 761471] + +2006-03-22 Don Porter + + * changes: updates for another RC. + +2006-03-18 Vince Darley + + * generic/tclTest.c: + * win/tclWinFile.c: + * win/tclWinTest.c: + * tests/fCmd.test: + * tests/winFCmd.test: + * tests/tcltest.test: Backport of [file writable] fixes for Windows + from HEAD. [Bug 1193497] + +2006-03-16 Andreas Kupries + + * doc/open.n: Documented the changed behaviour of 'a'ppend mode. + + * tests/io.test (io-43.1 io-44.[1234]): Rewritten to be + self-contained with regard to setup and cleanup. [Bug 681793] + + * generic/tclIOUtil.c (TclGetOpenMode): Added the flag O_APPEND to the + list of POSIX modes used when opening a file for 'a'ppend. This + enables the proper automatic seek-to-end-on-write by the OS. See [Bug + 680143] for longer discussion. + + * tests/ioCmd.test (iocmd-13.7.*): Extended the testsuite to check the + new handling of 'a'. + +2006-03-15 Andreas Kupries + + * tests/socket.test: Extended the timeout in socket-11.11 from 10 to + 40 seconds to allow for really slow machines. Also extended + actual/expected results with value of variable 'done' to make it + clearer when a test fails due to a timeout. [Bug 792159] + +2006-03-14 Andreas Kupries + + * generic/tclPipe.c (TclCreatePipeline): Modified the processing of + pipebars to fail if the last bar is followed only by redirections. + [Bug 768659] + +2006-03-14 Andreas Kupries + + * doc/fconfigure.n: Clarified that -translation is binary is reported + as lf when queried, because it is identical to lf, except for the + special additional behaviour when setting it. [Bug 666770] + +2006-03-14 Andreas Kupries + + * win/tclWinPipe.c (Tcl_WaitPid): Backport of fix made to the head by + David Gravereaux in 2004. See ChangeLog entry 2004-01-19. [Bug 1381436] + + Fixed a thread-safety problem with the process list. The delayed cut + operation after the wait was going stale by being outside the list + lock. It now cuts within the lock and does a locked splice for when it + needs to instead. [Bug 859820] + +2006-03-13 Don Porter + + * generic/tclEncoding.c: Report error when an escape encoding + is missing one of its sub-encodings [Bug 506653] + + * unix/configure.in: Revert change from 2005-07-26 that sometimes + * unix/configure: added $prefix/share to the tcl_pkgPath. + See [Patch 1231015]. autoconf-2.13. + +2006-03-10 Zoran Vasiljevic + + -- Summary of changes fixing [Bug 1437595] -- + + * generic/tclEvent.c: Cosmetic touches and identation + * generic/tclInt.h: Added TclpFinalizeSockets() call. + + * generic/tclIO.c: Calls TclpFinalizeSockets() as part of the + TclFinalizeIOSubsystem(). + + * unix/tclUnixSock: Added no-op TclpFinalizeSockets(). + + * mac/tclMacSock.c: + * win/tclWinPipe.c + * win/tclWinSock.c: Finalization of the sockets/pipes is now solely + done in TclpFinalizeSockets() and TclpFinalizePipes() and not over the + thread-exit handler, because the order of actions the Tcl generic core + will impose may result in cores/hangs if the thread exit handler tears + down corresponding subsystem(s) too early. + +2006-03-10 Vince Darley + + * win/tclWin32Dll.c: + * win/tclWinInt.h: + * win/tclWinFile.c: backported some fixes from HEAD relating to 'file + readable' and 'file writable', but main 'file writable' bug still + outstanding. + +2006-03-07 Don Porter + + * README: Bump version number to 8.4.13 and update + * changes: changes to start prep for an 8.4.13 release. + * generic/tcl.h: + * tools/tcl.wse.in: + * unix/configure{.in}: + * unix/tcl.spec: + * win/README.binary: + * win/configure{.in}: + + * tests/parse.test: Missing constraint + +2006-03-06 Don Porter + + * generic/tclBasic.c: Revised handling of TCL_EVAL_* flags to + * tests/parse.test: simplify TclEvalObjvInternal and to correct + the auto-loading of alias targets (parse-8.12). [Bug 1444291] + +2006-03-02 Jeff Hobbs + + * win/Makefile.in: convert _NATIVE paths to use / to avoid ".\" + path-as-escape issue. + + * unix/tcl.m4, win/tcl.m4: []-quote ac_defun functions. + +2006-03-02 Pat Thoyts + + * unix/tcl.m4: Fix for [Tk Bug 1334613] to sort out shared library + * unix/configure: issues on NetBSD. Regenerated configure script. + +2006-02-28 Don Porter + + * generic/tclBasic.c: Corrections to be sure that TCL_EVAL_GLOBAL + * tests/parse.test: evaluations act the same as [uplevel #0] + * tests/trace.test: evaluations, even when execution traces or + invocations of [::unknown] are present. [Bug 1439836] + +2006-02-16 Don Porter + + * generic/tclIndexObj.c: Disallow the "ambiguous" error message + * tests/indexObj.test: when TCL_EXACT matching is requested. + +2006-02-15 Don Porter + + * generic/tclIO.c: Made several routines tolerant of + * generic/tclIOUtil.c: interp == NULL arguments. [Bug 1380662] + +2006-02-09 Don Porter + + * tests/main.test (Tcl_Main-6.7): Improved robustness of command + auto-completion test. [Bug 1422736] + +2006-01-25 Donal K. Fellows + + * unix/tclUnixInit.c (TclpInitPlatform): Improved conditions on when + to update the FP rounding mode on FreeBSD, taken from FreeBSD port. + +2006-01-23 Miguel Sofer + + * generic/tclStringObj.c (Tcl_GetRange): + * tests/stringTest (string-12.21):fixed incorrect handling of internal + rep in Tcl_GetRange. Thanks to twylite and Peter Spjuth. [Bug 1410553] + +2006-01-16 Reinhard Max + + * generic/tclPipe.c (FileForRedirect): Prevent nameString from being + freed without having been initialized. + * tests/exec.test: Added a test for the above. + +2006-01-12 Zoran Vasiljevic + + * generic/tclIOUtil.c (Tcl_FSGetInternalRep): fixed potential + overwriting of already freed memory which caused all kinds of (rare + but reproducible) coredumps all over the place. + +2006-01-11 Don Porter + + * tests/error.test (error-7.0): Test the timing of write traces on + ::errorInfo. [Bug 1397843] + +2006-01-10 Daniel Steffen + + * unix/configure: add caching, use AC_CACHE_CHECK instead of + * unix/configure.in: AC_CACHE_VAL where possible, consistent message + * unix/tcl.m4: quoting, sync relevant tclconfig/tcl.m4 and HEAD + changes and gratuitous formatting differences, fix SC_CONFIG_MANPAGES + with default argument, Darwin improvements to SC_LOAD_*CONFIG. + +2006-01-09 Don Porter + + * generic/tclNamesp.c (NamespaceInscopeCmd): [namespace inscope] + * tests/namespace.test: commands were not reported by [info level]. + [Bug 1400572] + +2005-12-20 Donal K. Fellows + + * generic/tclThreadAlloc.c (Tcl_GetMemoryInfo): Format values as longs + and not ints, so they are less likely to wrap on 64-bit machines. + +2005-12-19 Donal K. Fellows + + * doc/Tcl.n: Clarify what is going on in variable substitution + following thread on comp.lang.tcl. + +2005-12-14 Daniel Steffen + + * generic/tclIOUtil.c: workaround gcc warning "comparison is always + * generic/tclTest.c: false due to limited range of data type". + + * unix/configure.in: run check for fts API on all platforms, since + Linux glibc2 and *BSDs also have this and using fts is more efficient + than recursive opendir/readdir (sync with HEAD). + * unix/configure: regen. + +2005-12-12 Jeff Hobbs + + * unix/tcl.m4, unix/configure: Fix sh quoting error reported in + bash-3.1+ [Bug 1377619] (schafer) + +2005-12-12 Reinhard Max + + * generic/tclExecute.c (ExprAbsFunc): fixed the abs(MIN_INT) case so + that it doesn't break on compilers that don't assume integers to wrap + around (e.g. gcc-4.1.0). + +2005-12-09 Donal K. Fellows + + * tests/lsearch.test (lsearch-10.8..10): If the -start is off the end, + * generic/tclCmdIL.c (Tcl_LsearchObjCmd): searching should find + nothing at all. [Bug 1374778] + +2005-12-05 Daniel Steffen + + *** 8.4.12 TAGGED FOR RELEASE *** + + * unix/tclUnixPort.h (Darwin): fix incorrect __DARWIN_UNIX03 configure + overrides that were originally copied from Darwin CVS (rdar://3693001). + +2005-12-05 Don Porter + + * unix/configure.in: Revised fix for [Bug 1034337] from Daniel + * unix/tclUnixFCmd.c: Steffen. Uses fts_*() routines. + * unix/configure: autoconf-2.13 + * changes: Update changes for 8.4.12 release + +2005-12-04 Daniel Steffen + + * README: refer to macosx/README instead of mac/README. + * mac/README: add note that mac classic port is no longer supported. + +2005-12-03 Jeff Hobbs + + * README: correct 2 urls + +2005-12-01 Don Porter + + * changes: Update changes for 8.4.12 release + +2005-12-01 Daniel Steffen + + * unix/tcl.m4 (Darwin): fixed error when MACOSX_DEPLOYMENT_TARGET unset + * unix/configure: regen. + +2005-11-29 Jeff Hobbs + + * win/tcl.m4: Add build support for Windows-x64 builds. + * win/configure: --enable-64bit now accepts =amd64|ia64 for + * win/Makefile.in: Windows 64-bit build variants (default: amd64) + * win/makefile.vc: [Bug 1369597] + +2005-11-29 Donal K. Fellows + + * generic/tclObj.c (Tcl_GetWideIntFromObj): Add more efficient + conversion to wides from normal ints. [Bug 1310081] + + * generic/tclCmdIL.c (Tcl_LsearchObjCmd): Allow [lsearch -regexp] to + process REs that contain backreferences. This expensive mode of + operation is only used if the RE would otherwise cause a compilation + failure. [Bug 1366683] + +2005-11-28 Donal K. Fellows + + * win/tclWinSock.c (CreateSocket): Applied [Patch 1353853] to prevent + reads of uninitialized variables during cleanup. + +2005-11-27 Daniel Steffen + + * unix/tcl.m4 (Darwin): add 64bit support, check for Tiger copyfile(), + add CFLAGS to SHLIB_LD to support passing -isysroot in env(CFLAGS) to + configure (flag can't be present twice, so can't be in both CFLAGS and + LDFLAGS during configure), don't use -prebind when deploying on 10.4, + define TCL_IO_TRACK_OS_FOR_DRIVER_WITH_BAD_BLOCKING (rdar://3171542). + (SC_ENABLE_LANGINFO, SC_TIME_HANDLER): add/fix caching, fix obsolete + autoconf macros. Sync with tk/unix/tcl.m4, sync whitespace with HEAD. + + * unix/configure.in: fix obsolete autoconf macros, sync gratuitous + formatting/ordering differences with tk/unix/configure.in. + + * unix/Makefile.in: add CFLAGS to tclsh/tcltest link to make + executable linking the same as during configure (needed to avoid + loosing any linker relevant flags in CFLAGS, in particular flags that + can't be in LDFLAGS). Avoid concurrent linking of tclsh and compiling + of tclTestInit.o or xtTestInit.o during parallel make. + (checkstubs, checkdoc, checkexports): dependency and Darwin fixes + + * unix/tclLoadDyld.c (TclpDlopen): [Bug 1204237] use + NSADDIMAGE_OPTION_WITH_SEARCHING on second NSAddImage only. + (TclGuessPackageName): should not be MODULE_SCOPE. + (TclpLoadMemory): ppc64 and endian (i386) fixes, add support for + loading universal (fat) bundles from memory. + + * unix/tclUnixPort.h: + * unix/tclUnixFCmd.c: add support for new Tiger copyfile() API to + enable copying of xattrs & ACLs by [file copy]. + + * generic/tcl.h: add Darwin specifc configure overrides for TCL_WIDE + defines to support fat compiles of ppc and ppc64 at the same time, + (replaces Darwin CVS fix by emoy, rdar://3693001). + add/correct location of version numbers in macosx files. + + * generic/tclInt.h: clarify fat compile comment. + + * unix/tclUnixPort.h: add Darwin specifc configure overrides to + support fat compiles, where configure runs only once for multiple + architectures (replaces Darwin CVS fix by emoy, rdar://3693001). + + * macosx/tclMacOSXBundle.c: + * macosx/tclMacOSXNotify.c: + * unix/tclUnixNotfy.c: fix #include order to support compile time + * unix/tclUnixPort.h: override of HAVE_COREFOUNDATION in + tclUnixPort.h when building for ppc64 + + * macosx/Tcl.pbproj/default.pbxuser (new file): + * macosx/Tcl.pbproj/jingham.pbxuser: + * macosx/Tcl.pbproj/project.pbxproj: sync with HEAD. + + * macosx/README: clarification/cleanup, sync with HEAD, document + universal (fat) builds via CFLAGS (i.e. all of ppc ppc64 i386 at once). + + * macosx/Makefile: add support for reusing configure cache, build + target fixes, remove GENERIC_FLAGS override now handled by tcl.m4. + + * generic/tclIOUtil.c: + * generic/tclRegexp.c: + * generic/tclVar.c: declare globals used only in own file as static + (sync with HEAD). + + * generic/rege_dfa.c (getvacant): + * generic/regexec.c (cfind): + * generic/tclCompExpr.c (CompileSubExpr): + * unix/tclUnixChan.c (TclUnixWaitForFile): initialise variables to + silence gcc 4 warnings. + + * generic/regguts.h: only #define NDEBUG if not already #defined. + + * macosx/tclMacOSXNotify.c: sync whitespace & comments with HEAD + + * unix/configure: regen. + +2005-11-20 Joe English + + * generic/tclStubLib.c: Don't set tclStubsPtr to 0 when + Tcl_PkgRequireEx() fails [Fix for [Bug 1091431] "Tcl_InitStubs failure + crashes wish"] + +2005-11-18 Miguel Sofer + + * tests/trace.test (trace-34.5): [Bug 1047286], added a second test + illustrating the role of "ns in callStack" in the ns's visibility + during deletion traces. + + * generic/tclBasic.c (Tcl_DeleteCommandFromToken): + * generic/tclCmdMZ.c (TraceCommandProc): + * generic/tclInt.h (NS_KILLED): + * generic/tclNamesp.c (Tcl_DeleteNamespace + * tests/namespace.test (namespace-7.3-6): + * tests/trace.test (trace-20.13-16): fix [Bugs 1355942/1355342]. + +2005-11-18 Jeff Hobbs + + * generic/tclIO.c (TclFinalizeIOSubsystem): preserve statePtr until we + netrieve next statePtr from it. + +2005-11-18 Don Porter + + * generic/tclPkg.c: Revised Bug 1162286 fix from 2005-11-08 to be + * tests/pkg.test: more forgiving of package version mismatch + errors in [package ifneeded] commands. This reduces the + ***POTENTIAL INCOMPATIBILITY*** noted for that change. + +2005-11-18 Andreas Kupries + + * generic/tclIO.c (TclFinalizeIOSubsystem): Applied Pat Thoyts' patch + for [Bug 1359094]. This moves the retrieval of the next channel state + to the end of the loop, as the called closeproc may close other + channels, i.e., modify the list we are iterating, invalidating any + pointer retrieved earlier. + +2005-11-18 Donal K. Fellows + + * library/http/http.tcl (http::geturl): Improved syntactic validation + of URLs, and better error messages in some cases. [Bug 1358369] + +2005-11-16 Don Porter + + * README: Bump version number to 8.4.12 + * generic/tcl.h: + * tools/tcl.wse.in: + * unix/configure.in: + * unix/tcl.spec: + * win/README.binary: + * win/configure.in: + + * unix/configure: autoconf-2.13 + * win/configure: + +2005-11-15 Don Porter + + * changes: Update changes for 8.4.12 release + +2005-11-15 Kevin B. Kenny + + * tests/cmdAH.test: Backported the fix for [Bug 926016] because of + * win/tclWinFile.c: a repeated bug report in 8.4 [Bug 1353840]. + Windows [file mtime] will now return seconds from the Posix epoch + correctly (except for FAT32 file systems after a DST change without a + reboot - for which there is no help). A side effect is that file times + will appear different in Tcl from the way they do in Windows Explorer + or a 'dir' listing, because the Microsoft tools get the DST state + wrong in the listings. + +2005-11-09 Kevin B. Kenny + + * generic/tclTimer.c: Changed [after] so that it behaves correctly + * tests/timer.test: with negative arguments. [Bug 1350293] + +2005-11-08 Jeff Hobbs + + * unix/tclUnixFCmd.c (MAX_READDIR_UNLINK_THRESHOLD): reduce to 130 + based on errors seen on OS X 10.3 with lots of links in a dir. [Bug + 1034337 followup] + +2005-11-08 Don Porter + + * tests/expr.test: Portable tests expr-46.13-18 [Bug 1341368] + + * generic/tclPkg.c: Corrected inconsistencies in the value returned + * tests/pkg.test: by Tcl_PkgRequire(Ex) so that the returned + values will always agree with what is stored in the package database. + This way repeated calls to Tcl_PkgRequire(Ex) have the same results. + Thanks to Hemang Lavana. [Bug 1162286] + ***POTENTIAL INCOMPATIBILITY***: Incompatible with those existing + packages that are accustomed to the [package] command forgiving + their bugs. + + * tests/namespace.test (25.7,8): Backport test of knownBug. + +2005-11-08 Donal K. Fellows + + * generic/tclCmdMZ.c (TclTraceVariableObjCmd, TraceVarProc): Applied + Miguel's fix for [Bug 1348775]. It is not quite as elegant as the one + applied to the HEAD, but it is easier to use it rather than fully + backporting. + +2005-11-07 Miguel Sofer + + * tests/trace.test (trace-13.2-4): added tests to detect leak, see + [Bug 1348775]. + +2005-11-04 Don Porter + + * unix/tcl.m4: Added code to enable [load] on LynxOS. Thanks to + heidibr@users.sf.net for the patch. [Bug 1163896] + + * unix/configure: autoconf-2.13. + +2005-11-04 Pat Thoyts + + * win/tclWinPipe.c: Applied [Patch 1267871] by Matt Newman which + * win/tclWinPort.h: provides extended error code support. + * tests/exec.test: Wrote some tests for this feature. + +2005-11-04 Kevin Kenny + + * generic/tclGetDate.y: Added abbreviations for the Korean timezone. + * generic/tclDate.c: Regenerated. + + * compat/strftime.c: Fixed a problem where the name of the time zone + was double-converted from system encoding to UTF-8. Thanks to the + anonymous submitter of [Bug 1317477] for the report and the patch. + +2005-11-04 Miguel Sofer + + * generic/tclInt.h: + * generic/tclNamesp.c: + * generic/tclVar.c: fix for [Bugs 1338280/1337229]. Thanks Don. + + * tests/trace.test: fix duplicate test numbers + +2005-11-03 Don Porter + + * generic/tclUnixInit.c (TclpSetInitialEncodings): Modified so + that multiple calls can continue to atttempt to properly set the + system encoding. Needed for Tclkit to properly support non-default + encodings. Thanks to Yaroslav Schekin. [Bug 1201171] + +2005-11-03 Pat Thoyts + + * win/tclWin32Dll.c: Backported Anton Kovalenko's [Patch 1256872] + * win/tclWinConsole.c: to give unicode console support on + * win/tclWinInt.h: suitable systems (eg: NT/XP) + +2005-11-01 Don Porter + + * generic/tclCmdMZ.c (TclCheckExecutionTraces): Corrected mistaken + assumption that all command traces are set at the script level. + Report/fix from Jacques H. de Villiers. [Bug 1337941] + + * tests/expr-old.test (expr-32.52): Use int(.) to restrict result + of left shift to the C long range. + +2005-10-29 Mo DeJong + + * tests/expr.test: Fix problems in new round() tests that lead to + correct result only on 32 bit long systems. [Bug 1341368] + +2005-10-29 Miguel Sofer + + * generic/tclCmdMZ.c (TraceVarProc): [Bug 1337229], partial fix. + Ensure that a second call with TCL_TRACE_DESTROYED does not lead to a + second call to Tcl_EventuallyFree(). It is still true that that second + call should not happen, so the bug is not completely fixed. + * tests/trace.test (test-18.3-4): added tests for [Bugs 1337229 and + 1338280]. + +2005-10-27 Mo DeJong + + * generic/tclExecute.c (ExprRoundFunc): Fix typo where number before + rounding is compared with smallest integer instead of number after + rounding. This fix does not change the results of any tests. + * tests/expr.test: Add round() tests for cases near the min and max + int values. + * tests/util.test: Remove pointless warning code about testobj command + +2005-10-23 Miguel Sofer + + * generic/tclBasic.c: + * generic/tclBinary.c: + * generic/tclCmdAH.c: + * generic/tclCmdIL.c: + * generic/tclCmdMZ.c: + * generic/tclExecute.c: + * generic/tclLink.c: + * generic/tclMain.c: + * generic/tclProc.c: + * generic/tclScan.c: + * generic/tclTest.c: + * generic/tclVar.c: + * mac/tclMacInit.c: + * unix/tclUnixInit.c: + * win/tclWinInit.c: Ensure that the core never calls TclPtrSetVar, + Tcl_SetVar2Ex, Tcl_ObjSetVar2 or Tcl_SetObjErrorCode with a 0-ref new + value. It is not possible to handle error returns correctly in that + case [Bug 1334947], one has the choice of leaking the object in some + cases, or else risk crashing in some others. + +2005-10-22 Miguel Sofer + + * generic/tclExecute.c (INST_CONCAT): disable the optimisation for + wide integers. [Bug 1251791] + +2005-10-14 Zoran Vasiljevic + + * generic/tclIO.c (Tcl_ClearChannelHandlers): removed change dated + 2005-10-04 below. Look into [Bug 1323992] for detailed discussion. + +2005-10-13 Donal K. Fellows + + * generic/tclCmdAH.c (Tcl_FormatObjCmd): Stop [format] from seeing + the difference between ints and wides. [Bug 1284178] + +2005-10-13 Zoran Vasiljevic + + * generic/tclIO.c (Tcl_ClearChannelHandlers): temporary + ifdef TCL_THREADS changes done to de-activate pending + event processing when channel is being closed/cutted. + +2005-10-10 Jeff Hobbs + + * generic/tclInt.h: ensure MODULE_SCOPE decl + +2005-10-07 Jeff Hobbs + + * unix/tclUnixFCmd.c (TraverseUnixTree): Adjust 2004-11-11 change to + * tests/fCmd.test (fCmd-20.2): account for NFS special + files with a readdir rewind threshold. [Bug 1034337] + +2005-10-05 Andreas Kupries + + * generic/tclPipe.c (TclCreatePipeline): Fixed [Bug 1109294]. Applied + the patch provided by David Gravereaux. + + * doc/CrtChannel.3: Fixed [Bug 1104682], by application of David + Welton's patch for it, and added a note about wideSeekProc. + +2005-10-05 Jeff Hobbs + + * tests/env.test (env-6.1): + * win/tclWinPort.h: define USE_PUTENV_FOR_UNSET 1 + * generic/tclEnv.c (TclSetEnv, TclUnsetEnv): add + USE_PUTENV_FOR_UNSET to existing USE_PUTENV define to account for + various systems that have putenv(), but can't unset env vars with it. + Note difference between Windows and Linux for actually unsetting the + env var (use of '='). + Correct the resizing of the environ array. We assume that we are in + full ownership, but that's not correct. [Bug 979640] + +2005-10-04 Jeff Hobbs + + * win/tclWinSerial.c (SerialSetOptionProc): free argv [Bug 1067708] + + * tests/http.test: Do not URI encode -._~ according to + * library/http/http.tcl (init): RFC3986. [Bug 1182373] (aho) + + * generic/tclIOUtil.c (TclFSNormalizeAbsolutePath): make static + * generic/tclEncoding.c (TclFindEncodings): make static + + * unix/tclLoadShl.c (TclpDlopen): use DYNAMIC_PATH on second + shl_load only. [Bug 1204237] + +2005-10-04 Zoran Vasiljevic + + * generic/tclIO.c (Tcl_ClearChannelHandlers): now deletes any + outstanding timer for the channel. Also, prevents events still + in the event queue from triggering on the current channel. + + * generic/tclTimer.c (Tcl_DeleteTimerHandler): bail out early + if passed NULL argument. + +2005-09-30 Don Porter + + * generic/tclMain.c: Separate encoding conversion of command line + arguments from list formatting. [Bug 1306162] + +2005-09-27 Donal K. Fellows + + * generic/tclBinary.c (FormatNumber): Factorize out copying of double + values to a helper to work around ugly broken compiler problems. [Bug + 1116542] + +2005-09-15 Miguel Sofer + + * doc/ParseCmd.3: copy/paste fix [Bug 1292427] + +2005-09-15 Donal K. Fellows + + * unix/tcl.m4 (SC_TCL_EARLY_FLAGS): Added extra hack to allow Tcl to + transparently open large files on RHEL 3. [Bug 1287638] + + * unix/configure: autoconf-2.13 + +2005-09-07 Don Porter + + * generic/tclUtf.c (Tcl_UniCharToUtf): Corrected handling of negative + * tests/utf.test (utf-1.5): Tcl_UniChar input value. Incorrect + handling was producing byte sequences outside of Tcl's legal internal + encoding. [Bug 1283976] + +2005-08-29 Kevin Kenny + + * generic/tclBasic.c (ExprMathFunc): Restored "round away from zero" + * tests/expr.test (expr-46.*): behaviour to the "round" + function. Added test cases for the behavior, including the awkward + case of a number whose fractional part is 1/2-1/2ulp. [Bug 1275043] + +2005-08-25 Donal K. Fellows + + * generic/tclListObj.c (UpdateStringOfList): Stop uncontrolled and + unsafe crashes from happening when working with very large string + representations. [Bug 1267380] + +2005-08-17 Jeff Hobbs + + * generic/tclFCmd.c (TclFileMakeDirsCmd): fix to race condition in + file mkdir (backport from head 2005-06-13) [Bug 1217375] + +2005-08-16 Kevin Kenny + + * generic/tclEvent.c (Tcl_Finalize): Pushed Tcl_FinalizeLoad and + Tcl_ResetFilesystem down after Tcl_FinalizeThreadAlloc because + unloading DLLs can't happen while they still own TSD keys. + (This is a backport of changes made in the HEAD on 2005-08-10.) + +2005-08-05 Donal K. Fellows + + * unix/tclUnixInit.c (localeTable): Solaris uses a non-standard name + for the cp1251 charset. Thanks to Victor Wagner for reporting this. + [Bug 1252475] + +2005-08-05 Kevin Kenny + + * generic/tclExecute.c (TclExecuteByteCode): Fixed a corner case + * tests/expr.test (expr-38.1): where applying abs to + MIN_INT failed to promote the result to a wide integer. [Bug 1241572] + +2005-08-04 Don Porter + + * generic/tclObj.c: Simplified routines that manage the typeTable. + +2005-08-03 Don Porter + + * generic/tclCompExpr.c: Untangled some dependencies in the + * generic/tclEvent.c: order of finalization routines. + * generic/tclInt.h: [Bug 1251399] + * generic/tclObj.c: + +2005-07-30 Daniel Steffen + + * unix/configure, unix/tcl.m4: revert 2005-07-28 change. + + * unix/tclLoadDyld.c (TclpDlopen, TclpLoadMemory): workarounds for + bugs/changes in behaviour in Mac OS X 10.4 Tiger, sync formatting + changes from HEAD. + +2005-07-29 Donal K. Fellows + + * generic/tclCmdIL.c (InfoGlobalsCmd): Even in high-speed mode, still + have to take care with non-existant variables. [Bug 1247135] + +2005-07-28 Mo DeJong + + * win/README: Update link to msys_mingw8.zip. Remove old Cygwin + + Mingw info, people should just build with the msys + mingw + configuration. + +2005-07-28 Jeff Hobbs + + * unix/configure, unix/tcl.m4: defined TCL_LOAD_FROM_MEMORY on Darwin + only for SHARED_BUILD + +2005-07-28 Donal K. Fellows + + * generic/tclPipe.c (TclCreatePipeline): Arrange for POSIX systems to + * unix/tclUnixPipe.c (TclpOpenFile): use the O_APPEND flag for + * tests/exec.test (exec-19.1): files opened in a pipeline + like ">>this". Note that Windows cannot support such access; there is + no equivalent flag on the handle that can be set at the kernel-call + level. The test is unix-specific in every way. [Bug 1245953] + +2005-07-26 Mo DeJong + + * unix/configure: Regen. + * unix/configure.in: Check for a $prefix/share directory and add it + the the package if found. This will check for Tcl packages in + /usr/local/share when Tcl is configured with the default dist install. + [Patch 1231015] + +2005-07-26 Don Porter + + * doc/tclvars.n: Improved $errorCode documentation. [RFE 776921] + + * generic/tclBasic.c (Tcl_CallWhenDeleted): Converted to use + per-thread counter, rather than a process global one that required + mutex protection. [RFE 1077194] + + * generic/tclNamesp.c (TclTeardownNamespace): Re-ordering so that + * tests/trace.test (trace-34.4): command delete traces fire + while the command still exists. [Bug 1047286] + +2005-07-24 Mo DeJong + + * unix/tcl.m4 (SC_PROG_TCLSH, SC_BUILD_TCLSH): + * win/tcl.m4 (SC_PROG_TCLSH, SC_BUILD_TCLSH): + Split confused search for tclsh on PATH and build and install + locations into two macros. SC_PROG_TCLSH searches just the PATH. + SC_BUILD_TCLSH determines the name of the tclsh executable in the Tcl + build directory. [Bug 1160114], [Patch 1244153] + +2005-07-22 Don Porter + + * library/auto.tcl: Updates to the Tcl script library to make + * library/history.tcl: use of Tcl 8.4 feautures. Thanks to + * library/init.tcl: Patrick Fradin for prompting on this. + * library/package.tcl: [Patch 1237755] + * library/safe.tcl: + * library/word.tcl: + +2005-07-07 Jeff Hobbs + + * unix/tcl.m4, unix/configure: Backported [Bug 1095909], removing + * unix/tclUnixPort.h: any use of readdir_r as it is not + * unix/tclUnixThrd.c: necessary and just confuses things. + +2005-07-05 Don Porter + + * generic/tclCmdAH.c: New "encoding" Tcl_ObjType (not registered) + * generic/tclEncoding.c: that permits longer lifetimes of the + * generic/tclInt.h: Tcl_Encoding values kept as intreps of + Tcl_Obj's. Reduces the need for repeated reading of encoding + definition files from the filesystem. [Bug 1077262] + + * generic/tclNamesp.c: Allow for [namespace import] of a command + * tests/namespace.test: over a previous [namespace import] of itself + without throwing an error. [RFE 1230597] + +2005-07-01 Zoran Vasiljevic + + * unix/tclUnixNotfy.c: protect against spurious wake-ups while waiting + on the condition variable when tearing down the notifier thread. [Bug + 1222872] + +2005-06-27 Don Porter + + *** 8.4.11 TAGGED FOR RELEASE *** + + * library/auto.tcl: Reverted to Revision 1.12.2.3 (Tcl 8.4.9). + Restores the (buggy) behavior of [auto_reset] that fails to clear + away auto-loaded commands from non-global namespaces. Fixing this + bug exposed an unknown number of buggy files out there (including at + least portions of the Tk script library) that cannot tolerate double + [source]-ing. The burden of fixing these exposed bugs will not be + forced on package/extension/application authors until Tcl 8.5. + +2005-06-24 Kevin Kenny + + * generic/tclEvent.c (Tcl_Finalize): + * generic/tclInt.h: + * generic/tclPreserve.c (TclFinalizePreserve): Changed the + finalization logic so that Tcl_Preserve finalizes after exit + handlers run; a lot of code called from Tk's exit handlers + presumes tha Tcl_Preserve will still work even from an exit + handler. Also, made the assertion check that no exit handlers + are created in Tcl_Finalize conditional on TCL_MEM_DEBUG to + avoid spurious panics in the "stable" release. + +2005-06-24 Don Porter + + * library/auto.tcl: Make file safe to re-[source] without + destroying registered auto_mkindex_parser hooks. + +2005-06-23 Daniel Steffen + + * tools/tcltk-man2html.tcl: fixed useversion glob pattern to accept + multi-digit patchlevels. + +2005-06-23 Kevin Kenny + + * win/tclWinChan.c: More rewriting of __asm__ blocks that + * win/tclWinFCmd.c: implement SEH in GCC, because mingw's + gcc 3.4.2 is not as forgiving of violations committed by + the old code and caused panics. [Bug 1225957] + +2005-06-23 Daniel Steffen + + * unix/Makefile.in (install-private-headers): rewrite tclPort.h when + installing private headers to remove ../unix relative #include path to + tclUnixPort.h (which is incorrect at the installed location). + +2005-06-22 Kevin Kenny + + * generic/tclInt.h: Changed the finalization + * generic/tclEvent.c (Tcl_Finalize): logic to defer the + * generic/tclIO.c (TclFinalizeIOSubsystem): shutdown of the pipe + * unix/tclUnixPipe.c (TclFinalizePipes): management until after + * win/tclWinPipe.c (TclFinalizePipes): all channels have been + closed, in order to avoid a situation where the Windows + PipeCloseProc2 would re-establish the exit handler after exit + handlers had already run, corrupting the heap. [Bug 1225727] + Corrected a read of uninitialized memory in PipeCloseProc2, which (at + least on certain configurations) caused a great number of tests to + either fail or hang. [Bug 1225044] + +2005-06-22 Andreas Kupries + + * generic/tclInt.h: Followup to change made on 2005-06-18 by Daniel + Steffen. There are compilers (*) who error out on the redefinition of + WORDS_BIGENDIAN. We have to undef the previous definition (on the + command line) first to make this acceptable. (*): AIX native. + +2005-06-22 Don Porter + + * win/tclWinFile.c: Potential buffer overflow. [Bug 1225571] + Thanks to Pat Thoyts for discovery and fix. + + * tests/safe.test: Backport performance improvement from + reduced $::auto_path. + +2005-06-21 Pat Thoyts + + * tests/winDde.test: Added some waits to the dde server script to + let event processing run after we create the dde server and before + we exit the server process. This avoids 'server did not respond' + errors. + +2005-06-21 Kevin Kenny + + * generic/tclFileName.c: Corrected a problem where a directory name + containing a colon can crash the process on Windows [Bug 1194458] + * tests/fileName.test: Added test for [file split] and [file join] + with a name containing a colon. + * win/tclWinPipe.c: Reverted davygrvy's changes of 2005-04-19; + they cause multiple failures in io.test. [Bug 1225044, still open] + +2005-06-21 Don Porter + + * generic/tclBasic.c: Made the walk of the active trace list aware + * generic/tclCmdMZ.c: of the direction of trace scanning, so the + * generic/tclInt.h: proper correction can be made. [Bug 1224585] + * tests/trace.test (trace-34.2,3): + + * generic/tclBasic.c (Tcl_DeleteTrace): Added missing walk of the + * tests/trace.test (trace-34.1): list of active traces to + cleanup references to traces being deleted. [Bug 1201035] + +2005-06-20 Don Porter + + * doc/FileSystem.3: added missing Tcl_GlobTypeData documentation [Bug + 935853] + +2005-06-18 Daniel Steffen + + * generic/tclInt.h: ensure WORDS_BIGENDIAN is defined correctly with + fat compiles on Darwin (i.e. ppc and i386 at the same time), the + configure AC_C_BIGENDIAN check is not sufficient in this case because + a single run of the compiler builds for two architectures with + different endianness. + + * unix/tcl.m4 (Darwin): add -headerpad_max_install_names to LDFLAGS to + ensure we can always relocate binaries with install_name_tool. + + * unix/configure: autoconf-2.13 + +2005-06-18 Don Porter + + * changes: Update changes for 8.4.11 release + + * README: Bump version number to 8.4.11 + * generic/tcl.h: + * tools/tcl.wse.in: + * unix/configure.in: + * unix/tcl.spec: + * win/README.binary: + * win/configure.in: + + * unix/configure: autoconf + * win/configure: + +2005-06-18 Donal K. Fellows + + * generic/tclCmdAH.c (Tcl_FormatObjCmd): Fix for [Bug 1154163]; only + * tests/format.test: insert 'l' modifier when it is needed. + +2005-06-07 Donal K. Fellows + + * unix/tclUnixNotfy.c (Tcl_FinalizeNotifier): Add dummy variable + so threaded build compiles. + +2005-06-06 Kevin B. Kenny + + * win/tclWin32Dll.c: Corrected another buglet in the assembly code for + stack probing on Win32/gcc. [Bug 1213678] + +2005-06-03 Daniel Steffen + + *** 8.4.10 TAGGED FOR RELEASE *** + + * unix/tclLoadDyld.c: fixed header conflict when building this file + with USE_TCL_STUBS. + + * macosx/Makefile: fixed 'embedded' target. + +2005-06-02 Jeff Hobbs + + * unix/Makefile.in (html): add BUILD_HTML_FLAGS optional var + * tools/tcltk-man2html.tcl: add a --useversion to prevent + confusion when multiple Tcl source dirs exist. + + * changes: updated for 8.4.10 release (porter) + +2005-05-31 Zoran Vasiljevic + + * unix/tclUnixNotfy.c: the notifier thread is now created as + joinable thread and it is properly joined in Tcl_FinalizeNotifier. + This is an attempt to fix [Bug 1082283] + +2005-05-29 Jeff Hobbs + + * win/tclWinThrd.c (TclpFinalizeThreadData): move tlsKey defn + to top of file and clarify name (was 'key'). [Bug 1204064] + +2005-05-27 Jeff Hobbs + + * README: Bumped patchlevel to 8.4.10 + * generic/tcl.h: + * tools/tcl.wse.in: + * unix/tcl.spec, unix/configure, unix/configure.in: + * win/configure, win/configure.in: + +2005-05-26 Daniel Steffen + + * macosx/Makefile: moved & corrected EMBEDDED_BUILD check. + + * unix/configure.in: corrected framework finalization to softlink + stub library to Versions/8.x subdir instead of Versions/Current. + * unix/configure: autoconf-2.13 + +2005-05-25 Jeff Hobbs + + * generic/tclCmdMZ.c (Tcl_TimeObjCmd): add necessary cast + + * unix/configure, unix/configure.in: ensure false Tcl.framework is + only created with --enable-framework + +2005-05-24 Daniel Steffen + + * tests/env.test: added DYLD_FRAMEWORK_PATH to the list of env vars + that need to be handled specially. + + * macosx/Makefile: + * macosx/README: + * macosx/Tcl-Info.plist.in (new file): + * unix/Makefile.in: + * unix/configure.in: + * unix/tcl.m4: + * unix/tclUnixInit.c: moved all Darwin framework build support from + macosx/Makefile into the standard unix configure/make buildsystem, the + macosx/Makefile is no longer required to build Tcl.framework (but its + functionality is still available for backwards compatibility). + * unix/configure: autoconf-2.13 + + * generic/tclIOUtil.c (TclLoadFile): + * generic/tclInt.h: + * unix/tcl.m4: + * unix/tclLoadDyld.c: added support for [load]ing .bundle binaries in + addition to .dylib's: .bundle's can be [unload]ed (unlike .dylib's), + and can be [load]ed from memory, e.g. directly from VFS without + needing to be written out to a temporary location first. [Bug 1202209] + * unix/configure: autoconf-2.13 + + * generic/tclCmdMZ.c (Tcl_TimeObjCmd): change [time] called with a + count > 1 to return a string with a float value instead of a rounded + off integer. [Bug 1202178] + +2005-05-20 Zoran Vasiljevic + + * generic/tclParseExpr.c: removed unreferenced stack variable "errMsg" + probably included by fixing [Bug 1201589] (see below). + +2005-05-20 Don Porter + + * generic/tclParseExpr.c: Corrected parser to recognize all + boolean literals accepted by Tcl_GetBoolean, including prefixes like + "y" and "f", and to allow "eq" and "ne" as function names in the + proper context. [Bug 1201589] + +2005-05-19 Daniel Steffen + + * macosx/tclMacOSXNotify.c (Tcl_InitNotifier): fixed crashing + CFRelease of runLoopSource in Tcl_InitNotifier (reported by Zoran): + CFRunLoopAddSource doesn't CFRetain, so can only CFRelease the + runLoopSource in Tcl_FinalizeNotifier. + +2005-05-14 Daniel Steffen + + * macosx/tclMacOSXBundle.c: + * unix/tclUnixInit.c: + * unix/tcl.m4 (Darwin): made use of CoreFoundation API configurable + and added test of CoreFoundation availablility to allow building on + ppc64, replaced HAVE_CFBUNDLE by HAVE_COREFOUNDATION; test for + availability of Tiger or later OSSpinLockLock API. + + * unix/tclUnixNotfy.c: + * unix/Makefile.in: + * macosx/tclMacOSXNotify.c (new file): when CoreFoundation is + available, use new CFRunLoop based notifier: allows easy integration + with other event loops on Mac OS X, in particular the TkAqua Carbon + event loop is now integrated via a standard tcl event source (instead + of TkAqua upon loading having to finalize the exsting notifier and + replace it with its custom version). [Patch 1202052] + + * tests/unixNotfy.test: don't run unthreaded tests on Darwin since + notifier may be using threads even in unthreaded core. + + * unix/tclUnixPort.h: + * unix/tcl.m4 (Darwin): test for thread-unsafe realpath durning + configure, as Darwin 7 and later realpath is threadsafe. + + * macosx/tclMacOSXBundle.c: + * unix/tclLoadDyld.c: + * unix/tclUnixInit.c: fixed gcc 4.0 warnings. + + * unix/configure: autoconf-2.13 + +2005-05-10 Jeff Hobbs + + * tests/string.test: string-10.[21-30] + * generic/tclCmdMZ.c (Tcl_StringObjCmd): add extra checks to + prevent possible UMR in unichar cmp function for string map. + +2005-05-06 Jeff Hobbs + + * unix/tcl.m4, unix/configure: correct Solaris 10 (5.10) check and + add support for x86_64 Solaris cc builds. + +2005-04-29 Donal K. Fellows + + * doc/FileSystem.3: Backport of doc fix. [Bug 1172401] + +2005-04-27 Don Porter + + * library/init.tcl: Corrected flaw in interactive command + * tests/main.test: auto-completion. [Bug 1191409] + + * tests/unixInit.test (7.1): Alternative fix for the + 2005-04-22 commit. + +2005-04-25 Daniel Steffen + + * compat/string.h: fixed memchr() protoype for __APPLE__ so that we + build on Mac OS X 10.1 again. + + * generic/tclNotify.c (TclFinalizeNotifier): fixed notifier not being + finalized in unthreaded core (was testing for notifier initialization + in current thread by checking thread id != 0 but thread id is always 0 + in untreaded core). + + * unix/tclUnixNotfy.c (Tcl_WaitForEvent): sync with HEAD: only declare + and use timeout var in unthreaded core. + + * unix/Makefile.in: added @PLAT_SRCS@ to SRCS and split out + NOTIFY_SRCS from UNIX_SRCS for parity with UNIX_OBJS & NOTIFY_OBJS. + + * unix/configure.in: only run check for broken strstr implementation + if AC_REPLACE_FUNCS(strstr) hasn't already determined that strstr is + unavailable, otherwise compat/strstr.o will be used twice (resulting + in duplicate symbol link errors on Mac OS X 10.1) + + * unix/tcl.m4 (Darwin): added configure checks for recently added + linker flags -single_module and -search_paths_first to allow building + with older tools (and on Mac OS X 10.1), use -single_module in + SHLIB_LD and not just T{CL,K}_SHLIB_LD_EXTRAS, added unexporting from + Tk of symbols from libtclstub to avoid duplicate symbol warnings, + added PLAT_SRCS definition for Mac OS X. + (SC_MISSING_POSIX_HEADERS): added caching of dirent.h check. + (SC_TCL_64BIT_FLAGS): fixed 'checking for off64_t' message output. + + * unix/configure: autoconf-2.13 + +2005-04-22 Don Porter + + * generic/tclCmdMZ.c: Corrected intrep-dependence of + * tests/string.test: [string is boolean] [Bug 1187123] + +2005-04-22 Daniel Steffen + + * tests/unixInit.test (7.1): fixed failure when running tests with + -tmpdir arg not set to working dir. + +2005-04-20 Don Porter + + * generic/tclGet.c (Tcl_GetInt): Corrected error that did not + * generic/tclObj.c (Tcl_GetIntFromObj): permit 0x80000000 to be + recognized as an integer on TCL_WIDE_INT_IS_LONG systems [Bug 1090869] + +2005-04-19 Jeff Hobbs + + * tests/winPipe.test (winpipe-6.2): remove -blocking 1 as this one + can truly block. + +2005-04-19 David Gravereaux + + * win/tclWinPipe.c: The pipe channel driver now respects the -blocking + option when closing. The windows pipe driver now has the same behavior + as the UNIX side. This change is to avoid a hung shell when exiting + due to open pipes that refuse to close in a graceful manner. + * doc/open.n: Added a note about -blocking 0 and lack of exit status + as it had never been documented. [Bug 947693] + + ***POTENTIAL INCOMPATIBILITY*** + + Scripts that use async pipes on windows, must (like the UNIX side) set + -blocking to 1 before calling [close] to receive the exit status. + + * tests/winPipe.test (winpipe-6.1/2): added 'fconfigure $f -blocking + 1' so the exit status can be acquired. + +2005-04-13 David Gravereaux + + * generic/tclIO.c (Tcl_SetChannelBufferSize): Lowest size limit + * tests/io.test: changed from ten bytes to one byte. Need for + * tests/iogt.test: this change was proven by Ross Cartlidge + where [read stdin 1] was grabbing 10 bytes followed + by starting a child process that was intended to continue reading from + stdin. Even with -buffersize set to one, nine chars were getting lost + by the buffersize over reading for the native read() caused by [read]. + +2005-04-12 Kevin B. Kenny + + * compat/strstr.c: Added default definition of NULL to accommodate + building on systems with badly broken headers. [Bug 1175161] + +2005-04-09 Daniel Steffen + + * macosx/README: updated requirements for OS & developer tool versions + + other small fixes/cleanup. + + * unix/tcl.m4 (Darwin): added -single_module linker flag to + TCL_SHLIB_LD_EXTRAS and TK_SHLIB_LD_EXTRAS. + * unix/configure: autoconf-2.13 + +2005-04-05 Zoran Vasiljevic + + Set of changes correcting huge memory waste (not a leak) when a thread + exits. This has been introduced in 8.4.7 within an attempt to + correctly cleanup after ourselves when Tcl library is being unloaded + with the Tcl_Finalize() call. + + This fixes the [Bug 1178445]. + + * generic/tclInt.h: added prototypes for TclpFreeAllocCache() and + TclFreeAllocCache() + + * generic/tclThreadAlloc.c: modified TclFinalizeThreadAlloc() to + explicitly call TclpFreeAllocCache with the NULL-ptr as argument + signalling cleanup of private tsd key used only by the threading + allocator. + + * unix/tclUnixThrd.c: fixed TclpFreeAllocCache() to recognize when + being called with NULL argument. This is a signal for it to clean up + the tsd key associated with the threading allocator. + + * win/tclWinThrd.c: renamed TclWinFreeAllocCache to TclpFreeAllocCache + and fixed to recognize when being called with NULL argument. This is a + signal for it to clean up the tsd key associated with the threading + allocator. + +2005-04-05 Don Porter + + * generic/tclExecute.c (ExprSrandFunc): Replaced incursions into the + * generic/tclUtil.c (TclGetIntForIndex): intreps of numeric types with + simpler calls of Tcl_GetIntFromObj and Tcl_GetLongFromObj, now that + those routines are better behaved wrt shimmering. [Patch 1177129] + +2005-03-29 Jeff Hobbs + + * win/tcl.m4, win/configure: do not require cygpath in macros to + allow msys alone as an alternative. + + * win/tclWinTime.c (TclpGetDate): use time_t for 'time' [Bug 1163422] + +2005-03-18 Don Porter + + * generic/tclCompCmds.c (TclCompileIncrCmd): Corrected checks for + immediate operand usage to permit leading space and sign characters. + Restores more efficient bytecode for [incr x -1] that got lost in the + CONST string reforms of Tcl 8.4. [Bug 1165671] + + * generic/tclBasic.c (Tcl_EvalEx,TclEvalTokensStandard): + * generic/tclCmdMZ.c (Tcl_SubstObj): + * tests/basic.test (basic-46.4): Restored recursion limit + * tests/parse.test (parse-19.*): testing in nested command + substitutions within direct script evaluation (Tcl_EvalEx) that got + lost in the parser reforms of Tcl 8.1. Added tests for correct + behavior. [Bug 1115904] + +2005-03-15 Vince Darley + + * generic/tclFileName.c: + * win/tclWinFile.c: + * tests/winFCMd.test: fix to 'file pathtype' and 'file norm' failures + on reserved filenames like 'COM1:', etc. + +2005-03-15 Kevin B. Kenny + + * generic/tclClock.c: + * generic/tclDate.c: + * generic/tclGetDate.y: + * generic/tclInt.decls: + * unix/tclUnixTime.c: + * win/tclWinTime.c: Replaced 'unsigned long' variable holding + times with 'Tcl_WideInt', to cope with systems on which a time_t is + wider than a long (Win64) [Bug 1163422] + * generic/tclIntDecls.h: Regen + +2005-03-15 Pat Thoyts + + * unix/tcl.m4: Make it work on OpenBSD again. Imported patch + from the OpenBSD ports tree. + +2005-03-10 Don Porter + + * generic/tclCmdMZ.c (TclCheckInterpTraces): Corrected mistaken + cast of ClientData to (TraceCommandInfo *) when not warranted. Thanks + to Yuri Victorovich for the report. [Bug 1153871] + +2005-03-08 Jeff Hobbs + + * win/makefile.vc: clarify necessary defined vars that can come + from MSVC or the Platform SDK. + +2005-02-24 Don Porter + + * library/tcltest/tcltest.tcl: Better use of [glob -types] to avoid + * tests/tcltest.test: failed attempts to [source] a directory, and + similar matters. Thanks to "mpettigr". [Bug 1119798] + + * library/tcltest/pkgIndex.tcl: Bump to tcltest 2.2.8 + +2005-02-23 Donal K. Fellows + + * doc/CrtChannel.3 (THREADACTIONPROC): Formatting fix. [Bug 1149605] + +2005-02-17 Jeff Hobbs + + * win/tclWinFCmd.c (TraverseWinTree): use wcslen on wchar, not + Tcl_UniCharLen. + +2005-02-16 Miguel Sofer + + * doc/variable.n: fix for [Bug 1124160], variables are detected by + [info vars] but not by [info locals]. + +2005-02-10 Jeff Hobbs + + * unix/Makefile.in: remove SHLIB_LD_FLAGS (only for AIX, inlined + * unix/tcl.m4: into SHLIB_LD). Combine AIX-* and AIX-5 + * unix/configure: branches in SC_CONFIG_CFLAGS. + Correct gcc builds for AIX-4+ and HP-UX-11. + +2005-02-10 Miguel Sofer + + * generic/tclBasic.c (Tcl_EvalObjEx): + * tests/basic.test (basic-26.2): preserve the arguments passed to TEOV + in the pure-list branch, in case the list shimmers away. Fix for [Bug + 1119369], reported by Peter MacDonald. + +2005-02-10 Donal K. Fellows + + * doc/binary.n: Made the documentation of sign bit masking and + [binary scan] consistent. [Bug 1117017] + +2005-02-01 Don Porter + + * generic/tclExecute.c (TclCompEvalObj): Removed stray statement + left behind in prior code reorganization. + +2005-01-28 Jeff Hobbs + + * unix/configure, unix/tcl.m4: add solaris 64-bit gcc build + support. [Bug 1021871] + +2005-01-27 Jeff Hobbs + + * generic/tclBasic.c (Tcl_ExprBoolean, Tcl_ExprDouble) + (Tcl_ExprLong): Fix to recognize Tcl_WideInt type. [Bug 1109484] + +2005-01-27 Andreas Kupries + + TIP#218 IMPLEMENTATION + + * generic/tclDecls.h: Regenerated from tcl.decls. + * generic/tclStubInit.c: + + * doc/CrtChannel.3: Documentation of extended API, + * generic/tcl.decls: extended testsuite, and + * generic/tcl.h: implementation. Removal of old + * generic/tclIO.c: driver-specific TclpCut/Splice + * generic/tclInt.h: functions. Replaced with generic + * tests/io.test: thread-action calls through the + * unix/tclUnixChan.c: new hooks. Update of all builtin + * unix/tclUnixPipe.c: channel drivers to version 4. + * unix/tclUnixSock.c: Windows drivers extended to + * win/tclWinChan.c: manage thread state in a thread + * win/tclWinConsole.c: action handler. + * win/tclWinPipe.c: + * win/tclWinSerial.c: + * win/tclWinSock.c: + * mac/tclMacChan.c: + +2005-01-25 Don Porter + + * library/auto.tcl: Updated [auto_reset] to clear auto-loaded + procs in namespaces other than :: [Bug 1101670]. + +2005-01-25 Daniel Steffen + + * unix/tcl.m4 (Darwin): fixed bug with static build linking to dynamic + library in /usr/lib etc instead of linking to static library earlier + in search path. [Bug 956908] + Removed obsolete references to Rhapsody. + * unix/configure: autoconf-2.13 + +2005-01-19 Mo DeJong + + * win/tclWinChan.c (FileCloseProc): Invoke TclpCutFileChannel() to + remove a FileInfo from the thread local list before deallocating it. + This should have been done via an earlier call to Tcl_CutChannel, but + I was running into a crash in the next call to Tcl_CutChannel during + the IO finalization stage. + +2005-01-17 Vince Darley + + * tests/winFCmd.test: made test independent of current drive. [Bug + 1066528] + +2005-01-10 Donal K. Fellows + + * unix/tclUnixFCmd.c (CopyFile): Convert u_int to unsigned to make + clashes with types in standard C headers less of a problem. [Bug + 1098829] + +2005-01-06 Donal K. Fellows + + * library/http/http.tcl (http::mapReply): Significant performance + enhancement by using [string map] instead of [regsub]/[subst], and + update version requirement to Tcl8.4. [Bug 1020491] + +2005-01-05 Donal K. Fellows + + * unix/tclUnixInit.c (localeTable): Add encoding mappings for some + Chinese locales. [Bug 1084595] + + * doc/lsearch.n: Convert to other form of emacs mode control + comment to prevent problems with old versions of man. [Bug 1085127] + +2004-12-29 Jeff Hobbs + + * win/tcl.m4, win/configure: update MSVC CFLAGS_OPT to -O2, remove + -Gs (included in -O2) and -GD (outdated). Use "link -lib" instead + of "lib" binary and remove -YX for MSVC7 portability. Add + -fomit-frame-pointer for gcc OPT compiles. [Bug 1092952, 1091967] + +2004-12-13 Kevin B. Kenny + + * doc/clock.n: Clarify that the [clock scan] command does not accept + the full range of ISO8601 point-in-time formats. [Bug 1075433] + +2004-12-09 Donal K. Fellows + + * doc/Async.3: Reword for better grammar, better nroff and get the + flag name right. (Reported by David Welton.) + +2004-12-06 Jeff Hobbs + + *** 8.4.9 TAGGED FOR RELEASE *** + + * unix/tclUnixNotfy.c (NotifierThreadProc): init numFdBits [Bug + 1079286] + +2004-12-02 Jeff Hobbs + + * changes: updated for 8.4.9 release + +2004-12-02 Vince Darley + + * generic/tclIOUtil.c: fix and new tests for [Bug 1074671] to + * tests/fileSystem.test: ensure tilde paths are not returned specially + by 'glob'. + +2004-12-01 Don Porter + + * library/auto.tcl (tcl_findLibrary): Disabled use of [file normalize] + that caused trouble with freewrap. [Bug 1072136] + +2004-11-26 Don Porter + + * tests/reg.test (reg-32.*): Added missing testregexp constraints. + + * library/auto.tcl (tcl_findLibrary): Made sure the uniquifying + operations on the search path does not also normalize. [Bug 1072136] + +2004-11-26 Donal K. Fellows + + * doc/dde.n: Resynchonized the documentation with itself and fixed + some formatting errors. + +2004-11-25 Zoran Vasiljevic + + * doc/Notify.3: + * doc/Thread.3: Added doc fixes and hints from [Bug 1068077]. + +2004-11-25 Reinhard Max + + * tests/tcltest.test: The order in which [glob] returns the file names + * tests/fCmd.test: is undefined, so tests should not depend on it. + +2004-11-24 Don Porter + + * unix/tcl.m4 (SC_ENABLE_THREADS): Corrected failure to determine + the number of arguments for readdir_r on SunOS systems. [Bug 1071701] + + * unix/configure: autoconf-2.13 + +2004-11-24 Jeff Hobbs + + * README: Bumped patchlevel to 8.4.9 + * generic/tcl.h: + * tools/tcl.wse.in: + * unix/tcl.spec, unix/configure, unix/configure.in: + * win/configure, win/configure.in: + +2004-11-24 Kevin B. Kenny + + * unix/tcl.m4 (SC_ENABLE_THREADS): Corrected bad check for 3-argument + readdir_r(). [Bug 1001325] + * unix/configure: Regenerated. + * unix/tclUnixNotfy.c: Corrected all uses of 'select' to manage their + masks using the FD_CLR, FD_ISSET, FD_SET, and FD_ZERO macros rather + than bit-whacking that failed under Solaris-Sparc-64. [Bug 1071807] + +2004-11-23 Don Porter + + * generic/tclCmdIL.c (InfoVarsCmd): Corrected segfault in new + * tests/info.test (info-19.6): trivial matching branch [Bug 1072654] + +2004-11-23 Vince Darley + + * generic/tclPathObj.c: fix and new test for [Bug 1043129] in + * tests/fileSystem.test: the treatment of backslashes in file join on + Windows. + +2004-11-22 Mo DeJong + + * unix/configure: Regen. + * unix/tcl.m4 (SC_TCL_64BIT_FLAGS): Define HAVE_TYPE_OFF64_T only when + off64_t, open64(), and lseek64() are defined. IRIX 5.3 is known to not + include an open64 function. [Bug 1030465] + +2004-11-22 Mo DeJong + + * unix/configure: Regen. + * unix/tcl.m4 (SC_ENABLE_THREADS): Check for a 2 argument version of + readdir_r that is known to exists under IRIX 5.3. + * unix/tclUnixThrd.c (TclpReaddir): Use either 2 arg or 3 arg version + of readdir_r. [Bug 1001325] + +2004-11-19 Reinhard Max + + *** 8.4.8 TAGGED FOR RELEASE *** + + * unix/installManPage: Classic sed doesn't support | in REs. + +2004-11-19 Daniel Steffen + + * macosx/Makefile: + * unix/configure.in: + * unix/tclUnixInit.c (MacOSXGetLibraryPath): changed detection of tcl + framework build when determining tclLibPath from overloaded + TCL_LIBRARY to configuration define TCL_FRAMEWORK. [Bug 1068088] + + * unix/configure: autoconf-2.13 + + * tests/unixInit.test (7.1): fixed failure when running tests + with -tmpdir arg not set to working dir. + +2004-11-18 Don Porter + + * changes: Final updates for Tcl 8.4.8 release. + +2004-11-18 Reinhard Max + + * unix/tcl.m4 (SC_CONFIG_MANPAGES): Applied an improved version of + * unix/configure.in: [Patch 996085], that introduces + * unix/Makefile.in: --enable-man-suffix. + + * unix/installManPage: added + * unix/mkLinks.tcl: removed + * unix/mkLinks: removed + +2004-11-16 Jeff Hobbs + + * unix/tclUnixChan.c (TtySetOptionProc): fixed crash configuring + -ttycontrol on a channel. [Bug 1067708] + +2004-11-16 Andreas Kupries + + * win/makefile.vc: Fixed bug in installation of http 2.5. + * win/makefile.bc: Was installed into directory http2.4. + * win/Makefile.in: This has been corrected. + * unix/Makefile.in: + * tools/tcl.wse.in: + * tools/tclmin.wse: + +2004-11-16 Don Porter + + * library/auto.tcl: Updated [tcl_findLibrary] search path to + include the $::auto_path. [RFE 695441] + +2004-11-16 Donal K. Fellows + + * doc/tclvars.n: Mention global variables set by tclsh and wish so + they are easier to find. [Patch 1065732] + +2004-11-15 Don Porter + + * generic/tclCmdMZ.c (Tcl_TraceObjCmd): Fixed Bug 1065378 which failed + * tests/trace.test (trace-33.1): to permit a variable trace + created with [trace variable] to be destroyed with [trace remove]. + Thanks to Keith Vetter for the report. + +2004-11-12 Don Porter + + * library/init.tcl: Made [unknown] robust in the case that either + of the variables ::errorInfo or ::errorCode gets unset. [Bug 1063707] + +2004-11-12 Jeff Hobbs + + * generic/tclEncoding.c (TableFromUtfProc): correct crash + condition when TCL_UTF_MAX == 6. [Bug 1004065] + +2004-11-12 Daniel Steffen + + * doc/clock.n: + * doc/registry.n: + * doc/upvar.n: fixed *roff errors uncovered by running 'make html'. + + * tools/tcltk-man2html.tcl: added faked support for bullet point + lists, i.e. *nroff ".IP \(bu" syntax. + Synced other changes from HEAD. + +2004-11-11 Daniel Steffen + + * tests/fCmd.test: + * unix/tclUnixFCmd.c (TraverseUnixTree): added option to rewind() the + readdir() loop whenever the source hierarchy has been modified by + traverseProc (e.g. by deleting files); this is required to ensure + complete traversal of the source hierarchy on certain filesystems like + HFS+. Added test for failing recursive delete on Mac OS X that was due + to this. [Bug 1034337] + + * generic/tclListObj.c (Tcl_ListObjReplace): use memmove() instead of + manual copy loop to shift list elements. Decreases time spent in + Tcl_ListObjReplace() from 5.2% to 1.7% of overall runtime of tclbench + on a ppc 7455 (i.e. 200% speed increase). [Patch 1064243] + + * generic/tclHash.c: hoisted some constant pointer dereferences out of + loops to eliminate redundant loads that the gcc optimizer didn't deal + with. Decreases time spend in Tcl_FindHashEntry() by 10% over a full + run of the tcl testuite on a ppc 7455. [Patch 1064243] + + * tests/fileName.test: + * tests/fileSystem.test: + * tests/io.test: + * tests/tcltest.test: fixed bugs causing failures when running tests + with -tmpdir arg not set to working dir. + + * macosx/Makefile: corrected path to html help inside framework. + Prevent parallel make from building several targets at the same time. + +2004-11-09 Donal K. Fellows + + * doc/catch.n: Clarify documentation on return codes. [Bug 1062647] + +2004-11-02 Don Porter + + * changes: Updates for Tcl 8.4.8 release. + +2004-11-02 Don Porter + + * library/tcltest/tcltest.tcl: Corrected some misleading + * tests/tcltest.test (tcltest-26.1,2): displays of ::errorInfo and + ::errorCode information when the -setup, -body, and/or -cleanup scripts + return an unexpected return code. Thanks to Robert Seeger for the + fix. [RFE 1017151] + +2004-11-02 Donal K. Fellows + + * generic/tclExecute.c (TclExecuteByteCode): NaN-equality fix from + Miguel Sofer. [Bug 761471] + + * doc/CrtChannel.3 (Tcl_GetChannelMode): Add synopsis. [Bug 1058446] + +2004-10-31 Donal K. Fellows + + * generic/tclCmdIL.c (InfoGlobalsCmd): + * tests/info.test (info-8.4): Strip leading global-namespace + specifiers from the pattern argument. [Bug 1057461] + +2004-10-30 Miguel Sofer + + * generic/tclCmdAH.c (Tcl_CatchObjCmd): removed erroneous comment [Bug + 1029518] + +2004-10-29 Don Porter + + * library/tcltest/tcltest.tcl: Correct reaction to errors in the + obsolete processCmdLineArgsHook. [Bug 1055673] + * library/tcltest/pkgIndex.tcl: Bump to tcltest 2.2.7 + +2004-10-28 Andreas Kupries + + * generic/tclAlloc.c: Fixed [Bug 1030548], a threaded debug + * generic/tclThreadAlloc.c: build on Windows now works again. Had to + * win/tclWinThrd.c: touch Unix as well. Basic patch by Kevin, + * unix/tclUnixThrd.c: with modifications by myself. + +2004-10-28 Don Porter + + * README: Bumped patch level to 8.4.8 to prepare for + * generic/tcl.h: next patch release. + * tools/tcl.wse.in: + * unix/configure.in: + * unix/tcl.spec: + * win/README.binary: + * win/configure.in: + + * unix/configure: autoconf (2.13) + * win/configure: + +2004-10-28 Kevin B. Kenny + + * generic/tclInt.decls: + * unix/tclUnixTime.c (TclpGmtime, TclpLocaltime): + * win/tclWinTime.c (TclpGmtime, TclpLocaltime): Changed type + signatures of TclpGmtime and TclpLocaltime to accept CONST TclpTime_t + throughout, to avoid any possible confusion in pedantic compilers. + [Bug 1001319] + * generic/tclIntDecls.h: + * generic/tclIntPlatDecls.h: Regenerated. + +2004-10-27 Don Porter + + * generic/tclCmdAH.c (Tcl_FormatObjCmd): Restored missing line + from yesterday's 868489 backport that caused failed alloc's on LP64 + systems. + + * tests/appendComp.test: Backport test suite fixes of errors + * tests/autoMkindex.test: revealed by -singleproc 1 -debug 1 + * tests/exec.test: options to make test. + * tests/execute.test: + * tests/interp.test: + * tests/io.test: + * tests/namespace.test: + * tests/regexpComp.test: + * tests/stringComp.test: + * tests/unixInit.test: + * tests/winPipe.test: + +2004-10-26 Kevin B. Kenny + + * generic/tclCmdAH.c (Tcl_FormatObjCmd): Backport a missing bit of the + [Bug 868489] fix. + * generic/tclObj.c (SetBooleanFromAny): Backport fix for [Bug 1026125] + * tests/format.test (format-19.1): Additional regression test for + [Bug 868489]. + +2004-10-26 Donal K. Fellows + + * doc/*.n: Backporting of documentation updates. + +2004-10-26 Don Porter + + * tests/subst.test (subst-12.3-5): More tests for [Bug 1036649] + + * tests/compile.test (compile-12.4): Backport test for [Bug 1001997] + * tests/timer.test (timer-10.1): Backport test for [Bug 1016167] + * tests/tcltest.test (tcltest-12.3,4): Backport setup corrections. + * tests/error.test (error-6.3,4,7,9): Backport of some tests. + * tests/basic.test (basic-49.*): + * tests/namespace.test (namespace-8.7): + * tests/init.test (init-2.8): Updated to not rely on http package. + + * generic/tclThreadTest.c (ThreadEventProc): Corrected subtle bug + where the returned (char *) from Tcl_GetStringResult(interp) continued + to be used without copying or refcounting, while activity on the + interp continued. + +2004-10-14 Donal K. Fellows + + * generic/tclUtil.c (TclMatchIsTrivial): Detect degenerate cases of + glob matching that let us avoid scanning through hash tables. + * generic/tclCmdIL.c (InfoCommandsCmd, InfoGlobalsCmd, InfoProcsCmd): + (InfoVarsCmd): Use this to speed up some [info] subcommands. + +2004-10-08 Jeff Hobbs + + * win/tclWinFile.c (NativeIsExec): correct result of 'file executable' + to not be case sensitive. [Bug 954263] + +2004-10-05 Don Porter + + * generic/tclNamesp.c (Tcl_PopCallFrame): Removed Bug 1038021 + workaround. That bug is now fixed. + +2004-09-30 Don Porter + + * generic/tclNamespace.c (TclTeardownNamespace): Tcl_Obj-ified the + * tests/namespace.test (namespace-8.5,6): save/restore of + ::errorInfo and ::errorCode during global namespace teardown. Revised + the comment to clarify why this is done, and added tests that will + fail if this is not done. + + * generic/tclResult.c (TclTransferResult): Added safety checks so + that unexpected undefined ::errorInfo or ::errorCode will not lead to + a segfault. + + * generic/tclVar.c (CallVarTraces): Save/restore the flag values + * tests/var.test (var-16.1): that define part of the interpreter + state during variable traces. [Bug 1038021] + +2004-09-30 Miguel Sofer + + * tests/subst.test (12.2): test correction. + +2004-09-29 Miguel Sofer + + * generic/tclBasic.c (Tcl_EvalEx): + * tests/subst.test (12.1-2): fix for buffer overflow in [subst], [Bug + 1036649] + +2004-09-23 Mo DeJong + + * unix/dltest/Makefile.in (clean): Fixup make clean rule so that it + does not delete all files when SHLIB_SUFFIX is set to the empty string + in a static build. [Bug 1016726] + +2004-09-18 Donal K. Fellows + + * generic/tclExecute.c (TEBC-INST_LSHIFT,INST_RSHIFT): Ensure that + large shifts end up shifting correctly. [Bug 868467] + +2004-09-15 Daniel Steffen + + * tests/load.test (load-2.3): adopted fix for failure on darwin from + HEAD. + +2004-09-14 Don Porter + + * generic/tclObj.c (Tcl_GetIntFromObj): Corrected flaw in returning + the int value of a wideInteger. [Bug 1027690] + +2004-09-10 Donal K. Fellows + + * generic/tclObj.c (SetIntOrWideFromAny): Rewritten integral value + parsing code so that values do not flip so easily between numeric + representations. Thanks to KBK for this! [Bug 868489] + + * generic/tclIO.c (Tcl_Seek): Make sure wide seeks do not fail to set + ::errorCode on error. [Bug 1025359] + +2004-09-10 Andreas Kupries + + * generic/tcl.h: Micro formatting fixes. + * generic/tclIOGT.c: Channel version fixed, must be 3, to have + wideseekProc. Thanks to David Graveraux . + +2004-09-11 Don Porter + + * generic/tclNamespace.c (TclGetNamespaceForQualName): Resolved + longstanding inconsistency in the treatment of the TCL_NAMESPACE_ONLY + flag revealed by testing the 2004-09-09 commits against Itcl. + TCL_NAMESPACE_ONLY now acts as specified in the pre-function + comment, forcing resolution in the passed in context namespace. It has + been incorrectly forcing resolution in the interp's current namespace. + +2004-09-10 Miguel Sofer + + * generic/tclExecute.c (INST_CONCAT1): added a peephole optimisation + for concatting an empty string. This enables replacing the idiom 'K $x + [set x {}]' by '$x[set x {}]' for fastest execution. + +2004-09-09 Don Porter + + * generic/tclNamesp.c (Tcl_ForgetImport): Corrected faulty logic that + * tests/namespace.test: relied exclusively on string matching and + failed in the presence of [rename]s. [Bug 560297] + Also corrected faulty prevention of [namespace import] cycles. [Bug + 1017299] + +2004-09-08 Kevin B. Kenny + + * compat/strftime.c (_conv): Corrected a problem where hour 0 would + format as a blank format group with %k. + * tests/clock.test (clock-41.1): Added regression test case for %k at + the zero hour. + +2004-09-07 Kevin B. Kenny + + * generic/tclTimer.c: Removed a premature optimisation that attempted + to store the assoc data in the client data; the optimisation caused a + bug that [after] would overwrite its imports. [Bug 1016167] + +2004-09-02 Donal K. Fellows + + * doc/lsearch.n: Clarified meaning of -dictionary. [Bug 759545] + +2004-09-01 Jeff Hobbs + + * win/tclWinReg.c (BroadcastValue): WIN64 cast corrections + + * win/tclWinDde.c (DdeClientWindowProc): + (DdeServicesOnAck, DdeEnumWindowsCallback): WIN64 corrections + + * win/tclWin32Dll.c (TclWinCPUID): need _asm for WIN64 (Itanium), + until we have it, just return unknown. [Bug 1020445] + +2004-08-30 Donal K. Fellows + + * generic/tclCmdMZ.c (Tcl_StringObjCmd): Stop [string map] from + crashing when its map and input string are the same object. + +2004-08-27 Daniel Steffen + + * tests/env.test: macosx fixes. + +2004-08-19 Donal K. Fellows + + * generic/tclScan.c (Tcl_ScanObjCmd, ValidateFormat): Ensure that the + %ld conversion works correctly on 64-bit platforms. [Bug 1011860] + +2004-08-16 Miguel Sofer + + * doc/SetVar.3: + * generic/tclTest.c (TestseterrorcodeCmd): + * generic/tclVar.c (TclPtrSetVar): + * tests/result.test (result-4.*, result-5.*): [Bug 1008314] + detected and fixed by dgp. + +2004-08-13 Don Porter + + * library/msgcat/msgcat.tcl: Added checks to prevent [mclocale] + * tests/msgcat.test: from registering filesystem paths to possibly + malicious code to be evaluated by a later [mcload]. + * library/msgcat/pkgIndex.tcl: Bump to msgcat 1.3.3 + +2004-08-10 Zoran Vasiljevic + + * unix/tclUnixThrd.c (TclpThreadCreate): changed handling of the + returned thread ID since broken on 64-bit systems (Cray). Thanks to + Rob Ratcliff for reporting the bug. + +2004-07-30 Don Porter + + * generic/tclEvent.c (Tcl_Finalize): Re-organized Tcl_Finalize so + that Tcl_ExitProc's that call Tcl_Finalize recursively do not cause + deadlock. [Patch 999084, fixes Tk Bug 714956] + +2004-07-30 Daniel Steffen + + * unix/configure: + * unix/tcl.m4 (SC_CONFIG_CFLAGS): Darwin: instead of setting PLAT_OBJS + to explict object files in tcl.m4, refer to MAC_OSX_OBJS makefile var. + * unix/Makefile.in: added MAC_OSX_OBJS variable. + +2004-07-28 Don Porter + + * generic/tclMain.c (Tcl_Main, StdinProc): Append newline only to + * tests/basic.test (basic-46.1): incomplete scripts as part + of multi-line script construction. Do not add an extra trailing + newline to the complete script. [Bug 833150] + +2004-07-26 Jeff Hobbs + + *** 8.4.7 TAGGED FOR RELEASE *** + + * tests/io.test (io-61.1): create file in binary mode for x-plat. + +2004-07-25 Pat Thoyts + + * generic/tclThreadAlloc.c: Moved the tclInt.h include to provide + Tcl_Panic which is now required for non-threaded build. + +2004-07-22 Don Porter + + * tests/eofchar.data (removed): Test io-61.1 now generates its own + * tests/io.test: file of test data as needed. + +2004-07-21 Don Porter + * win/tclWinDde.c: Bump to dde 1.2.3 to cover changes + * library/dde/pkgIndex.tcl: committed on 2004-06-14. + + * changes: Updated for Tcl 8.4.7 release. + +2004-07-20 Jeff Hobbs + + * generic/tclEvent.c: Correct threaded obj allocator to + * generic/tclInt.h: fully cleanup on exit and allow for + * generic/tclThreadAlloc.c: reinitialization. [Bug 736426] + * unix/tclUnixThrd.c: (mistachkin, kenny) + * win/tclWinThrd.c: + +2004-07-20 Daniel Steffen + + * unix/tcl.m4: fixed Darwin autoconf breakage caused by recent CFLAGS + reordering. + * unix/configure: regen + + * unix/tclConfig.sh.in: replaced EXTRA_CFLAGS with CFLAGS. + * unix/dltest/Makefile.in: replaced EXTRA_CFLAGS with DEFS. + + * macosx/tclMacOSXBundle.c: dynamically acquire address for + CFBundleOpenBundleResourceMap symbol, since it is only present in + full CoreFoundation on Mac OS X and not in CFLite on pure Darwin. + +2004-07-19 Jeff Hobbs + + * unix/Makefile.in, unix/tcl.m4: move (C|LD)FLAGS after their + * unix/configure.in, unix/configure: _DEFAULT to allow for env setting + to override m4 switches. + Consolidate header checks to limit redundancy in configure. + (CFLAGS_WARNING): Remove -Wconversion, add -fno-strict-aliasing for + gcc builds (need to suppress 3.x type puning warnings). + (SC_ENABLE_THREADS): Set m4 to force threaded build when built against + a threaded Tcl core. + Reorder configure.in for better 64-bit build configuration, replacing + EXTRA_CFLAGS with CFLAGS. [Bug 874058] + +2004-07-19 Zoran Vasiljevic + + * win/tclwinThrd.c: redefined MASTER_LOCK to call TclpMasterLock. + Fixes [Bug 987967] + +2004-07-16 Andreas Kupries + + * generic/tclIOCmd.c (Tcl_FcopyObjCmd): Corrected a typo in the + generation of error messages and simplified by reusing data in a + variable instead of retrieving the string again. Fixes [Bug 835289] + + * doc/OpenFileChnl.3: Added description of the behaviour of + Tcl_ReadChars when its 'charsToRead' argument is set to -1. Fixes [Bug + 934511] + + * doc/CrtCommand.3: Added note that the arguments given to the command + proc of a Tcl_CreateCommand are in utf8 since Tcl 8.1. Closing [Patch + 414778] + + * doc/ChnlStack.3: Removed the declaration that the interp argument to + Tcl_(un)StackChannel can be NULL. This fixes [Bug 881220], reported by + Marco Maggi . + + * tests/socket.test: Accepted two new testcases by Stuart Casoff + checking that -server and -async don't go + together [Bug 796534] + + * unix/tclUnixNotfy.c (NotifierThreadProc): Accepted Joe Mistachkin's + patch for [Bug 990500], properly closing the notifier thread when its + exits. + +2004-07-15 Andreas Kupries + + * unix/tclUnixThrd.c (TclpFinalizeMutex): Accepted Joe Mistachkin's + patch for [Bug 990453], closing leakage of mutexes. They were not + destroyed properly upon finalization. + +2004-07-15 Zoran Vasiljevic + + * generic/tclEvent.c (NewThreadProc): Backout of changes to fix [Bug + 770053]. See SF bugreport for more info. + + * generic/tclNotify.c (TclFinalizeNotifier): Added conditional + notifier finalization based on the fact that an TclInitNotifier has + been called for the current thread. This fixes [Bug 770053] again. + Hopefully this time w/o unwanted side-effects. + +2004-07-14 Andreas Kupries + + * generic/tclIO.h (CHANNEL_INCLOSE): New flag. Set in Tcl_Close + * generic/tclIO.c (Tcl_UnregisterChannel): while the close callbacks + * generic/tclIO.c (Tcl_Close): are run. Checked in + Tcl_Close and Tcl_Unregister to prevent recursive call of [close] in + the close-callbacks. This is a possible error made by implementors of + virtual filesystems based on 'tclvfs', thinking that they have to + close the channel in the close handler for the filesystem. + +2004-07-14 Andreas Kupries + + * generic/tclIO.c: + * generic/tclIO.h: + Not reverting, but #ifdef'ing the changes from May 19, 2004 out of the + core. This removes the ***POTENTIAL INCOMPATIBILITY*** for channel + drivers it introduced. This has become possible due to Expect gaining + a BlockModeProc and now handling blockingg and non-blocking modes + correctly. Thus [Bug 943274] is still fixed if a recent enough version + of Expect is used. + + * doc/CrtChannel.3: Added warning about usage of a channel without a + BlockModeProc. + +2004-07-15 Andreas Kupries + + * generic/tclIOCmd.c (Tcl_PutsObjCmd): Added length check to the old + depreceated newline syntax, to ensure that only "nonewline" is + accepted. [Bug 985869] (mistachkin) + +2004-07-13 Jeff Hobbs + + * README, generic/tcl.h, tools/tcl.wse.in: bumped to + * unix/configure, unix/configure.in, unix/tcl.spec: patchlevel + * win/README.binary, win/configure, win/configure.in: 8.4.7 + +2004-07-13 Zoran Vasiljevic + + * generic/tclEvent.c (NewThreadProc): Fixed broken build on Windows + caused by missing TCL_THREAD_CREATE_RETURN. This is backported from + HEAD. Thnx to Kevin Kenny for spotting this. + +2004-07-03 Miguel Sofer + + * generic/tclExecute.c (ExprRoundFunc): + * tests/expr-old.test (39.1): added support for wide integers to + round(); [Bug 908375], reported by Hemang Lavana. + +2004-07-02 Jeff Hobbs + + * generic/regcomp.c (stid): correct minor pointer size error + + * generic/tclPipe.c (TclCreatePipeline): Add 2>@1 as a special + * tests/exec.test: case redir of stderr to the result output. + +2004-07-02 Vince Darley + + * tests/fileSystem.test: new tests backported + * win/tclWin32Dll.c: compilation fix for VC++5.2 + +2004-06-29 Donal K. Fellows + + * library/safe.tcl: Make sure that the temporary variable is + local to the namespace and not inadvertently global. [Bug 981733] + +2004-06-22 Zoran Vasiljevic + + * generic/tclEvent.c: + * generic/tclInt.h: + * unix/tclUnixNotfy.c: + * unix/tclUnixThrd.c: + * win/tclWinThrd.c: See bug report for more information about what it + does. [Bug 770053] + + * tests/unixNotfy.test: rewritten to use tcltest::threadReap to + gracefully wait for the test thread to exit. Otherwise we got a race + condition with main thread exiting before the test thread. This + exposed the long-standing Tcl lib issue with resource + garbage-collection on application exit. + +2004-06-21 Mo DeJong + + * win/tclWin32Dll.c (DllMain, _except_dllmain_detach_handler) + (TclpCheckStackSpace, _except_checkstackspace_handler, TclWinCPUID) + (_except_TclWinCPUID_detach_handler): + * win/tclWinChan.c (Tcl_MakeFileChannel) + (_except_makefilechannel_handler): + * win/tclWinFCmd.c (DoRenameFile, _except_dorenamefile_handler) + (DoCopyFile, _except_docopyfile_handler): + Rework pushing of exception handler function pointer so that compiling + with gcc -O3 works. Remove empty function call to avoid compiler + warning. Mark the DllMain function as noinline to avoid compiler error + from duplicated asm labels in generated code. + +2004-06-14 Pat Thoyts + + * tests/winDde.test: Fixed -async test + * win/tclWinDde.c: Backported the fix from 8.5 to avoid hanging in the + presence of applications that do not process Window messages. + +2004-06-10 Andreas Kupries + + * generic/tclDecls.h: Regenerated on a unix box. The Win/DOS + * generic/tclIntDecls.h: EOLs from the last regen screwed up + * generic/tclIntPlatDecls.h: compilation with an older gcc. + * generic/tclPlatDecls.h: + * generic/tclStubInit.c: + +2004-06-10 Zoran Vasiljevic + + * generic/tclIOUtil.c: partially corrected [Bug 932314]. Also, + corrected return values of Tcl_FSChdir() to reflect those of the + underlying platform-specific call. Originally, return codes were mixed + with those of Tcl. + +2004-06-08 Miguel Sofer + + * generic/tclCompile.c: handle warning [Bug 969066] + +2004-06-05 Kevin B. Kenny + + * generic/tcl.h: Corrected Tcl_WideInt declarations so that the mingw + build works again. + * generic/tclDecls.h: Changes to the tests for + * generic/tclInt.decls: clock frequency in Tcl_WinTime + * generic/tclIntDecls.h: so that any clock frequency is + * generic/tclIntPlatDecls.h: accepted provided that all + * generic/tclPlatDecls.h: CPU's in the system share a + * generic/tclStubInit.c: common chip, and hence, + * tests/platform.test (platform-1.3): presumably, a common clock. + * win/tclWin32Dll.c (TclWinCPUID): This change necessitated a + * win/tclWinTest.c (TestwincpuidCmd) small burst of assembly code + * win/tclWinTime.c (Tcl_GetTime): to read CPU ID information, + which was added as TclWinCPUID in the internal Stubs. To test this + code in the common case of a single-processor machine, a + 'testwincpuid' command was added to tclWinTest.c, and a test case in + platform.test. Thanks to Jeff Godfrey and Richard Suchenwirth for + reporting this bug. [Bug 976722] + +2004-05-27 Kevin B. Kenny + + * tests/clock.test: Added a single test for the presence of %G in + [clock format], and conditioned out the clock-10.x series if they're + all going to fail because of a broken strftime() call. [Bug 961714] + +2004-05-27 Reinhard Max + + * generic/tclEncoding.c: + * tests/encoding.test: added support and tests for translating + embedded null characters between real nullbytes and the internal + representation on input/output. [Bug 949905] + +2004-05-26 Don Porter + + * library/tcltest/tcltest.tcl: Correction to debug prints and testing + * library/tcltest/pkgIndex.tcl: if TCLTEST_OPTIONS value. Corrected + * tests/tcltest.test: double increment of numTestFiles in + -singleproc 1 configurations. Updated tcltest-19.1 to tcltest 2.1 + behavior. Corrected tcltest-25.3 to not falsely report a failure in + tcltest.test. Bumped to tcltest 2.2.6. [Bugs 960560, 960926] + +2004-05-25 Jeff Hobbs + + * doc/http.n (http::config): add -urlencoding option (default utf-8) + * library/http/http.tcl: that specifies encoding conversion of + * library/http/pkgIndex.tcl: args for http::formatQuery. Previously + * tests/http.test: undefined, RFC 2718 says it should be + utf-8. 'http::config -urlencoding {}' returns previous behavior, + which will throw errors processing non-latin-1 chars. Bumped http + package to 2.5.0. + +2004-05-25 Kevin Kenny + + * tests/winFCmd.test: Correct test for the presence of a CD-ROM so + that it doesn't misdetect some other sort of filesystem with a + write-protected root as being a CD-ROM drive. [Bug 918267] + +2004-05-24 Jeff Hobbs + + * generic/tclExecute.c (VerifyExprObjType): use GET_WIDE_OR_INT to + properly have tclIntType used for smaller values. This corrects TclX + bug 896727 and any other 3rd party extension that created math + functions but was not yet WIDE_INT aware in them. + +2004-05-24 Miguel Sofer + + * doc/set.n: accurate description of name resolution process, + referring to namespace.n for details [Bug 959180] + +2004-05-22 Miguel Sofer + + * generic/tclVar.c (TclObjUnsetVar2): backported fix [Bug 735335] and + new (in tcl8.4) exteriorisations of [Bug 736729] due to the use of + tclNsVarNameType obj types. The consequences of [Bug 736729] should be + the same as in tcl8.3 and previous versions. The use of + tclNsVarNameType objs is still disabled, pending a decision by the + release manager. + +2004-05-19 Donal K. Fellows + + * win/tclWinFile.c (TclpMatchInDirectory): fix for an issue where + there was a sneak path from Tcl_DStringFree to SetErrorCode(0). The + result was that the error code could be reset between a call to + FindFirstFile and the check of its status return, leading to a bizarre + error return of {POSIX unknown {No error}}. (Found in unplanned test - + no incident logged at SourceForge.) + +2004-05-19 Andreas Kupries + + * generic/tclIO.c: Fixed [SF Tcl Bug 943274]. This is the same problem + * generic/tclIO.h: as [SF Tcl Bug 462317], see ChangeLog entry + 2001-09-26. The fix done at that time is incomplete. It is possible to + get around it if the actual read operation is defered and not executed + in the event handler itself. Instead of tracking if we are in an read + caused by a synthesized fileevent we now track if the OS has delivered + a true event = actual data and bypass the driver if a read finds that + there is no actual data waiting. The flag is cleared by a short or + full read. [[this bug amended 2004-07-14]] + +2004-05-18 Kevin B. Kenny + + * compat/strftime.c (_fmt, ISO8601Week): + * doc/clock.n: + * tests/clock.test: Major rework to the handling of ISO8601 week + numbers. Now passes all the %G and %V test cases on Windows, Linux and + Solaris [Bugs 500285, 500389, and 852944] + +2004-05-17 Kevin B. Kenny + + * generic/tclInt.decls: Restored TclpTime_t kludge to all places + * generic/tclIntPlatDecls.h: where it appeared before the changes of + * unix/tclUnixPort.h 14 May, because use of native time_t in + * unix/tclUnixTime.h its place requires the 8.5 header + * win/tclWinTime.h: reforms. [Bug 955146] + +2004-05-17 Donal K. Fellows + + * doc/OpenFileChnl.3: Documented type of 'offset' argument to Tcl_Seek + was wrong. [Bug 953374] + +2004-05-14 Kevin B. Kenny + + * generic/tclInt.decls: Promoted TclpLocaltime and TclpGmtime + * generic/tclIntDecls.h: from Unix-specific stubs to the generic + * generic/tclIntPlatDecls.h: internal Stubs table. Reran 'genstubs' + * generic/tclStubInit.c: + * unix/tclUnixPort.h: + + * generic/tclClock.c: Changed a buggy 'GMT' timezone specification to + the correct 'GMT0'. [Bug 922848] + + * unix/tclUnixThrd.c: Moved TclpGmtime and TclpLocaltime to + unix/tclUnixTime.c where they belong. + + * unix/tclUnixTime.c (TclpGmtime, TclpLocaltime, TclpGetTimeZone, + (ThreadSafeGMTime[removed], ThreadSafeLocalTime[removed], + (SetTZIfNecessary, CleanupMemory): Restructured to make sure that the + same mutex protects all calls to localtime, gmtime, and tzset. Added a + check in front of those calls to make sure that the TZ env var hasn't + changed since the last call to tzset, and repeat tzset if necessary. + [Bug 940278] Removed a buggy test of the Daylight Saving Time + information in 'gettimeofday' in favor of applying 'localtime' to a + known value. [Bug 922848] + + * tests/clock.test (clock-3.14): Added test to make sure that changes + to $env(TZ) take effect immediately. + + * win/tclWinTime.c (TclpLocaltime, TclpGmtime): Added porting layer + for 'localtime' and 'gmtime' calls. + +2004-05-10 David Gravereaux + + * win/tclWinPipe.c (BuildCommandLine): Append a space when the path + got primed. + (TclpCreateProcess): When under NT, with no console, and executing a + DOS application, the path priming does not need an ending space as + BuildCommandLine() will append one for us. + +2004-05-07 Miguel Sofer + + * doc/unset.n: added upvar.n to the "see also" list + +2004-05-05 David Gravereaux + + * generic/tclEvent.c: TclSetLibraryPath's use of caching the stringrep + of the pathPtr object to TclGetLibraryPath called from another thread + was ineffective if the original's stringrep had been invalidated as + what happens when it gets muted to a list. + + * generic/tclEncoding.c: Added FreeEncoding(systemEncoding) in + TclFinalizeEncodingSubsystem because its ref count was incremented in + TclInitEncodingSubsystem. + + * win/tclWin32Dll.c: Structured Exception Handling added around + Tcl_Finalize called from DllMain's DLL_PROCESS_DETACH. We can't be + 100% assured that Tcl is being unloaded by the OS in a stable + condition and we need to protect the exit handlers should the stack be + in a hosed state. AT&T style assembly for SEH under MinGW included, + too. [Patch 858493] + + Also added DisableThreadLibraryCalls() for the DLL_PROCESS_ATTACH + case. We're not interested in knowing about DLL_THREAD_ATTACH, so + disable the notices. + + * generic/tclInt.h: + * generic/tclThread.c: + * generic/tclEvent.c: + * unix/tclUnixThrd.c: + * win/tclWinThrd.c: Provisions made so masterLock, initLock, + allocLock and joinLock mutexes can be recovered during Tcl_Finalize. + + * win/tclWinSock.c: + (SocketThreadExitHandler): Don't call TerminateThread when + WaitForSingleObject returns a timeout. Tcl_Finalize called from + DllMain will pause all threads. Trust that the thread will get the + close notice at a later time if it does ever wake up before being + cleaned up by the system anyway. + (SocketEventProc): connect errors should fire both the readable and + writable handlers because this is how it works on UNIX. [Bug 794839] + + * win/coffbase.txt: Added the tls extension to the list of preferred + load addresses. + +2004-05-05 Don Porter + + * tests/unixInit.test (unixInit-2.10): Test correction for Mac OSX. + Be sure to consistently compare normalized path names. Thanks to + Steven Abner (tauvan). [Bug 948177] + +2004-05-05 Donal K. Fellows + + * doc/CrtObjCmd.3: Remove reference to Tcl_RenameCommand; there is no + such API. [Bug 848440] + +2004-05-04 Jeff Hobbs + + * generic/tclIOUtil.c (Tcl_FSChdir): Work-around crash condition + * tests/winFCmd.test (winFCmd-16.12): triggered when $HOME is + volumerelative (ie 'C:'). + + * tests/fileName.test (filename-12.9): use C:/ instead of the first + item in file volumes - that's usually A:/, which for most will have + nothing in it. + +2004-05-04 Don Porter + + * tests/tcltest.test: Test corrections for Mac OSX. Thanks to Steven + Abner (tauvan). [Bug 947440] + +2004-05-03 Andreas Kupries + + Applied [SF Tcl Patch 868853], fixing a mem leak in TtySetOptionProc. + Report and Patch provided by Stuart Cassoff . + +2004-05-03 Kevin Kenny + + * win/tclWin32Dll.c (TclpCheckStackSpace): + * tests/stack.test (stack-3.1): Fix for undetected stack overflow in + TclReExec on Windows. [Bug 947070] + +2004-05-03 Don Porter + + * library/init.tcl: Corrected unique prefix matching of + interactive command completion in [unknown]. [Bug 946952] + +2004-05-02 Miguel Sofer + + * generic/tclProc.c (TclObjInvokeProc): + * tests/proc.test (proc-3.6): fix for bad quoting of multi-word proc + names in error messages [Bug 942757] + +2004-04-23 Andreas Kupries + + * generic/tclIO.c (Tcl_SetChannelOption): Fixed [Bug 930851]. When + changing the eofchar we have to zap the related flags to prevent them + from prematurely aborting the next read. + +2004-04-07 Jeff Hobbs + + * win/configure: + * win/configure.in: define TCL_LIB_FLAG, TCL_BUILD_LIB_SPEC, + TCL_LIB_SPEC and TCL_PACKAGE_PATH in tclConfig.sh. + +2004-04-06 Don Porter + + * tests/unixInit.test (unixInit-3.1): Default encoding on Darwin + systems is utf-8. Thanks to Steven Abner (tauvan). [Bug 928808] + +2004-04-06 Donal K. Fellows + + * tests/cmdAH.test (cmdAH-18.2): Added constraint because + access(...,X_OK) is defined to be permitted to be meaningless when + running as root, and OSX exhibits this. [Bug 929892] + +2004-04-02 Don Porter + + * tests/tcltest.test: Corrected constraint typos: "nonRoot" -> + "notRoot". Thanks to Steven Abner (tauvan). [Bug 928353] + +2004-03-31 Don Porter + + * doc/msgcat.n: Clarified message catalog file encodings. [Bug 811457] + * library/msgcat/msgcat.tcl ([mcset], [ConvertLocale], [Init]): + Corrected [mcset] to be able to successfully set a translation to + the empty string. [mcset $loc $src {}] was incorrectly set the $loc + translation of $src back to $src. Also changed [ConvertLocale] to + minimally require a non-empty "language" part in the locale value. If + not, an error raised prompts [Init] to keep looking for a valid locale + value, or ultimately fall back on the "C" locale. [Bug 811461] + * library/msgcat/pkgIndex.tcl: Bump to msgcat 1.3.2. + +2004-03-31 Donal K. Fellows + + * generic/tclObj.c (HashObjKey): Make sure this hashes the whole + string rep of the object, instead of missing the last character. + +2004-03-29 Jeff Hobbs + + * generic/tclInt.h: + * generic/tclEncoding.c (TclFindEncodings, Tcl_FindExecutable): + * mac/tclMacInit.c (TclpInitLibraryPath): Correct handling of UTF + * unix/tclUnixInit.c (TclpInitLibraryPath): data that is actually + * win/tclWinFile.c (TclpFindExecutable): "clean", allowing the + * win/tclWinInit.c (TclpInitLibraryPath): loading of Tcl from paths + that contain multi-byte chars on Windows [Bug 920667] + +2004-03-28 Miguel Sofer + + * generic/tclCompile.c (TclCompileScript): corrected possible segfault + when a compilation returns TCL_OUTLINE_COMPILE after having grown the + compile environment. [Bug 925121] + +2004-03-21 Jeff Hobbs + + * win/tclWinInt.h: define VER_PLATFORM_WIN32_CE if not already set. + * win/tclWinInit.c (TclpSetInitialEncodings): recognize WIN32_CE + as a unicode (WCHAR) platform. + +2004-03-15 Miguel Sofer + + * generic/tclCompile.c (TclCompileScript): + * tests/compile.test (compile-3.5): corrected wrong test and behaviour + in the earlier fix for [Bug 705406]; Don Porter reported this as [Bug + 735055], and provided the solution. Fixed in HEAD on 2003-05-09, but + backport to 8-4-branch was wrongly omitted; re-reported as [Bug + 916795] by Roy Terry, diagnosed by dgp. + +2004-03-08 Vince Darley + + * generic/tclFileName.c: Fix to 'glob -path' near the root + * tests/fileName.test: of the filesystem. [Bug 910525] + +2004-03-01 Don Porter + + *** 8.4.6 TAGGED FOR RELEASE *** + + * unix/tcl.m4 (SC_CONFIG_CFLAGS): Allow 64-bit enabling on + IRIX64-6.5* systems. [Bug 218561] + * unix/configure: autoconf-2.13 + + * generic/tclCmdMZ.c (TclCheckInterpTraces): The TIP 62 + * generic/tclTest.c (TestcmdtraceCmd): implementation introduced a + * tests/basic.test (basic-39.10): bug by testing the CallFrame + level instead of the iPtr->numLevels level when deciding what traces + created by Tcl_Create(Obj)Trace to call. Added test to expose the + error, and made fix. [Request 462580] + +2004-02-26 Daniel Steffen + + * macosx/Makefile: fixed copyright year in Tcl.framework Info.plist + +2004-02-25 Don Porter + + * tests/basic.test: Made several tests more robust to the + * tests/cmdMZ.test: list-quoting of path names that might + * tests/exec.test: contain Tcl-special chars like { or [. + * tests/io.test: Should help us sort out Tcl Bug 554068. + * tests/pid.test: + * tests/socket.test: + * tests/source.test: + * tests/unixInit.test: + +2004-02-25 Donal K. Fellows + + * unix/tclUnixChan.c (TcpGetOptionProc): Stop memory leak with very + long hostnames. [Bug 888777] + +2004-02-25 David Gravereaux + + * tests/winPipe.test: + * win/tclWinPipe.c: backport of BuildCommandLine changes to mirror + msvcrt's parse_cmdline() rules of quoting. + +2004-02-19 Mo DeJong + + * win/tclWinInit.c (AppendEnvironment): Use the tail component of the + passed in lib path instead of just blindly using lib+4. That worked + when lib was "lib/..." but fails for other values. Thanks go to + Patrick Samson for pointing this out. + +2004-02-17 Don Porter + + * doc/tcltest.n: + * library/tcltest/tcltest.tcl: Changed -verbose default value to + {body error} so that detailed information on unexpected errors in + tests is provided by default, even after the fix for [Bug 725253] + +2004-02-17 Jeff Hobbs + + (reverted due to test failures on Solaris, but not Win/Lin :/) + * generic/tclIOUtil.c: backport of rewrite of generic file + normalization code to cope with links followed by '..'. [Bug 849514], + and parts of [859251] + + * tests/unixInit.test: unixInit-7.1 + * unix/tclUnixInit.c (TclpInitPlatform): ensure the std fds exist to + prevent crash condition [Bug 772288] + +2004-02-16 Jeff Hobbs + + * generic/tclCmdMZ.c (TclTraceExecutionObjCmd) + (TclTraceCommandObjCmd): fix possible mem leak in trace info. + +2004-02-12 Jeff Hobbs + + * README: update patchlevel to 8.4.6 + * generic/tcl.h: + * tools/tcl.wse.in: + * unix/configure, unix/configure.in, unix/tcl.spec: + * win/README.binary, win/configure, win/configure.in: + + * unix/tcl.m4: update HP-11 build libs setup + +2004-02-06 Don Porter + + * doc/clock.n: Removed reference to non-existent [file ctime]. + +2004-02-04 Don Porter + + * library/tcltest/tcltest.tcl: Corrected references to + non-existent $name variable in [cleanupTests]. [Bug 833637] + +2004-02-03 Don Porter + + * library/tcltest/tcltest.tcl: Corrected parsing of single + command line argument (option with missing value) [Bug 833910] + * library/tcltest/pkgIndex.tcl: Bump to version 2.2.5. + +2004-02-02 David Gravereaux + + * generic/tclIO.c (Tcl_Ungets): fixes improper filling of the channel + buffer. [Bug 405995] + +2004-01-13 Don Porter + + * generic/tclFileName.c (Tcl_GlobObjCmd): Latest changes to + management of the interp result by Tcl_GetIndexFromObj() exposed + improper interp result management in the [glob] command procedure. + Corrected by adopting the Tcl_SetObjResult(Tcl_NewStringObj) pattern. + This stopped a segfault in test filename-11.36. + +2004-01-13 Donal K. Fellows + + * generic/tclIndexObj.c (Tcl_GetIndexFromObjStruct, Tcl_WrongNumArgs): + Create fresh objects instead of using the one currently in the + interpreter, which isn't guaranteed to be fresh and unshared. The + cost for the core will be minimal because of the object cache, and + this fixes. [Bug 875395] + +2004-01-09 Vince Darley + + * generic/tclIOUtil.c: fix to infinite loop in TclFinalizeFilesystem. + [Bug 873311] + +2003-12-17 Daniel Steffen + + * generic/tclBinary.c (DeleteScanNumberCache): fixed crashing bug when + numeric scan-value cache contains NULL value. + +2003-12-17 Zoran Vasiljevic + + * generic/tclIOUtil.c: fixed 2 memory (object) leaks. This fixes [Bug + 839519] + +2003-12-12 Vince Darley + + * generic/tclCmdAH.c: fix to normalization of non-existent user name + ('file normalize ~nobody') [Bug 858937] + +2003-12-09 Donal K. Fellows + + * unix/tclUnixPort.h: #ifdef'd out declarations of errno which + * tools/man2tcl.c: are known to cause problems with recent + glibc. [Bug 852369] + +2003-12-03 Don Porter + + * generic/tcl.h: Bumped patch level to 8.4.5.1 to distinguish + * unix/configure.in: CVS snapshots from 8.4.5 release. + * unix/tcl.spec: + * win/configure.in: + + * unix/configure: autoconf (2.13) + * win/configure: + +2003-12-02 Donal K. Fellows + + * generic/tclBinary.c (DeleteScanNumberCache, ScanNumber): Made + the numeric scan-value cache have proper references to the objects + within it so strange patterns of writes won't cause references to + freed objects. Thanks to Paul Obermeier for the report. [Bug 851747] + +2003-12-01 Miguel Sofer + + * doc/lset.n: fix typo [Bug 852224] + +2003-11-21 Don Porter + + *** 8.4.5 TAGGED FOR RELEASE *** + + * tests/windFCmd.test (winFCmd-16.10): Corrected failure to + initialize variable $dd that caused test suite failure. + +2003-11-20 Miguel Sofer + + * generic/tclVar.c: fix flag bit collision between LOOKUP_FOR_UPVAR + and TCL_PARSE_PART1 (deprecated) [Bug 835020] + +2003-11-20 Vince Darley + + * generic/tclIOUtil.c: + * tests/winFCmd.test: fix to [Bug 845778] - Infinite recursion on [cd] + (Windows only bug). + +2003-11-18 Jeff Hobbs + + * changes: updated for 8.4.5 release + +2003-11-17 Don Porter + + * generic/regcomp.c: Backported regexp bug fixes and tests. Thanks + * generic/tclTest.c: to Pavel Goran and Vince Darley. + * tests/reg.test: [Bugs 230589, 504785, 505048, 703709, 840258] + +2003-11-12 Jeff Hobbs + + * tests/cmdMZ.test (cmdMZ-1.4): change to nonPortable as more + systems are using permissions caching, and this isn't really a Tcl + controlled issue. + +2003-11-11 Jeff Hobbs + + * unix/configure: + * unix/tcl.m4: improve AIX --enable-64bit handling + +2003-11-10 Don Porter + + * tests/unixInit.test (unixInit-2.10): re-enabled. + * unix/tclUnixInit.c (TclpInitLibraryPath): Alternative fix + * win/tclWinInit.c (TclpInitLibraryPath): for [Bug 832657] + that should not run afoul of startup constraints. + + * library/dde/pkgIndex.tcl: Added safeguards so that registry + * library/reg/pkgIndex.tcl: and dde packages are not offered + * win/tclWinDde.c: on non-Windows platforms. Bumped to + * win/tclWinReg.c: registry 1.1.3 and dde 1.2.2. + +2003-11-06 Jeff Hobbs + + * tests/unixInit.test (unixInit-2.10): mark as knownBug + * generic/tclEncoding.c (TclFindEncodings): revert patch from + 2003-11-05. It wasn't valid in the sensitive startup init phase + and broke Windows from working at all. + +2003-11-07 Daniel Steffen + + * macosx/Makefile: optimized builds define NDEBUG to turn off + ThreadAlloc range checking. + +2003-11-05 Don Porter + + * generic/tclEncoding.c (TclFindEncodings): Normalize the path + of the executable before passing to TclpInitLibraryPath() to avoid + buggy handling of paths containing "..". [Bug 832657] + * tests/unixInit.test (unixInit-2.10): New test for fixed bug. + +2003-11-04 Daniel Steffen + + * macosx/Makefile: added 'test' target. + +2003-10-31 Vince Darley + + * generic/tclTest.c: fix test suite memory leak (backport error) + * unix/tclUnixFile.c: ensure translated path (required for correct + error messages) is freed in both code paths. + +2003-10-23 Andreas Kupries + + * unix/tclUnixChan.c (Tcl_MakeFileChannel): Applied [Patch 813606] + fixing [Bug 813087]. Detection of sockets was off for Mac OS X which + implements pipes as local sockets. The new code ensures that only IP + sockets are detected as such. + +2003-10-22 Andreas Kupries + + * win/tclWinSock.c (TcpWatchProc): Watch for FD_CLOSE too when asked + for writable events by the generic layer. + (SocketEventProc): Generate a writable event too when a close is + detected. + + Together the changes fix [Bug 599468]. + +2003-10-22 Andreas Kupries + + * generic/tclIOUtil.c (FsListMounts, FsAddMountsToGlobResult): New + functions. See below for context. + (Tcl_FSMatchInDirectory): Modified to call on the new functions + (above) to handle the mountpoints in the glob'bed directory correctly. + Part of the patch by Vincent Darley to solve the [Bug 800106] for the + 8.4.x series. + + * generic/tcl.h (TCL_GLOB_TYPE_MOUNT): New definition. Part of the + patch by Vincent Darley to solve [Bug 800106] for the 8.4.x series. + +2003-10-22 Donal K. Fellows + + * generic/tclCmdAH.c (Tcl_FileObjCmd): Changed FILE_ prefix for option + enumeration to FCMD_ to prevent collision with symbols defined by + Cygwin/Mingw32 on NT. [Bug 822528] + +2003-10-21 Daniel Steffen + + * tools/tcltk-man2html.tcl: fixed incorrect html generated for .IP/.TP + lists, now use
...
...

...
...
instead of + illegal

...
...

...
...
. Added skipping of + directives directly after .TP to avoid them being used as item + descriptions, e.g. .TP\n.VS in clock.n. + +2003-10-21 Andreas Kupries + + * win/tclWinPipe.c (BuildCommandLine): Applied the patch coming with + [Bug 805605] to the code, fixing the incorrect use of ispace noted by + Ronald Dauster . + +2003-10-14 David Gravereaux + + * win/tclAppInit.c (sigHandler): Punt gracefully if exitToken has + already been destroyed. + +2003-10-13 Vince Darley + + * generic/tclCmdMZ.c: + * tests/regexp.test: fix to [Bug 823524] in regsub; added three new + tests. + +2003-10-12 Jeff Hobbs + + * unix/tclUnixTest.c (TestalarmCmd): don't bother checking return + value of alarm. [Bug 664755] (english) + +2003-10-08 Don Porter + + * generic/tclBasic.c: Save and restore the iPtr->flag bits that + control the state of errorCode and errorInfo management when calling + "leave" execution traces, so that all error information of the traced + command is still available whether traced or not. Thanks to Yahalom + Emet. [Bug 760947] + +2003-10-08 Donal K. Fellows + + * generic/tclTest.c (TestNumUtfCharsCmd): Command to allow finer + access to Tcl_NumUtfChars for testing. + * generic/tclUtf.c (Tcl_NumUtfChars): Corrected string length + determining when the length parameter is negative; the terminator is a + zero byte, not (necessarily) a \u0000 character. [Bug 769812] + +2003-10-07 Don Porter + + * tests/exec.test: Corrected temporary file management + * tests/fileSystem.test: issues uncovered by -debug 1 test + * tests/io.test: operations. Also backported some + * tests/ioCmd.test: other fixes from the HEAD. + * tests/pid.test: [Bugs 675605, 675655, 675659] + * tests/socket.test: + * tests/source.test: + + * tests/fCmd.test: Run tests with the [temporaryDirectory] as + the current directory, so that tests can depend on ability to write + files. [Bug 575837] + + * doc/OpenFileChnl.3: Updated Tcl_Tell and Tcl_Seek documentation + to reflect that they now return Tcl_WideInt (TIP 72) [Bug 787537] + + * tests/io.test: Corrected several tests that failed when paths + * tests/ioCmd.test: included regexp-special chars. [Bug 775394] + +2003-10-06 Don Porter + + * tests/regexp.test: Matched [makeFile] with [removeFile]. + * tests/regexpComp.test: [Bug 675652] + + * tests/fCmd.test (fCmd-8.2): Test only that tilde-substitution + happens, not for any particular result. [Bug 685991] + + * unix/tcl.m4 (SC_PATH_TCLCONFIG): Corrected search path so + that alpha and beta releases of Tcl are not favored. [Bug 608698] + + * tests/reg.test: Corrected duplicate test names. + * tests/resource.test: [Bugs 710370, 710358] + + * tests/cmdMZ.test: Updated [package require tcltest] lines to + * tests/fileSystem.test: indiciate that these test files + * tests/notify.test: use features of tcltest 2. [Bug 706114] + * tests/parseExpr.test: + * tests/unixNotfy.test: + +2003-10-06 Vince Darley + + * generic/tclFileName.c: + * generic/tclIOUtil.c: backport of volumerelative file normalization + and 'file join' inconsistency fixes [Bug 767834, 813273]. + +2003-10-04 Chengye Mao + + * win/tclWinPipe.c: fixed a bug in BuildCommandLine. + This bug built a command line with a missing space between + tclpipe.dll and the following arguments. It caused error + in Windows 98 when exec command.com (e.g. dir) [Bug 789040] + +2003-10-03 Don Porter + + * generic/tclBasic.c: Fixed error in ref count management of command + * generic/tclCmdMZ.c: and execution traces that caused access to + freed memory in trace-32.1. [Bug 811483] + +2003-10-03 Vince Darley + + * tests/fileName.test: + * tests/winFCmd.test: + * doc/FileSystem.3: backported various test and documentation changes + from HEAD. Backport of actual code fixes to follow. + +2003-10-02 Don Porter + + * README: Bumped patch level to 8.4.5 to prepare + * generic/tcl.h: for next patch release. + * tools/tcl.wse.in: + * unix/configure.in: + * unix/tcl.spec: + * win/README.binary: + * win/configure.in: + + * unix/configure: autoconf (2.13) + * win/configure: + + * library/http/http.tcl: Bumped to http 2.4.5 + * library/http/pkgIndex.tcl: + +2003-10-01 Daniel Steffen + + * macosx/Makefile: fixed redo prebinding bug when DESTDIR="". + * mac/tclMacResource.c: fixed possible NULL dereference (bdesgraupes). + +2003-09-29 Don Porter + + * generic/tclBasic.c (CallCommandTraces): Added safety bit + * tests/trace.test: masking to prevent any of the bit values + TCL_TRACE_*_EXEC from leaking into the flags field of any Command + struct. This does not fix [Bug 811483] but helps to contain some of + its worst symptoms. Also backported the corrections to test trace-28.4 + from Vince Darley. + +2003-09-29 Donal K. Fellows + + * library/http/http.tcl (geturl): Correctly check the type of + boolean-valued options. [Bug 811170] + + * unix/tcl.m4 (SC_ENABLE_FRAMEWORK): Added note to make it clearer + that this is an OSX feature, not a general Unix feature. [Bug 619440] + +2003-09-28 David Gravereaux + + * win/tclWinPipe.c: The windows port of expect can call + TclWinAddProcess before any of the other pipe functions. Added a + missing PipeInit() call to make sure the initialization happens. + +2003-09-25 Daniel Steffen + + * macosx/Makefile: ensure SYMROOT exists if OBJROOT is overridden on + command line. Replaced explict use of /usr/bin by ${BINDIR}. + +2003-09-23 Don Porter + + * generic/tclCmdMZ.c: Fixed [Bug 807243] where + * tests/trace.test (trace-31,32.*): the introspection results + of both [trace info command] and [trace info execution] were getting + co-mingled. Thanks to Mark Saye for the report. + + * library/init.tcl (auto_load, auto_import): Expanded Eric Melski's + 2000-01-28 fix for [Bug 218871] to all potentially troubled uses of + [info commands] on input data, where glob-special characters could + cause problems. + +2003-09-19 Miguel Sofer + + * generic/tclExecute.c: adding (DE)CACHE_STACK_INFO() pairs to protect + all calls that may cause traces on ::errorInfo or ::errorCode to + corrupt the stack [Bug 804681] + +2003-09-10 Don Porter + + * library/opt/optparse.tcl: Overlooked dependence of opt 0.4.4 + * library/opt/pkgIndex.tcl: on Tcl 8.2. Bumped to opt 0.4.4.1. + +2003-09-01 Zoran Vasiljevic + + * generic/tclIOUtil.c: backported fix from HEAD [Bug 788780] + +2003-08-27 Don Porter + + * generic/tclUtil.c: Corrected [Bug 411825] and other bugs in + TclNeedSpace() where non-breaking space (\u00A0) and backslash-escaped + spaces were handled incorrectly. + * tests/util.test: Added new tests util-8.[2-6]. + +2003-08-06 Jeff Hobbs + + * win/tclWinInit.c: recognize amd64 and ia32_on_win64 cpus and + Windows CE platform. + +2003-08-06 Don Porter + + * library/msgcat/msgcat.tcl: Added escape so that non-Windows + * library/msgcat/pkgIndex.tcl: platforms do not try to use the + registry package. This can save a costly and pointless package + search. Bumped to 1.3.1. Thanks to Dave Bodenstab. [Bug 781609] + +2003-08-05 Miguel Sofer + + * generic/tclExecute.c (INST_INVOKE, INST_EVAL, INST_PUSH_RESULT): + added a Tcl_ResetResult(interp) at each point where the interp's + result is pushed onto the stack, to avoid keeping an extra reference + that may cause costly Tcl_Obj duplication. Detected by Franco Violi, + analyzed by Peter Spjuth and Donal Fellows. [Bug 781585] + +2003-07-24 Reinhard Max + + * library/package.tcl: Fixed a typo that broke pkg_mkIndex -verbose. + + * tests/pkgMkIndex.test: Added a test for [pkg_mkIndex -verbose]. + +2003-07-23 Daniel Steffen + + * unix/Makefile.in: changes to html-tcl & html-tk targets for + compatibility with non-gnu makes. + + * unix/Makefile.in: added macosx/README to dist target. + +2003-07-23 Pat Thoyts + + * win/tclWinReg.c (OpenSubKey): Backported fix for [Bug 775976] which + causes the registry set command to fail when built with VC7. + * library/reg/pkgIndex.tcl: Incremented the version to 1.1.2. + +2003-07-21 Jeff Hobbs + + *** 8.4.4 TAGGED FOR RELEASE *** + + * changes: updated for 8.4.4 release + +2003-07-18 Daniel Steffen + + * macosx/Makefile: added option to allow installing manpages in + addition to default html help. + +2003-07-18 Donal K. Fellows + + * doc/Utf.3: Tightened up documentation of Tcl_UtfNext and Tcl_UtfPrev + to better match the behaviour. [Bug 769895] + +2003-07-18 Jeff Hobbs + + * generic/tclIOUtil.c: correct MT-safety issues with filesystem + records. [Bug 753315] (vasiljevic) + + * library/http/pkgIndex.tcl: merged to v2.4.4 from head + * library/http/http.tcl: add support for user:pass info in URL. + * tests/http.test: [Bug 759888] (shiobara) + +2003-07-18 Don Porter + + * generic/tclBasic.c: Corrected several instances of unsafe + * generic/tclCompile.c: truncation of UTF-8 strings that might break + * generic/tclProc.c: apart a multi-byte character. [Bug 760872] + * library/init.tcl: + * tests/init.test: + + * doc/tcltest.n: Restored the [Eval] proc to replace + * library/tcltest/tcltest.tcl: the [::puts] command when either the + -output or -error option for [test] is in use, in order to capture + data written to the output or error channels for comparison against + what is expected. This is easier to document and agrees better with + most user expectations than the previous attempt to replace [puts] + only in the caller's namespace. Documentation made more precise on the + subject. [Bug 706359] + + * doc/AddErrInfo.3: Improved consistency of documentation by using + * doc/CrtTrace.3: "null" everywhere to refer to the character + * doc/Encoding.3: '\0', and using "NULL" everywhere to refer to + * doc/Eval.3: the value of a pointer that points to nowhere. + * doc/GetIndex.3: Also dropped references to ASCII that are no + * doc/Hash.3: longer true, and standardized on the + * doc/LinkVar.3: hyphenated spelling of "null-terminated". + * doc/Macintosh.3: + * doc/OpenFileChnl.3: + * doc/SetVar.3: + * doc/StringObj.3: + * doc/Utf.3: + + * doc/CrtSlave.3 (Tcl_MakeSafe): Removed warning about possible + deprecation (no TIP on that). + +2003-07-17 Daniel Steffen + + * macosx/Makefile: added var to allow overriding of tclsh used during + html help building (Landon Fuller). + +2003-07-16 Mumit Khan + + * generic/tclIOUtil.c (SetFsPathFromAny): Add Cygwin specific code to + convert POSIX filename to native format. + * generic/tclFileName.c (Tcl_TranslateFileName): And remove from here. + (TclDoGlob): Adjust for cygwin and append / for dirs instead of \ + * win/tclWinFile.c (TclpObjChdir): Use chdir on Cygwin. [Patch 679315] + +2003-07-16 Jeff Hobbs + + * library/safe.tcl (FileInAccessPath): normalize paths before + comparison. [Bug 759607] (myers) + + * unix/tclUnixNotfy.c (NotifierThreadProc): correct size of found and + word vars from int to long. [Bug 767578] (hgo) + +2003-07-16 Donal K. Fellows + + * doc/CrtSlave.3 (Tcl_MakeSafe): Updated documentation to strongly + discourage use. IMHO code outside the core that uses this function is + a bug... [Bug 655300] + +2003-07-16 Jeff Hobbs + + * generic/tcl.h: Add recognition of -DTCL_UTF_MAX=6 on the + * generic/regcustom.h: make line to support UCS-4 mode. No config arg + at this time, as it is not the recommended build mode. + + * generic/tclPreserve.c: In Result and Preserve'd routines, do not + * generic/tclUtil.c: assume that ckfree == free, as that is not + * generic/tclResult.c: always true. [Bug 756791] (fuller) + +2003-07-16 Mo DeJong + + * win/Makefile.in: Don't define TCL_DBGX symbol for every compile. + Instead, define TCL_PIPE_DLL only when compiling tclWinPipe.c. This + will break other build systems, so they will need to remove the + TCL_DBGX define and replace it with a define for TCL_PIPE_DLL. + * win/makefile.vc: Ditto. + * win/tclWinPipe.c (TclpCreateProcess): Remove PREFIX_IDENT and + DEBUG_IDENT from top of file. Use TCL_PIPE_DLL passed in from build + env instead of trying to construct the dll name from already defined + symbols. This approach is more flexible and better in the long run. + +2003-07-16 Don Porter + + * generic/tclFileName.c (Tcl_GlobObjCmd): [Bug 771840] + * generic/tclIOUtil.c (Tcl_FSConvertToPathType):[Bug 771947] + * unix/tclUnixFCmd.c (GetModeFromPermString): [Bug 771949] + Silence compiler warnings about unreached lines. + + * library/tcltest/tcltest.tcl (ProcessFlags): Corrected broken call + * library/tcltest/pkgIndex.tcl: to [lrange]. Bumped to + version 2.2.4. [Bug 772333] + +2003-07-15 Mo DeJong + + * unix/dltest/pkga.c (Pkga_EqObjCmd): Fix typo that was causing a + crash in load.test. + +2003-07-15 Donal K. Fellows + + * doc/array.n: Added some examples from David Welton [Patch 763312] + +2003-07-15 Don Porter + + * doc/http.n: Updated SYNOPSIS to match actual syntax of commands. + [Bug 756112] + + * unix/dltest/pkga.c: Updated to not use Tcl_UtfNcmp and counted + strings instead of strcmp (not defined in any #include'd header) and + presumed NULL-terminated strings. + + * README: Bumped patch level to 8.4.4 in anticipation + * generic/tcl.h: of another patch release. + * tools/tcl.wse.in: + * unix/configure.in: + * unix/tcl.spec: + * win/README.binary: + * win/configure.in: + + * unix/configure: autoconf (2.13) + * win/configure: + + * generic/tclCompCmds.c (TclCompileIfCmd): Prior fix of Bug 711371 + on 2003-04-07 introduced a buffer overflow. Corrected. [Bug 771613] + +2003-07-15 Donal K. Fellows + + * generic/tclCmdIL.c (SortCompare): Cleared up confusing error + message. [Bug 771539] + +2003-07-15 Daniel Steffen + + * macosx/Makefile: Rewrote buildsystem for Mac OS X framework build to + be purely make driven; in order to become independent of Apple's + closed-source IDE and build tool. The changes are intended to be + transparent to the Makefile user, all existing make targets and cmd + line variable overrides should continue to work. Changed build to only + include tcl specific html help in Tcl.framework, the tk specific html + help is now included in Tk.framework. + + * macosx/Tcl.pbproj/project.pbxproj: + * macosx/Tcl.pbproj/jingham.pbxuser: Changed to purely call through to + the make driven buildsystem; Tcl.framework is no longer assembled by + ProjectBuilder. Set default SYMROOT in target options to simplify + setting up PB (manually setting common build folder for tcl & tk no + longer needed). + + * tools/tcltk-man2html.tcl: Added options to allow building only the + tcl or tk html help files; the default behaviour with none of the new + options is to build both, as before. + + * unix/Makefile.in: Added targets for building only the tcl or tk help. + + * macosx/README (new): Tcl specific excerpts of tk/macosx/README. + + * generic/tcl.h: Updated reminder comment about editing + macosx/Tcl.pbproj/project.pbxproj when version number changes. + +2003-07-11 Donal K. Fellows + + * tests/binary.test (binary-46.*): Tests to help enforce the current + behaviour. + * doc/binary.n: Documented that [binary format a] and [binary scan a] + do encoding conversion by dropping high bytes, unlike the rest of + the core. [Bug 735364] + +2003-07-11 Don Porter + + * library/package.tcl: Corrected [pkg_mkIndex] bug reported on + comp.lang.tcl. The indexer was searching for newly indexed packages + instead of newly provided packages. + +2003-07-04 Donal K. Fellows + + * doc/expr.n: Tighten up the wording of some operations. [Bug 758488] + + * tests/cmdAH.test: Made tests of [file mtime] work better on FAT + filesystems. [Patch 760768] Also a little general cleanup. + +2003-06-25 Mo DeJong + + * unix/configure: Regen. + * unix/tcl.m4 (SC_CONFIG_CFLAGS): Add -ieee when compiling with cc and + add -mieee when compiling with gcc under OSF1-V5 "Tru64" systems. [Bug + 748957] + +2003-06-24 Donal K. Fellows + + * doc/encoding.n: Corrected the docs to say that [source] uses the + system encoding, which it always did anyway (since 8.1) [Bug 742100] + +2003-06-23 Vince Darley + + * generic/tclFCmd.c: fix to bad error message when trying to do 'file + copy foo ""'. [Bug 756951] + * tests/fCmd.test: added two new tests for the bug. + + * doc/FileSystem.3: documentation fix [Bug 720634] + +2003-06-18 Miguel Sofer + + * generic/tclNamesp.c (Tcl_Export): removed erroneous comments [Bug + 756744] + +2003-06-17 Vince Darley + + * generic/tclCmdMZ.c: + * tests/regexp.test: fixing of bugs related to regexp and regsub + matching of empty strings. Addition of a number of new tests. + +2003-06-10 Miguel Sofer + + * generic/tclBasic.c: + * generic/tclExecute.c: let TclEvalObjvInternal call TclInterpReady + instead of relying on its callers to do so; fix for the part of [Bug + 495830] that is new in 8.4. + * tests/interp.test: Added tests 18.9 (knownbug) and 18.10 + +2003-06-09 Don Porter + + * tests/string.test (string-4.15): Added test for [string first] bug + reported in Tcl 8.3, where test for all-single-byte-encoded strings + was not reliable. + +2003-06-04 Joe Mistachkin + + * tools/man2help.tcl: Added duplicate help section checking and + * tools/index.tcl: corrected a comment typo for the getTopics proc + in index.tcl. [Bug 748700] + +2003-05-23 Don Porter + + * generic/tclObj.c (tclCmdNameType): Converted internal rep + management of the cmdName Tcl_ObjType the opposite way, to always use + the twoPtrValue instead of always using the otherValuePtr. Previous + fix on 2003-05-12 broke several extensions that wanted to poke around + with the twoPtrValue.ptr2 value of a cmdName Tcl_Obj, like TclBlend + and e4graph. [Bug 726018] Thanks to George Petasis for the bug report + and Jacob Levy for testing assistance. + +2003-05-22 Daniel Steffen + + *** 8.4.3 TAGGED FOR RELEASE *** + + * macosx/tclMacOSXBundle.c: fixed a problem that caused only the first + call to Tcl_MacOSXOpenVersionedBundleResources() for a given bundle + identifier to succeed. This caused the tcl runtime library not to be + found in all interps created after the inital one. + +2003-05-20 Jeff Hobbs + + * changes: updated for 8.4.3 + + * unix/Makefile.in: do not run autoconf during 'make dist' as the + configure is now a CVS-maintained file and should be up-to-date. + +2003-05-19 Daniel Steffen + + * macosx/Tcl.pbproj/project.pbxproj: changed tclConfig.sh location in + versioned framework subdirectories to be identical to location in + framework toplevel; fixed stub library symbolic links to be Tcl + version specific. + +2003-05-16 Daniel Steffen + + * macosx/Tcl.pbproj/project.pbxproj: updated copyright year. + +2003-05-15 Jeff Hobbs + + * win/tclWinFile.c (TclpMatchInDirectory): revert glob code to r1.44 + as 2003-04-14 optimizations broke Windows98 glob'ing. + + * README: bumped version to 8.4.3 + * generic/tcl.h: + * macosx/Tcl.pbproj/project.pbxproj: + * tools/tcl.wse.in: + * unix/configure: + * unix/configure.in: + * unix/tcl.spec: + * win/README.binary: + * win/configure: + * win/configure.in: + + * doc/socket.n: nroff font handling correction. + + * library/encoding/gb2312-raw.enc (new): This is the original + gb2312.enc renamed to allow for it to still be used. This is needed by + Tk (unix) because X fonts with gb2312* charsets really do want the + original gb2312 encoding. [Bug 557030] + +2003-05-14 Donal K. Fellows + + * generic/tclCmdAH.c (Tcl_FormatObjCmd): Values which can't be + anything but wide shouldn't be demoted to long. [consequence of HEAD + fixes for Bug 699060] + +2003-05-14 Jeff Hobbs + + * library/encoding/gb2312.enc: copy euc-cn.enc over original + gb2312.enc. gb2312.enc appeared to not work as expected, and most uses + of gb2312 really mean euc-cn (which may be the cause of the problem). + [Bug 557030] + + * generic/tclEnv.c (TclUnsetEnv): Another putenv() copy behavior + problem repaired when compiling on windows and using microsoft's + runtime. [Bug 736421] (gravereaux) + +2003-05-13 Jeff Hobbs + + * generic/tclIOUtil.c: add decl for FsThrExitProc to suppress warnings + +2003-05-13 Donal K. Fellows + + * generic/tclEvent.c (Tcl_Finalize): Removed unused variable to reduce + compiler warnings. [Bug 664745] + +2003-05-13 Joe Mistachkin + + * generic/tcl.decls: Changed Tcl_JoinThread parameter name from "id" + * generic/tclDecls.h: to "threadId". [Bug 732477] + * unix/tclUnixThrd.c: + * win/tclWinThrd.c: + * mac/tclMacThrd.c: + +2003-05-13 Daniel Steffen + + * generic/tcl.decls: + * macosx/tclMacOSXBundle.c: added extended version of the + Tcl_MacOSXOpenBundleResources() API taking an extra version number + argument: Tcl_MacOSXOpenVersionedBundleResources(). This is needed to + be able to access bundle resources in versioned frameworks such as Tcl + and Tk, otherwise if multiple versions were installed, only the latest + version's resources could be accessed. [Bug 736774] + + * unix/tclUnixInit.c (Tcl_MacOSXGetLibraryPath): use new versioned + bundle resource API to get tcl runtime library for TCL_VERSION. + [Bug 736774] + + * generic/tclPlatDecls.h: + * generic/tclStubInit.c: regen. + + * unix/tclUnixPort.h: worked around the issue of realpath() not being + thread-safe on Mac OS X by defining NO_REALPATH for threaded builds on + Mac OS X. [Bug 711232] + +2003-05-12 Don Porter + + * generic/tclInterp.c: (AliasObjCmd): Added refCounting of the words + * tests/interp.test (interp-33.1): of the target of an interp + alias during its execution. Also added test. [Bug 730244]. + + * generic/tclBasic.c (TclInvokeObjectCommand): objv[argc] is no + longer set to NULL (Tcl_CreateObjCommand docs already say that it + should not be accessed). + + * generic/tclObj.c (tclCmdNameType): Corrected variable use of the + otherValuePtr or the twoPtrValue.ptr1 fields to store a + (ResolvedCmdName *) as the internal rep. [Bug 726018]. + + * doc/Eval.3: Corrected prototype for Tcl_GlobalEvalObj [Bug 727622]. + +2003-05-12 Miguel Sofer + + * generic/tclVar.c (TclObjLookupVar): [Bug 735335] temporary fix, + disabling usage of tclNsVarNameType. + * tests/var.test (var-15.1): test for [Bug 735335] + +2003-05-10 Zoran Vasiljevic + + * unix/tclUnixThrd.c: corrected [Bug 723502] + +2003-05-10 Jeff Hobbs + + * generic/tclIOUtil.c: ensure cd is thread-safe. + [Bug 710642] (vasiljevic) + + * win/tclWinSerial.c (SerialCloseProc): correct mem leak on closing a + Windows serial port [Bug 718002] (schroedter) + + * generic/tclCmdMZ.c (Tcl_StringObjCmd): prevent string repeat crash + when overflow sizes were given (throws error). [Bug 714106] + +2003-05-09 Joe Mistachkin + + * generic/tclThreadAlloc.c (TclFreeAllocCache): Fixed memory leak + caused by treating cachePtr as a TLS index [Bug 731754]. + + * win/tclAppInit.c (Tcl_AppInit): Fixed memory leaks caused by not + freeing the memory allocated by setargv and the async handler created + by Tcl_AppInit. An exit handler has been created that takes care of + both leaks. In addition, Tcl_AppInit now uses ckalloc instead of + Tcl_Alloc to allow for easier leak tracking and to be more consistent + with the rest of the Tcl core [Bugs 733156, 733221]. + + * tools/encoding/txt2enc.c (main): Fixed memory leak caused by failing + to free the memory used by the toUnicode array of strings [Bug 733221] + +2003-05-05 Don Porter + + * library/tcltest/tcltest.tcl: The -returnCodes option to [test] + failed to recognize the symbolic name "ok" for return code 0. + +2003-05-05 Donal K. Fellows + + * generic/tclBasic.c (Tcl_HideCommand): Fixed error message grammar + and spelling. + +2003-04-29 Vince Darley + + * generic/tclFileName.c: fix to bug reported privately by Jeff where, + for example, 'glob -path {[tcl]} *' gets confused by the leading + special character (which is escaped internally), and instead lists + files in '/'. Bug only occurs on Windows where '\' is also a + directory separator. (Bug has been around at least since Tcl 8.3.) + * tests/fileName.test: added test for the above bug. + +2003-04-25 Don Porter + + * generic/tclBasic.c: Tcl_EvalObjv() failed to honor the + TCL_EVAL_GLOBAL flag when resolving command names. Tcl_EvalEx passed a + string rep including leading whitespace and comments to + TclEvalObjvInternal(). + +2003-04-25 Andreas Kupries + + * win/tclWinThrd.c: Applied [Patch 727271]. This patch changes the + code to catch any errors returned by the windows functions handling + TLS ASAP instead of waiting to get some mysterious crash later on due + to bogus pointers. Patch provided by Joe Mistachkin. + + This is a stop-gap measure to deal with the low number of ?TLS slots + provided by some of the variants of Windows (60-80). + +2003-04-21 Don Porter + + * library/tcltest/tcltest.tcl: When the return code of a test does + not meet expectations, report that as the reason for test failure, + and do not attempt to check the test result for correctness. [Bug + 725253] + +2003-04-18 Jeff Hobbs + + * generic/tclExecute.c (ExprCallMathFunc): remove incorrect + extraneous cast from Tcl_WideAsDouble. + +2003-04-18 Donal K. Fellows + + * doc/open.n: Moved serial port options from [fconfigure] + * doc/fconfigure.n: to [open] as it is up to the creator of a + channel to describe the channel's special + config options. [Bug 679010] + +2003-04-16 Don Porter + + * generic/tcl.h Made changes so that the "wideInt" Tcl_ObjType + * generic/tclObj.c is defined on all platforms, even those where + * generic/tclPort.h TCL_WIDE_INT_IS_LONG is defined. Also made + the Tcl_Value struct have a wideValue field on all platforms. This is + a ***POTENTIAL INCOMPATIBILITY*** for TCL_WIDE_INT_IS_LONG platforms + because that struct changes size. This is the same TIP 72 + incompatibility that was seen on other platforms at the 8.4.0 release, + when this change should have happened as well. [Bug 713562] + + * generic/tclInt.h: New internal macros TclGetWide() and + TclGetLongFromWide() to deal with both forms of the "wideInt" + Tcl_ObjType, so that conditional TCL_WIDE_INT_IS_LONG code + is confined to the header file. + + * generic/tclCmdAH.c: Replaced most coding that was conditional + * generic/tclCmdIL.c: on TCL_WIDE_INT_IS_LONG with code that + * generic/tclExecute.c: works across platforms, sometimes using + * generic/tclTest.c: the new macros above to do it. + * generic/tclUtil.c: + * generic/tclVar.c: + +2003-04-17 Donal K. Fellows + + * doc/socket.n: Added a paragraph to remind people to specify + their encodings when using sockets. [Bug 630621] + +2003-04-16 Donal K. Fellows + + * doc/CrtMathFnc.3: Functions also have to deal with wide ints, + but this was not documented. [Bug 709720] + +2003-04-15 Kevin Kenny + + * win/tclWinTime.c: Corrected use of types to make compilation + compatible with VC++5. + +2003-04-14 Kevin Kenny + + * win/tclWinFile.c: added conditionals to restore compilation on + VC++6, which was broken by recent changes. + +2003-04-14 Vince Darley + + Merged various bug fixes from current cvs head: + + * tests/cmdAH.test: better fix to test suite problem if /home is a + symlink [Bug 703264] + + * generic/tclIOUtil.c: fix bad error message with 'cd ""' [Bug 704917] + * win/tclWinFile.c: + * win/tclWin32Dll.c: + * win/tclWinInt.h: allow Tcl to differentiate between reparse points + which are symlinks and mounted volumes, and correctly handle the + latter. This involves some elaborate code to find the actual drive + letter (if possible) corresponding to a mounted volume. [Bug 697862] + * tests/fileSystem.test: add constraints to stop tests running in + ordinary tcl interpreter. [Bug 705675] + * generic/tclIOUtil.c: Some re-arrangement of code to bring it closer + to CVS HEAD. No functional changes. + + * tests/fCmd.test: + * win/tclWinFile.c: added some filesystem optimisation to the + 'glob' implementation, and some new tests. + + * tests/winFile.test: + * tests/ioUtil.test: + * tests/unixFCmd.test: renumbered tests with duplicate numbers. [Bug + 710361] + +2003-04-12 Kevin Kenny + + * tests/clock.test: Renumbered test cases to avoid duplicates [Bug + 710310]. + * tests/winTime.test: + * win/tclWinTest.c (TestwinclockCmd, TestwinsleepCmd): + * win/tclWinTime.c (Tcl_WinTime, UpdateTimeEachSecond, + (ResetCounterSamples, AccumulateSample, SAMPLES, TimeInfo): Made + substantial changes to the phase-locked loop (replaced an IIR filter + with an FIR one) in a quest for improved loop stability (Bug not + logged at SF, but cited in private communication from Jeff Hobbs). + +2003-04-11 Don Porter + + * generic/tclCmdMZ.c (Tcl_StringObjCmd,STR_IS_INT): Corrected + inconsistent results of [string is integer] observed on systems + where sizeof(long) != sizeof(int). [Bug 718878] + * tests/string.test: Added tests for Bug 718878. + * doc/string.n: Clarified that [string is integer] accepts + 32-bit integers. + +2003-04-11 Andreas Kupries + + * generic/tclIO.c (UpdateInterest): When dropping interest in + TCL_READABLE now dropping interest in TCL_EXCEPTION too. This fixes a + bug where Expect detects eof on a file prematurely on Solaris 2.6 and + higher. A much more complete explanation is in the code itself (40 + lines of comments for a one-line change :) + +2003-04-10 Donal K. Fellows + + * doc/binary.n: Fixed typo in [binary format w] desc. [Bug 718543] + +2003-04-08 Donal K. Fellows + + * generic/tclCmdAH.c (Tcl_ErrorObjCmd): Strings are only empty if they + have zero length, not if their first byte is zero, so fix test + guarding Tcl_AddObjErrorInfo to take this into account. [Bug reported + by Don Porter; no bug-id.] + +2003-04-07 Don Porter + + * generic/tclCompCmds.c (TclCompileIfCmd): Corrected string limits of + arguments interpolated in error messages. [Bug 711371] + + * generic/tclCmdMZ.c (TraceExecutionProc): Added missing + Tcl_DiscardResult() call to avoid memory leak. + +2003-04-07 Donal K. Fellows + + * generic/tclObj.c (tclWideIntType, TclInitObjSubsystem): + (SetBooleanFromAny): Make sure that tclWideIntType is defined and + somewhat sensible everywhere. [Bug 713562] + +2003-04-02 Mo DeJong + + * win/configure: Regen. + * win/configure.in: Set stub lib flag based on new LIBFLAGSUFFIX + variable. + * win/tcl.m4 (SC_CONFIG_CFLAGS): Set new LIBFLAGSUFFIX that works like + LIBSUFFIX, it is used when creating library names. The previous + implementation would generate -ltclstub85 instead of -ltclstub85s when + configured with --disable-shared. + +2003-04-01 Don Porter + + * tests/README: Direct [source] of *.test files is no longer + recommended. The tests/*.test files should only be evaluated under the + control of the [runAllTests] command in tests/all.tcl. + +2003-03-27 Miguel Sofer + + * tests/encoding.test: + * tests/proc-old.test: + * tests/set-old.test: Altered test numers to eliminate duplicates, + [Bugs 710313, 710320, 710352] + +2003-03-27 Donal K. Fellows + + * tests/parseOld.test: Altered test numers to eliminate duplicates. + * tests/parse.test: [Bugs 710365, 710369] + * tests/expr-old.test: + * tests/expr.test: + + * tests/utf.test: Altered test numers to eliminate duplicates. + * tests/trace.test: [Bugs 710322, 710327, 710349, 710363] + * tests/lsearch.test: + * tests/list.test: + * tests/info.test: + * tests/incr-old.test: + * tests/if-old.test: + * tests/format.test: + * tests/foreach.test: + +2003-03-26 Don Porter + + * doc/tcltest.n: + * library/tcltest/tcltest.tcl: Added reporting during [configure + -debug 1] operations to warn about multiple uses of the same test + name. [FR 576693] Replaced [regexp] and [regsub] with [string map] + where possible. Thanks to David Welton. [Bugs 667456,667558] + * library/tcltest/pkgIndex.tcl: Bumped to tcltest 2.2.3 + + * tests/msgcat.test (msgcat-2.2.1): changed test name to avoid + duplication. [Bug 710356] + + * unix/dltest/pkg?.c: Changed all Tcl_InitStubs calls to pass argument + exact = 0, so that rebuilds are not required when Tcl bumps to a new + version. [Bug 701926] + +2003-03-24 Miguel Sofer + + * generic/tclVar.c: + * tests/var.test: fixing ObjMakeUpvar's lookup algorithm for the + created local variable, [Bugs 631741] (Chris Darroch) and [696893] + (David Hilker). + +2003-03-22 Kevin Kenny + + * library/dde/pkgIndex.tcl: + * library/reg/pkgIndex.tcl: Fixed a bug where [package require dde] or + [package require registry] attempted to load the release version of + the DLL into a debug build. [Bug 708218] Thanks to Joe Mistachkin for + the patch. + * win/makefile.vc: Added quoting around the script name in the 'test' + target; Joe Mistachkin insists that he has a configuration that fails + to launch tcltest without it, and it appears harmless otherwise. + +2003-03-20 Don Porter + + * generic/tclInt.h (tclOriginalNotifier): + * generic/tclStubInit.c (tclOriginalNotifier): + * mac/tclMacNotify.c (Tcl_SetTimer,Tcl_WaitForEvent): + * unix/tclUnixNotfy.c (Tcl_SetTimer,Tcl_WaitForEvent, + (Tcl_CreateFileHandler,Tcl_DeleteFileHandler): + * win/tclWinNotify.c (Tcl_SetTimer,Tcl_WaitForEvent): Some linkers + apparently use a different representation for a pointer to a function + within the same compilation unit and a pointer to a function in a + different compilation unit. This causes checks like those in the + original notifier procedures to fall into infinite loops. The fix is + to store pointers to the original notifier procedures in a struct + defined in the same compilation unit as the stubs tables, and compare + against those values. [Bug 707174] + + * generic/tclInt.h: Removed definition of ParseValue struct that is no + longer used. + +2003-03-19 Miguel Sofer + + * generic/tclCompile.c: + * tests/compile.test: bad command count on TCL_OUT_LINE_COMPILE + [Bug 705406] (Don Porter). + +2003-03-19 Don Porter + + * doc/Eval.3 (Tcl_EvalObjEx): Corrected CONST and + * doc/ParseCmd.3 (Tcl_EvalTokensStandard): return type errors in + documentation. [Bug 683994] + +2003-03-18 Kevin Kenny + + * tests/registry.test: Changed the conditionals to avoid an abort if + [testlocale] is missing, as when running the test in tclsh rather than + tcltest. [Bug 705677] + +2003-03-18 Daniel Steffen + + * tools/tcltk-man2html.tcl: added support for building 'make html' + from inside distribution directories named with 8.x.x version numbers. + tcltk-man2html now uses the latest tcl8.x.x resp. tk8.x.x directories + found inside its --srcdir argument. + +2003-03-18 Vince Darley + + * tests/cmdAH.test: fix test suite problem if /home is a symlink + * generic/tclIOUtil.c: fix bad error message with 'cd ""' + * win/tclWinFile.c: allow Tcl to differentiate between reparse points + which are symlinks and mounted drives. + + These changes fix [Bugs 703264, 704917, 697862] respectively. + +2003-03-17 Donal K. Fellows + + * doc/lsearch.n: Altered documentation of -ascii options so + * doc/lsort.n: they don't specify that they operate on + ASCII strings, which they never did + anyway. [Bug 703807] + +2003-03-14 Donal K. Fellows + + * generic/tclCmdAH.c (Tcl_FileObjCmd): Remove assumption that file + times and longs are the same size. [Bug 698146] + (Tcl_FormatObjCmd): Stop surprising type conversions from + happening when working with integer and wide values. [Bug 699060] + + * generic/tclCmdAH.c (Tcl_FormatObjCmd): Only add the modifier that + indicates we've got a wide int when we're formatting in an integer + style. Stops some libc's from going mad. [Bug 702622] + Also tidied whitespace. + +2003-03-13 Kevin Kenny + + * win/makefile.vc: Backed the version to 8.4 on the 8.4 branch. (I + just loathe sticky tags). + +2003-03-12 Don Porter + + * generic/tcl.h: Removed TCL_PREFIX_IDENT and TCL_DEBUG_IDENT + * win/tclWinPipe.c: from tcl.h -- they are not part of Tcl's + public interface. Put them in win/tclWinPipe.c where they are used. + + * generic/tclCmdMZ.c (Tcl_SubstObj): Corrected and added test for + * tests/subst.test (subst-2.4): Tcl_SubstObj's incorrect + halting of substitution at the first \x00 byte. [Bug 685106] + + * generic/tclInterp.c (Tcl_InterpObjCmd): Corrected and added + * tests/interp.test (interp-2.13): test for option + parsing beyond objc for [interp create --]. Thanks to Marco Maggi. + [Bug 702383] + +2003-03-11 Kevin Kenny + + * win/makefile.vc: Added two missing uses of $(DBGX) so that + tclpip8x.dll loads without panicking on Win9x. + +2003-03-08 Don Porter + + * doc/tcltest.n: Added missing "-body" to example. Thanks to + Helmut Giese. [Bug 700011] + +2003-03-06 Don Porter + + * generic/TclUtf.c (Tcl_UniCharNcasecmp): Corrected failure to + * tests/utf.test (utf-25.*): properly compare Unicode strings of + different case in a case insensitive manner. [Bug 699042] + +2003-03-03 Jeff Hobbs + + *** 8.4.2 TAGGED FOR RELEASE *** + +2003-03-03 Daniel Steffen + + Mac OS Classic specific fixes: + * generic/tclIOUtil.c (TclNewFSPathObj): on TCL_PLATFORM_MAC, + skip potential directory separator at the beginning of addStrRep. + * mac/tclMacChan.c (OpenFileChannel, CommonWatch): followup + fixes to cut and splice implementation for file channels. + * mac/tclMacFile.c (TclpUtime): pass native path to utime(). + * mac/tclMacFile.c (TclpObjLink): correctly implemented creation + of alias files via new static proc CreateAliasFile(). + * mac/tclMacPort.h: define S_ISLNK macro to fix stat'ing of links. + * mac/tclMacUtil.c (FSpLocationFromPathAlias): fix to enable + stat'ing of broken links. + +2003-03-03 Kevin Kenny + + * win/Makefile.vc: corrected bug introduced by 'g' for debug builds. + +2003-03-03 Don Porter + + * library/dde/pkgIndex.tcl: dde bumped to version 1.2.1 for + * win/tclWinDde.c: bundled release with Tcl 8.4.2 + + * library/reg/pkgIndex.tcl: registry bumped to version 1.1.1 for + * win/tclWinReg.c: bundled release with Tcl 8.4.2 + + * library/opt/pkgIndex.tcl: updated package index to version 0.4.4 + +2003-02-28 Jeff Hobbs + + * win/configure: + * win/configure.in: check for 'g' for debug build type, not 'd'. + * win/rules.vc (DBGX): correct to use 'g' for nmake win makefile + to match the cygwin makefile for debug builds. [Bug 635107] + +2003-02-28 Vince Darley + + * doc/file.n: subcommand is 'file volumes' not 'file volume' + +2003-02-27 Jeff Hobbs + + * generic/tclIOUtil.c (MakeFsPathFromRelative): removed dead code + check of typePtr (darley). + + * tests/winTime.test: added note about PCI hardware dependency + issues with high performance clock. + +2003-02-27 Donal K. Fellows + + * tests/lsearch.test (lsearch-10.7): + * generic/tclCmdIL.c (Tcl_LsearchObjCmd): Stopped -start option from + causing an option when used with an empty list. [Bug 694232] + +2003-02-26 Chengye Mao + + * win/tclWinInit.c: fixed a bug in TclpSetVariables by initializing + dwUserNameLen with the sizeof(szUserName) before calling GetUserName. + Don't know if this bug has been recorded: it caused crash in starting + Tcl or wish in Windows. + +2003-02-26 Jeff Hobbs + + * generic/tclCmdMZ.c (TraceCommandProc): Fix mem leak when + deleting a command that had trace on it. [Bug 693564] (sofer) + +2003-02-25 Don Porter + + * doc/pkgMkIndex.n: Modified [pkg_mkIndex] to use -nocase matching + * library/package.tcl: of -load patterns, to better accomodate + common user errors due to confusion between [package names] names + and [info loaded] names. + +2003-02-25 Andreas Kupries + + * tests/pid.test: See below [Bug 678412]. + * tests/io.test: Made more robust against spaces in paths [Bug 678400] + +2003-02-25 Miguel Sofer + + * tests/execute.test: cleaning up testobj's at the end, to avoid leak + warning by valgrind. + +2003-02-22 Zoran Vasiljevic + + * generic/tclEvent.c (Tcl_FinalizeThread): Fix [Bug 571002] + +2003-02-21 Donal K. Fellows + + * tests/binary.test (binary-44.[34]): + * generic/tclBinary.c (ScanNumber): Fixed problem with unwanted + sign-bit propagation when scanning wide ints. [Bug 690774] + +2003-02-21 Daniel Steffen + + * mac/tclMacChan.c (TclpCutFileChannel, TclpSpliceFileChannel): + Implemented missing cut and splice procs for file channels. + +2003-02-21 Don Porter + + * library/package.tcl (tclPkgUnknown): Minor performance tweaks to + reduce the number of [file] invocations. Meant to improve startup + times, at least a little bit. [Patch 687906] + +2003-02-20 Daniel Steffen + + * unix/tcl.m4: + * unix/tclUnixPipe.c: (macosx) use vfork() instead of fork() to create + new processes, as recommended by Apple (vfork can be up to 100 times + faster thank fork on macosx). + * unix/configure: regen. + +2003-02-20 Jeff Hobbs + + * generic/tclEncoding.c (LoadTableEncoding): + * library/encoding/cp932.enc: Correct jis round-trip encoding + * library/encoding/euc-jp.enc: by adding 'R' type to .enc files. + * library/encoding/iso2022-jp.enc: [Patch 689341] (koboyasi, taguchi) + * library/encoding/jis0208.enc: + * library/encoding/shiftjis.enc: + * tests/encoding.test: + + * unix/tclUnixChan.c (Tcl_MakeTcpClientChannel): add + MakeTcpClientChannelMode that takes actual mode flags to avoid + hang on OS X (may be OS X bug, but patch works x-plat). + [Bug 689835] (steffen) + +2003-02-20 Donal K. Fellows + + * doc/regsub.n: Typo fix [Bug 688943] + +2003-02-19 Jeff Hobbs + + * unix/tclUnixThrd.c (TclpReaddir): + * unix/tclUnixPort.h: update to Bug 689100 patch to ensure that + there is a defined value of MAXNAMLEN (aka NAME_MAX in POSIX) and + that we have some buffer allocated. + +2003-02-19 Daniel Steffen + + * generic/tclStringObj.c: restored Tcl_SetObjLength() side-effect of + always invalidating unicode rep (if the obj has a string rep). Added + hasUnicode flag to String struct, allows decoupling of validity of + unicode rep from buffer size allocated to it (improves memory + allocation efficiency). [Bugs 686782, 671138, 635200] + + * macosx/Tcl.pbproj/project.pbxproj: + * macosx/Makefile: reworked embedded build to no longer require + relinking but to use install_name_tool instead to change the + install_names for embedded frameworks. [Bug 644510] + + * macosx/Tcl.pbproj/project.pbxproj: preserve mod dates when running + 'make install' to build framework (avoids bogus rebuilds of dependent + frameworks because tcl headers appear changed). + + * tests/ioCmd.test (iocmd-1.8): fix failure when system encoding is + utf-8: use iso8859-1 encoding explicitly. + +2003-02-18 Miguel Sofer + + * generic/tclCompile.c (TclCompileExprWords): remove unused variable + "range" [Bug 664743] + * generic/tclExecute.c (ExprSrandFunc): remove unused variable + "result" [Bug 664743] + * generic/tclStringObj.c (UpdateStringOfString): remove unused + variable "length" [Bug 664751] + * tests/execute.test (execute-7.30): fix for [Bug 664775] + +2003-02-18 Andreas Kupries + + * unix/tcl.m4: [Bug 651811] Added definition of _XOPEN_SOURCE and + linkage of 'xnet' library to HP 11 branch. This kills a lot of + socket-related failures in the testsuite when Tcl was compiled in 64 + bit mode (both PA-RISC 2.0W, and IA 64). + + * unix/configure: Regenerated. + +2003-02-18 Jeff Hobbs + + * generic/tclIO.c (HaveVersion): correctly decl static + + * unix/tclUnixThrd.c (TclpReaddir): reduce size of name string in + tsd to NAME_MAX instead of PATH_MAX. [Bug 689100] (waters) + +2003-02-18 Mo DeJong + + * unix/configure: Regen. + * unix/tcl.m4 (SC_ENABLE_THREADS): Make sure -lpthread gets passed on + the link line when checking for the pthread_attr_setstacksize symbol. + +2003-02-18 Vince Darley + + * generic/tclTest.c: cleanup of new 'simplefs' test code, and better + documentation. + +2003-02-17 Miguel Sofer + + * generic/tclBasic.c (TclRenameCommand): fixing error in previous + commit. + +2003-02-17 Jeff Hobbs + + * generic/tclExecute.c (TclExecuteByteCode INST_STR_MATCH): + * generic/tclCmdMZ.c (Tcl_StringObjCmd STR_MATCH): + * generic/tclUtf.c (TclUniCharMatch): + * generic/tclInt.decls: add private TclUniCharMatch function that + * generic/tclIntDecls.h: does string match on counted unicode + * generic/tclStubInit.c: strings. Tcl_UniCharCaseMatch has the + * tests/string.test: failing that it can't handle strings or + * tests/stringComp.test: patterns with embedded NULLs. Added + tests that actually try strings/pats with NULLs. TclUniCharMatch + should be TIPed and made public in the next minor version rev. + +2003-02-17 Miguel Sofer + + * generic/tclBasic.c (TclRenameCommand): 'oldFullName' object was not + being freed on all function exits, causing a memory leak. [Bug 684756] + +2003-02-17 Mo DeJong + + * generic/tclIO.c (Tcl_GetsObj): Minor change so that eol is only + assigned at the top of the TCL_TRANSLATE_AUTO case block. The other + cases assign eol so this does not change any functionality. + +2003-02-17 Kevin Kenny + + * tests/notify.test: Removed Windows line terminators. [Bug 687913]. + +2003-02-15 Miguel Sofer + + * generic/tclBasic.c (Tcl_EvalEx): + * generic/tclCompExpr.c (CompileSubExpr): + * generic/tclCompile.c (TclCompileScript): + * generic/tclParse.c (Tcl_ParseCommand, ParseTokens): + * generic/tclParseExpr.c (ParsePrimaryExpr): + * tests/basic.test (47.1): + * tests/main.test (3.4): + * tests/misc.test (1.2): + * tests/parse.test (6.18): + * tests/parseExpr.test (15.35): + * tests/subst.test (8.6): Don Porter's fix for bad parsing of + nested scripts [Bug 681841]. + +2003-02-15 Kevin Kenny + + * tests/notify.test (new-file): + * generic/tclTest.c (TclTest_Init, EventtestObjCmd, EventtestProc, + (EventTestDeleteProc): + * generic/tclNotify.c (Tcl_DeleteEvents): Fixed Tcl_DeleteEvents + not to get a pointer smash when deleting the last event in the + queue. Added test code in 'tcltest' and a new file of test cases + 'notify.test' to exercise this functionality; several of the new + test cases fail for the original code and pass for the corrected + code. [Bug 673714] + + * unix/tclUnixTest.c (TestfilehandlerCmd): Corrected a couple + of typos in error messages. [Bug 596027] + +2003-02-14 Jeff Hobbs + + * README: Bumped to version 8.4.2. + * generic/tcl.h: + * tools/tcl.wse.in: + * unix/configure: + * unix/configure.in: + * unix/tcl.m4: + * unix/tcl.spec: + * win/README.binary: + * win/configure: + * win/configure.in: + * macosx/Tcl.pbproj/project.pbxproj: + + * generic/tclStringObj.c (Tcl_GetCharLength): perf tweak + + * unix/tcl.m4: correct HP-UX ia64 --enable-64bit build flags + +2003-02-14 Kevin Kenny + + * win/tclWinTime.c: Added code to test and compensate for forward + leaps of the performance counter. See the MSDN Knowledge Base article + Q274323 for the hardware problem that makes this necessary on certain + machines. + * tests/winTime.test: Revised winTime-2.1 - it had a tolerance of + thousands of seconds, rather than milliseconds. (What's six orders of + magnitude among friends? + + Both the above changes are triggered by a problem reported at + http://aspn.activestate.com/ASPN/Mail/Message/ActiveTcl/1536811 + although the developers find it difficult to believe that it accounts + for the observed behavior and suspect a fault in the RTC chip. + +2003-02-13 Kevin Kenny + + * win/tclWinInit.c: Added conversion from the system encoding to + tcl_platform(user), so that it works with non-ASCII7 user names. [Bug + 685926] + + * doc/tclsh.1: Added language to describe the handling of the + end-of-file character \u001a embedded in a script file. [Bug 685485] + +2003-02-11 Vince Darley + + * tests/fileName.test: + * unix/tclUnixFile.c: fix for [Bug 685445] when using 'glob -l' on + broken symbolic links. Added two new tests for this bug. + +2003-02-11 Kevin Kenny + + * tests/http.test: Corrected a problem where http-4.14 would fail when + run in an environment with a proxy server. Replaced references to + scriptics.com by tcl.tk. + +2003-02-11 Jeff Hobbs + + * tests/lsearch.test: + * generic/tclCmdIL.c (Tcl_LsearchObjCmd): protect against the case + that lsearch -regepx list and pattern objects are equal. + + * tests/stringObj.test: + * generic/tclStringObj.c (Tcl_GetCharLength): correct ascii char + opt of 2002-11-11 to not stop early on \x00. [Bug 684699] + + * tests.parse.test: remove excess EOF whitespace + + * generic/tclParse.c (CommandComplete): more paranoid check to + break on (p >= end) instead of just (p == end). + +2003-02-11 Miguel Sofer + + * generic/tclParse.c (CommandComplete): + * tests/parse.test: fix for [Bug 684744], by Don Porter. + +2003-02-11 Jeff Hobbs + + * generic/tclIOUtil.c (Tcl_FSJoinPath, Tcl_FSGetNormalizedPath): + (UpdateStringOfFsPath): revert the cwdLen == 0 check and instead + follow a different code path in Tcl_FSJoinPath. + (Tcl_FSConvertToPathType, Tcl_FSGetNormalizedPath): + (Tcl_FSGetFileSystemForPath): Update string rep of path objects + before freeing the internal object. (darley) + + * tests/fileSystem.test: added test 8.3 + * generic/tclIOUtil.c (Tcl_FSGetNormalizedPath): + (UpdateStringOfFsPath): handle the cwdLen == 0 case + + * unix/tclUnixFile.c (TclpMatchInDirectory): simplify the hidden + file match check. + +2003-02-10 Mo DeJong + + * win/configure: + * win/configure.in: Generate error when attempting to build under + Cygwin. The Cygwin port of Tcl/Tk does not build and people are filing + bug reports under the mistaken impression that someone is actually + maintaining the Cygwin port. A post to comp.lang.tcl asking someone to + volunteer as an area maintainer has generated no results. Closing + [Bugs 680840, 630199, 634772] and marking as "Won't fix". + +2003-02-10 Donal K. Fellows + + * doc/append.n: Return value was not documented. [Bug 683188] + +2003-02-10 Vince Darley + + * doc/FileSystem.3: + * generic/tclIOUtil.c: + * generic/tclInt.h: + * tests/fileSystem.test: + * unix/tclUnixFCmd.c: + * unix/tclUnixFile.c: + * win/tclWinFile.c: further filesystem optimization, applying + [Patch 682500]. In particular, these code examples are faster now: + foreach f $flist { if {[file exists $f]} {file stat $f arr;...}} + foreach f [glob -dir $dir *] { # action and/or recursion on $f } + cd $dir + foreach f [glob *] { # action and/or recursion on $f } + cd .. + + * generic/tclTest.c: Fix for [Bug 683181] where test suite left files + in 'tmp'. + +2003-02-08 Jeff Hobbs + + * library/safe.tcl: code cleanup of eval and string comp use. + +2003-02-07 Vince Darley + + * win/tclWinFCmd.c: cleanup long lines + * win/tclWinFile.c: sped up pure 'glob' by a factor of 2.5 ('foreach f + [glob *] { file exists $f }' is still slow) + * tests/fileSystem.text: + * tests/fileName.test: added new tests to ensure correct behaviour in + optimized filesystem code. + +2003-02-07 Vince Darley + + * generic/tclTest.c: + * tests/fileSystem.text: fixed test 7.2 to avoid a possible crash, and + not change the pwd. + + * tests/http.text: added comment to test 4.15, that it may fail if you + use a proxy server. + +2003-02-06 Mo DeJong + + * generic/tclCompCmds.c (TclCompileIncrCmd): + * tests/incr.test: Don't include the text "(increment expression)" in + the errorInfo generated by the compiled version of the incr command + since it does not match the message generated by the non-compiled + version of incr. It is also not possible to match this error output + under Jacl, which does not support a compiler. + +2003-02-06 Mo DeJong + + * generic/tclExecute.c (TclExecuteByteCode): When an error is + encountered reading the increment value during a compiled call to + incr, add a "(reading increment)" error string to the errorInfo + variable. This makes the errorInfo variable set by the compiled incr + command match the value set by the non-compiled version. + * tests/incr-old.test: Change errorInfo result for the compiled incr + command case to match the modified implementation. + * tests/incr.test: Add tests to make sure the compiled and + non-compiled errorInfo messages are the same. + +2003-02-06 Don Porter + + * library/tcltest/tcltest.tcl: Filename arguments to [outputChannel] + and [errorChannel] (also -outfile and -errfile) were [open]ed but + never [closed]. Also, [cleanupTests] could remove output or error + files. [Bug 676978]. + * library/tcltest/pkgIndex.tcl: Bumped to version 2.2.2. + +2003-02-05 Mo DeJong + + * tests/interp.test: + * tests/set-old.test: Run test cases that depend on hash order through + lsort so that the tests also pass under Jacl. Does not change test + results under Tcl. + +2003-02-04 Vince Darley + + * generic/tclIOUtil.c: + * generic/tclEvent.c: + * generic/tclInt.h: + * mac/tclMacFCmd.c: + * unix/tclUnixFCmd.c: + * win/tclWin32Dll.c: + * win/tclWinFCmd.c: + * win/tclWinInit.c: + * win/tclWinInt.h: + * tests/fileSystem.test: fix to finalization/unloading/encoding issues + to make filesystem much less dependent on encodings for its cleanup, + and therefore allow it to be finalized later in the exit process. This + fixes fileSystem.test-7.1. Also fixed one more bug in setting of + modification dates of files which have undergone cross-platform + copies. [Patch 676271] + + * tests/basic.test: + * tests/exec.test: + * tests/fileName.test: + * tests/io.test: fixed some test failures when tests are run from a + directory containing spaces. + + * tests/fileSystem.test: + * generic/tclTest.c: added regression test for the modification + date setting of cross-platform file copies. + +2003-02-03 Kevin Kenny + + * generic/tclBasic.c: Changed [trace add command] so that 'rename' + callbacks get fully qualified names of the command. [Bug 651271]. + ***POTENTIAL INCOMPATIBILITY*** + * tests/trace.test: Modified the test cases for [trace add command] to + expect fully qualified names on the 'rename' callbacks. Added a case + for renaming a proc within a namespace. + * doc/trace.n: Added language about use of fully qualified names in + trace callbacks. + +2003-02-01 Kevin Kenny + + * generic/tclCompCmds.c: Removed an unused variable that caused + compiler warnings on SGI. [Bug 664379] + + * generic/tclLoad.c: Changed the code so that if Tcl_StaticPackage is + called to report the same package as being loaded in two interps, it + shows up in [info loaded {}] in both of them (previously, it didn't + appear in the static package list in the second. + + * tests/load.test Added regression test for the above bug. [Bug + 670042] + + * generic/tclClock.c: Fixed a bug that incorrectly allowed [clock + clicks {}] and [clock clicks -] to be accepted as if they were [clock + clicks -milliseconds]. + + * tests/clock.test: Added regression tests for the above bug. [Bug + 675356] + + * tests/unixNotfy.test: Added cleanup of working files [Bug 675609] + + * doc/Tcl.n: Added headings to the eleven paragraphs, to improve + formatting in the tools that attempt to extract tables of contents + from the manual pages. [Bug 627455] + + * generic/tclClock.c: Expanded mutex protection around the setting of + env(TZ) and the thread-unsafe call to tzset(). [Bug 656660] + +2003-01-31 Don Porter + + * tests/tcltest.test: Cleaned up management of file/directory + creation/deletion to improve "-debug 1" output. [Bug 675614] The + utility [slave] command failed to properly [list]-quote a constructed + [open] command, causing failure when the pathname contained + whitespace. [Bug 678415] + + * tests/main.test: Stopped main.test from deleting existing file. + Test suite should not delete files that already exist. [Bug 675660] + +2003-01-28 Don Porter + + * tests/main.test: Constrain tests that do not work on Windows. [Bug + 674387] + +2003-01-28 Vince Darley + + * generic/tclIOUtil.c: fix to setting modification date in + TclCrossFilesystemCopy. Also added 'panic' in + Tcl_FSGetFileSystemForPath under illegal calling circumstances which + lead to hard-to-track-down bugs. + + * generic/tclTest.c: added test suite code to allow exercising a + vfs-crash-on-exit bug in Tcl's finalization caused by the encodings + being cleaned up before unloading occurs. + * tests/fileSystem.test: added new 'knownBug' test 7.1 to demonstrate + the crash on exit. + +2003-01-28 Mo DeJong + + * generic/tcl.h: Add TCL_PREFIX_IDENT and TCL_DEBUG_IDENT, used only + by TclpCreateProcess. + * unix/Makefile.in: Define TCL_DBGX. + * win/Makefile.in: Define TCL_DBGX. + * win/tclWinPipe.c (TclpCreateProcess): Check that the Tcl pipe dll + actually exists in the Tcl bin directory and panic if it is not + found. Incorporate TCL_DBGX into the Tcl pipe dll name. This fixes a + really mysterious error that would show up when exec'ing a 16 bit + application under Win95 or Win98 when Tcl was compiled with symbols. + The error seemed to indicate that the executable could not be found, + but it was actually the Tcl pipe dll that could not be found. + +2003-01-26 Mo DeJong + + * win/README: Update msys+mingw URL to release 6. This version bundles + gcc 3. + +2003-01-26 Mo DeJong + + * win/configure: Regen. + * win/configure.in: Add test that checks to see if the compiler can + cast to a union type. + * win/tclWinTime.c: Squelch compiler warning about union initializer + by casting to union type when compiling with gcc. + +2003-01-25 Mo DeJong + + * generic/tclIO.c (Tcl_CutChannel, Tcl_SpliceChannel): Invoke + TclpCutFileChannel and TclpSpliceFileChannel. + * generic/tclInt.h: Declare TclpCutFileChannel and + TclpSpliceFileChannel. + * unix/tclUnixChan.c (FileCloseProc, TclpOpenFileChannel, + (Tcl_MakeFileChannel, TclpCutFileChannel, + (TclpSpliceFileChannel): Implement thread load data cut and splice for + file channels. This avoids an invalid memory ref when compiled with + -DDEPRECATED. + * win/tclWinChan.c (FileCloseProc, TclpCutFileChannel, + (TclpSpliceFileChannel): Implement thread load data cut and splice for + file channels. This avoids an invalid memory ref that was showing up + in the thread extension. + +2003-01-25 Mo DeJong + + * win/tclWin32Dll.c (TclpCheckStackSpace, squelch_warnings): + * win/tclWinChan.c (Tcl_MakeFileChannel, squelch_warnings): + * win/tclWinFCmd.c (DoRenameFile, DoCopyFile, squelch_warnings): + Re-implement inline ASM SEH handlers for gcc. The esp and ebp + registers are now saved on the stack instead of in global variables so + that the code is thread safe. Add additional checks when TCL_MEM_DEBUG + is defined to be sure the values were recovered from the stack + properly. Remove squelch_warnings functions and add a dummy call in + the handler methods to squelch compiler warnings. + +2003-01-25 Mo DeJong + + * win/configure: + * win/configure.in: Define HAVE_ALLOCA_GCC_INLINE when we detect that + no alloca function is found in malloc.h and we are compiling with + GCC. Remove HAVE_NO_ALLOC_DECL define. + * win/tclWin32Dll.c (TclpCheckStackSpace): Don't define alloca as a + cdecl function. Doing this caused a tricky runtime bug because the + _alloca function expects the size argument to be passed in a register + and not on the stack. To fix this problem, we use inline ASM when + compiling with gcc to invoke _alloca with the size argument loaded + into a register. + +2003-01-24 Jeff Hobbs + + * win/tclWinDde.c (Dde_Init): clarified use of tsdPtr. + (DdeServerProc): better refcount handling of returnPackagePtr. + + * generic/tclEvent.c (Tcl_Finalize): revert finalize change on + 2002-12-04 to correct the issue with extensions that have TSD needing + to finalize that before they are unloaded. This issue needs further + clarification. + + * tests/unixFCmd.test: only do groups check on unix + +2003-01-24 Vince Darley + + * generic/tclStringObj.c: proper fixes for Tcl_SetObjLength and + Tcl_AttemptSetObjectLength dealing with string objects with both + pure-unicode and normal internal representations. Previous fix didn't + handle all cases correctly. + * generic/tclIO.c: Add 'Tcl_GetString()' to ensure the object has a + valid 'objPtr->bytes' field before manipulating it directly. + + This fixes [Bug 635200] and [Bug 671138], but may reduce performance + of Unicode string handling in some cases. A further patch will be + applied to address this, once the code is known to be correct. + +2003-01-24 Mo DeJong + + * win/configure: Regen. + * win/configure.in: Add test to see if alloca is undefined in + malloc.h. + * win/tclWin32Dll.c (TclpCheckStackSpace): Rework the SEH exception + handler logic to avoid using the stack since alloca will modify the + stack. This was causing a nasty bug that would set the exception + handler to 0 because it tried to pop the previous exception handler + off the top of the stack. + +2003-01-23 Donal K. Fellows + + * doc/lset.n: Fixed fault in return values from lset in documentation + examples [Bug 658463] and tidied up a bit at the same time. + +2003-01-21 Joe English + * doc/namespace.n (namespace inscope): Clarified documentation + [Patch 670110] + +2003-01-21 Mo DeJong + + * win/configure: Regen. + * win/tcl.m4 (SC_CONFIG_CFLAGS): Set SHLIB_SUFFIX so that + TCL_SHLIB_SUFFIX will be set to a useful value in the generated + tclConfig.sh. Set SHLIB_LD_LIBS to "" or '${LIBS}' based on the + --enable-shared flag. This matches the UNIX implementation. + +2003-01-18 Jeff Hobbs + + * generic/tclCkalloc.c: change %ud to %u as appropriate. + +2003-01-17 Mo DeJong + + * win/tclWinDde.c (DdeServerProc): Deallocate the Tcl_Obj returned by + ExecuteRemoteObject if it was not saved in a connection object. + +2003-01-17 Mo DeJong + + * generic/tcl.h: Revert earlier change that defined TCL_WIDE_INT_TYPE + as long long and TCL_LL_MODIFIER as L when compiling with mingw. This + change ended up causing some test case failures when compiling with + mingw. + * generic/tclObj.c (UpdateStringOfWideInt): Describe the warning + generated by mingw and why it needs to be ignored so that someone is + not tempted to "fix" this problem again in the future. + +2003-01-16 Vince Darley + + * generic/tclStringObj.c: Tcl_SetObjLength fix for when the object has + a unicode string rep. Fixes [Bug 635200] + * tests/stringObj.test: removed 'knownBug' constraint from test 14.1 + now that this bug is fixed. + + * generic/tclInt.h: + * generic/tclBasic.c: + * generic/tclCmdMZ.z: + * tests/trace.test: execution and command tracing bug fixes and + cleanup. In particular fixed [Bugs 655645, 615043, 571385] + - fixed some subtle cleanup problems with tracing. This required + replacing Tcl_Preserve/Tcl_Release with a more robust refCount + approach. Solves at least one known crash caused by memory + corruption. + - fixed some confusion in the code between new style traces (Tcl + 8.4) and the very limited 'Tcl_CreateTrace' which existed before. + - made behaviour consistent with documentation (several tests even + contradicted the documentation before). + - fixed some minor error message details + - added a number of new tests + +2003-01-16 Jeff Hobbs + + * win/tclWinSerial.c (SerialOutputProc): add casts for bytesWritten to + allow strict compilation (no warnings). + + * tests/winDde.test: + * win/tclWinDde.c (Tcl_DdeObjCmd): Prevent crash when empty service + name is passed to 'dde eval' and goto errorNoResult in request and + poke error cases to free up any allocated data. + +2003-01-16 Mo DeJong + + * win/tclWin32Dll.c (squelch_warnings): Squelch compiler warnings from + SEH ASM code. + * win/tclWinChan.c (squelch_warnings): Squelch compiler warnings from + SEH ASM code. + * win/tclWinDde.c: Add casts to avoid compiler warnings. Pass pointer + to DWORD instead of int to avoid compiler warnings. + * win/tclWinFCmd.c (squelch_warnings): Add casts and fixup decls to + avoid compiler warnings. Squelch compiler warnings from SEH ASM code. + * win/tclWinFile.c: Add casts and fixup decls to avoid compiler + warnings. Remove unused variable. + * win/tclWinNotify.c: Declare as DWORD instead of int to avoid + compiler warning. + * win/tclWinReg.c: Add casts to avoid compiler warning. Fix assignment + in if expression bug. + * win/tclWinSerial.c: Add casts to avoid compiler warnings. Remove + unused variable. + * win/tclWinSock.c: Add casts and fixup decls to avoid compiler + warnings. + +2003-01-14 Jeff Hobbs + + * generic/tclClock.c (FormatClock): corrected typo that incorrectly + conditionally defined savedTZEnv and savedTimeZone. + +2003-01-13 Mo DeJong + + Fix mingw build problems and compiler warnings. + + * generic/tcl.h: Add if defined(__MINGW32__) check to code that sets + the TCL_WIDE_INT_TYPE and TCL_LL_MODIFIER. + * generic/tclClock.c (FormatClock): Don't define savedTimeZone and + savedTZEnv if we are not going to use them. + * generic/tclEnv.c: Add cast to avoid warning. + * win/tclWinChan.c: Use DWORD instead of int to avoid compiler warning + * win/tclWinThrd.c: Only define allocLock, allocLockPtr, and dataKey + when TCL_THREADS is defined. This avoid a compiler warning about + unused variables. + +2003-01-12 Mo DeJong + + * win/README: Update msys + mingw URL, the new release includes the + released 1.0.8 version of msys which includes a number of bug fixes. + +2003-01-12 Mo DeJong + + * win/configure: Regen. + * win/tcl.m4 (SC_CONFIG_CFLAGS): Pull in addition of shell32.lib to + LIBS_GUI that was added to the Tk tcl.m4 but never made it back into + the Tcl version. + +2003-01-12 Mo DeJong + + * generic/tcl.h: Skip Tcl's define of CHAR, SHORT, and LONG when + HAVE_WINNT_IGNORE_VOID is defined. This avoids a bunch of compiler + warnings when building with Cygwin or Mingw. + * win/configure: Regen. + * win/configure.in: Define HAVE_WINNT_IGNORE_VOID when we detect a + winnt.h that still defines CHAR, SHORT, and LONG when VOID has already + been defined. + * win/tcl.m4 (SC_LOAD_TCLCONFIG): Subst the TCL_DEFS loaded from + tclConfig.sh so that Tcl defines can make it into the Tk Makefile. + +2003-01-12 Mo DeJong + + * win/configure: Regen. + * win/configure.in: Check for typedefs like LPFN_ACCEPT in winsock2.h + and define HAVE_NO_LPFN_DECLS if not found. + * win/tclWinSock.c: Define LPFN_* typedefs if HAVE_NO_LPFN_DECLS is + defined. This fixes the build under Mingw and Cygwin, it was broken by + the changes made on 2002-11-26. + +2003-01-10 Vince Darley + + * generic/tclIOUtil.c: + * win/tclWinInt.h: + * win/tclWinInit.c: fix to new WinTcl crash on exit with vfs, + introduced on 2002-12-06. Encodings must be cleaned up after the + filesystem. + + * win/makefile.vc: fix to minor VC++ 5.2 syntax problem + +2003-01-09 Don Porter + + * generic/tclCompCmds.c (TclCompilerReturnCmd): Corrected off-by-one + problem with recent commit. [Bug 633204] + +2003-01-09 Vince Darley + + * generic/tclFileName.c: remove unused variable 'macSpecialCase' [Bug + 664749] + + * generic/tclIOUtil.c: + * generic/tclInt.h: + * unix/tclUnixFile.c: + * mac/tclMacFile.c: + * win/tclWinFile.c: + * win/tclWinInt.h: + * win/tclWin32Dll.c: + * tests/cmdAH.test: fix to non-ascii chars in paths when setting mtime + and atime through 'file (a|m)time $path $time'. [Bug 634151] + +2003-01-08 Don Porter + + * generic/tclExecute.c (TclExprFloatError): Use the IS_NAN macro for + greater clarity of code. + +2003-01-07 Don Porter + + * generic/tclCompCmds.c (TclCompileReturnCmd): + * tests/compile.test: Corrects failure of bytecompiled [catch + {return}] to have result TCL_RETURN (not TCL_OK) [Bug 633204]. This + patch is a workaround for 8.4.X. A new opcode INST_RETURN is a better + long term solution for 8.5 and later. + +2003-01-04 David Gravereaux + + * win/makefile.vc: + * win/rules.vc: Fixed INSTALLDIR macro problem that blanked itself by + accident causing the install target to put the tree at the root of the + drive built on. Whoops.. + + Renamed the 'linkexten' option to be 'staticpkg'. Added 'thrdalloc' to + allow the switching _on_ of the thread allocator. Under testing, I + found it not to be benificial under windows for the purpose of the + application I was using it for. It was more important for this app + that resources for tcl threads be returned to the system rather than + saved/moved to the global recycler. Be extra clean or extra fast for + the default threaded build? Let's move to clean and allow it to be + switched on for users who find it benificial for their use of threads. + +2002-12-18 David Gravereaux + + * win/makefile.vc: some uses of xcopy swapped to the @$(CPY) macro. + Reported by Joe Mistachkin . + +2002-12-17 Jeff Hobbs + + * generic/tclNotify.c (TclFinalizeNotifier, Tcl_SetServiceMode): + (Tcl_ThreadAlert): Check that the stub functions are non-NULL before + calling them. They could be set to NULL by Tcl_SetNotifier. + +2002-12-16 David Gravereaux + + * generic/tclPipe.c (TclCleanupChildren): + * tests/winPipe.test: + * win/tclWinPipe.c (Tcl_WaitPid): + * win/tclWinTest.c: Gave Tcl_WaitPid the ability to return a Win32 + exception code translated into a posix style SIG*. This allows [close] + to report "CHILDKILLED" without the meaning getting lost in a + truncated exit code. In TclCleanupChildren(), TclpGetPid() had to get + moved to before Tcl_WaitPid() as the the handle is removed from the + list taking away the ability to get the process id after the wait is + done. This shouldn't effect the unix implimentaion unless waitpid is + called with a pid of zero, meaning "any". I don't think it is.. + +2002-12-13 Don Porter + + * unix/configure.in: Updated configure of CVS snapshots to reflect + * win/configure.in: the 8.4.1.1 patchlevel. + + * unix/configure: autoconf + * win/configure autoconf + +2002-12-11 Don Porter + + * generic/tclProc.c (ProcessProcResultCode): Fix failure to propagate + negative return codes up the call stack. [Bug 647307] + * tests/proc.test (proc-6.1): Test for Bug 647307 + + * generic/tclParseExpr.c (TclParseInteger): Return 1 for the + string "0x" (recognize leading "0" as an integer). [Bug 648441]. + * tests/parseExpr.test (parseExpr-19.1): Test for Bug 648441. + +2002-12-09 Jeff Hobbs + + * win/tclWinThrd.c (TclpMasterUnlock): + * generic/tclThread.c (TclFinalizeThreadData): TclpMasterUnlock must + exist and be called unconditional of TCL_THREADS. [Bug 651139] + +2002-12-08 David Gravereaux + + * win/tclWinSock.c (SocketThreadExitHandler, InitSockets): Check that + the tsdPtr is valid before dereferencing as we call it from the exit + handler, too [Bug 650353]. Another WSAStartup() loaded version + comparison byte swap issue fixed. Although 0x0101 byte swapped is + still 0x0101, properly claiming which is major/minor is more correct. + +2002-12-06 Jeff Hobbs + + * generic/tclStubInit.c: regen + * generic/tclIntPlatDecls.h: regen + * generic/tclInt.decls: added TclWinResetInterface + + * win/tclWin32Dll.c (TclWinResetInterfaces): + * win/tclWinInit.c (TclpSetInitialEncodings, WinEncodingsCleanup): + add exit handler that resets the encoding information to a state where + we can reuse Tcl. Following these changes, it is possible to reuse Tcl + (following Tcl_FindExecutable or Tcl_CreateInterp) following a + Tcl_Finalize. + + * generic/tclIOUtil.c (TclFinalizeFilesystem): reset statics to their + original values on finalize to allow reuse of the library. + +2002-12-04 David Gravereaux + + * win/tclWinPipe.c: reverted back to -r1.27 due to numerous test + failures that need to be resolved first. The idea was good, but the + details aren't. + +2002-12-04 David Gravereaux + + * win/tclWinPipe.c (Tcl_WaitPid): When a process exits with an + exception, pass this notice on to the caller with a SIG* code rather + than truncating the exit code and missing the meaning. This allows + TclCleanupChildren() to report "CHILDKILLED". + + This has a different behavior than unix in that closing the read pipe + to a process sends the SIGPIPE signal which is returned as a SIGPIPE + exit status. On windows, we send the process a CTRL_BREAK_EVENT and + get back a CONTROL_C_EXIT which is documented to mean a SIGINT which + seems wrong as a system, but is the correct exit status. + +2002-12-04 Vince Darley + + * generic/tclIOUtil.c: fix to redirected 'load' in virtual filesystem + for some Unix systems. + + * generic/tclEvent.c: the filesystem must be cleaned up before the + encoding subsystem because it needs access to encodings. Fixes crash + on exit observed in embedded applications. + + * generic/tclTestObj.c: patch omitted from previous change of + 2002-11-13 + +2002-12-03 Jeff Hobbs + + * generic/tclStubLib.c (Tcl_InitStubs): prevent the cached check of + tclStubsPtr to allow for repeated load/unload of the Tcl dll by + hosting apps. [Bug 615304] + +2002-12-03 David Gravereaux + + * win/tclAppInit.c (sigHandler): Protect from trying to close a NULL + handle. + + * win/tclWinPipe.c (PipeClose2Proc, TclpCreateProcess): Send a real + Win32 signal (CTRL_C_EVENT) when the read channel is brought down to + alert the child to close on its side. Start the process with + CREATE_NEW_PROCESS_GROUP to allow the ability to send these signals. + The following test case now brings down the child without the use of + an external [kill] command. + + % set p [open "|[info name]" w+] + file8d5380 + % pid $p + 2876 + % close $p <- now doesn't block in Tcl_WaitPid() + % + + * win/tclWinPipe.c (PipeClose2Proc): Changed CTRL_C_EVENT to + CTRL_BREAK_EVENT as it can't be ignored by the child and proved to + work on [open "|netstat 1" w+] where CTRL_C_EVENT didn't. + +2002-11-27 David Gravereaux + + * win/tclWinPort.h: Don't turn off winsock prototypes! TclX didn't + like it. Even though the core doesn't use the prototypes, do offer + them. + + * win/tclWinSock.c: Removed shutdown() from the function table as it + wasn't referenced anywhere and cleaned-up some casting that that + wasn't needed. + + * win/tclWinSock.c: WSAStartup() loaded version comparison error which + resulted in 2.0 looking less than 1.1. + + * win/tclWinChan.c (Tcl_MakeFileChannel): return of DuplicateHandle() + incorrectly used [Bug 618852]. + +2002-11-26 Jeff Hobbs + + * generic/tclEncoding.c (TclFinalizeEncodingSubsystem): properly + cleanup all encodings by using Tcl_FirstHashEntry in the while loop. + + * unix/Makefile.in (valgrind): add simple valgrind target + + * tests/exec.test: unset path var to allow singleproc testing + + * generic/tclInterp.c (AliasCreate): preserve/release interps to + prevent possible FMR error in bad alias cases. + +2002-11-26 David Gravereaux + + * win/tclWinPort.h: + * win/tclWinSock.c: This patch does two things: + + 1) Cleans-up the winsock typedefs by using the typedefs provided by + winsock2.h. This has no effect on how winsock is initialized; just + makes the source code easier to read. [Patch 561305, 561301] + + 2) Revamps how the socket message handler thread is brought up and + down to allow for cleaner exits without the use of TerminateThread(). + TerminateThread is evil. No attempt has been made to resolve [Bug + 593810] which may need a new channel driver version for adding a + registering function within the transfered thread to init the handler + thread. IOW, initialization of the TSD structure is getting bypassed + through the thread extension's [thread::transfer] command. + +2002-11-26 David Gravereaux + + * win/tclWinConsole.c: + * win/tclWinPipe.c: + * win/tclWinSerial.c: + * win/tclWinSock.c: + * win/tclWinThrd.c: + * win/tclWinTime.c: General cleanup of all worker threads used by the + channel drivers. Eliminates the normal case where the worker thread is + terminated ('cept the winsock one). Instead, use kernel events to + signal a clean exit. Only when the worker thread is blocked on an I/O + call is the thread terminated. Essentially, this makes all other + channel worker threads behave like the PipeReaderThread() function for + it's cleaner exit behavior. This appears to fix [Bug 597924] but needs + 3rd party confirmation to close the issue. + +2002-11-26 Mo DeJong + + * win/README: Update msys build env URL. This release #4 build both + tcl and tk without problems. + +2002-11-22 Jeff Hobbs + + * library/init.tcl: code cleanup to reduce use of + * library/opt/optparse.tcl: string compare + + * tests/interp.test: interp-14.4 + * generic/tclInterp.c (TclPreventAliasLoop): prevent seg fault when + creating an alias command over the interp name. [Bug 641195] + +2002-11-18 Jeff Hobbs + + * generic/tclUtil.c (SetEndOffsetFromAny): handle integer offset + after the "end-" prefix. + + * generic/get.test: + * generic/string.test: + * generic/tclObj.c (SetIntFromAny, SetWideIntFromAny): + * generic/tclGet.c (TclGetLong, Tcl_GetInt): simplify sign handling + before calling strtoul(l). [Bug 634856] + +2002-11-18 David Gravereaux + + * win/tclWinThrd.c (Tcl_CreateThread/TclpThreadExit): Fixed improper + compiler macros that missed the VC++ compiler. This resulted in VC++ + builds using CreateThread()/ExitThread() in place of the proper + _beginthreadex()/_endthreadex(). This was a large error and am + surprised I missed seeing it earlier. + +2002-11-13 Jeff Hobbs + + * generic/regexpComp.test: added tests 22.* + * generic/tclCompCmds.c (TclCompileRegexpCmd): add left and right + anchoring (^ and $) recognition and check starting or ending .* to + extend the number of REs that can be compiled to string match or + string equal. + +2002-11-13 Vince Darley + + * generic/tclCmdMZ.c: + * tests/trace.test: applied patch from Hemang Levana to fix [Bug + 615043] in execution traces with 'return -code error'. + + * generic/tclTestObj.c: + * tests/stringObj.test: added 'knownBug' test for [Bug 635200] + * generic/tclStringObj.c: corrected typos in comments + + * generic/tclFileName.c: + * tests/fileName.test: applied patch for bug reported against tclvfs + concerning handling of Windows serial ports like 'com1', 'lpt3' by the + virtual filesystem code. + + * doc/RegExp.3: clarification of the 'extendMatch' return values. + +2002-11-11 Jeff Hobbs + + * generic/tclUtil.c (Tcl_Backslash): use TclUtfToUniChar. + (Tcl_StringCaseMatch): use TclUtfToUniChar and add further + optimizations for the one-byte/char case. + + * generic/tclUtf.c: make use of TclUtfToUniChar macro throughout the + functions, and add extra optimization to Tcl_NumUtfChars for + one-byte/char case. + + * generic/tclVar.c (DisposeTraceResult, CallVarTraces): add proper + static declarations. + + * generic/tclStringObj.c (Tcl_GetCharLength): optimize for the ascii + char case. + (Tcl_GetUniChar): remove unnecessary use of Tcl_UtfToUniChar. + (FillUnicodeRep): Use TclUtfToUniChar. + + * generic/tclHash.c (HashStringKey): move string++ lower to save an + instruction. + + * generic/tclExecute.c (TclExecuteByteCode): improve INST_STR_CMP to + use memcmp in the one-byte/char case, also use direct index for + INST_STR_INDEX in that case. + + * generic/tclEncoding.c (UtfToUtfProc, UtfToUnicodeProc): + (TableFromUtfProc, EscapeFromUtfProc): Use TclUtfToUniChar. + (UnicodeToUtfProc, TableToUtfProc): add 1-byte char optimizations + for Tcl_UniCharToUtf call. These improve encoded channel conversion + speeds by up to 20%. + + * tests/split.test: added 1-char string split tests + * generic/tclCmdMZ.c (Tcl_SplitObjCmd): Use TclUtfToUniChar. Also + added a special case for single-ascii-char splits. + (Tcl_StringObjCmd): Use TclUtfToUniChar. For STR_RANGE, support + getting ranges of ByteArrays (reverts change from 2000-05-26). + (TraceExecutionProc) add proper static declaration. + + * generic/tclInt.h: add macro version of Tcl_UtfToUniChar + (TclUtfToUniChar) that does the one-byte utf-char check without + calling Tcl_UtfToUniChar, for use by the core. This brings notable + speedups for primarily ascii string handling. + + * generic/tcl.h (TCL_PATCH_LEVEL): bump to 8.4.1.1 for patchlevel + only. This interim number will only be reflected by [info patchlevel] + +2002-11-11 Kevin Kenny + + * doc/Tcl.n: Corrected indentation of the new language. Oops. + +2002-11-10 Kevin Kenny + + * doc/Tcl.n: Added language to the Endekalogue to make it clear that + substitutions always take place from left to right. [Bug 635644] + +2002-11-06 Mo DeJong + + * changes: Note TclInExit TclInThreadExit changes. + * generic/tclEvent.c (TclInExit, TclInThreadExit): + Split out functionality of TclInExit to make it clear which one should + be called in each situation. + * generic/tclInt.decls: Declare TclInThreadExit. + * generic/tclIntDecls.h: Regen. + * generic/tclStubInit.c: Regen. + * mac/tclMacChan.c (StdIOClose): + * unix/tclUnixChan.c (FileCloseProc): + * win/tclWinChan.c (FileCloseProc): + * win/tclWinConsole.c (ConsoleCloseProc): + * win/tclWinPipe.c (TclpCloseFile): + * win/tclWinSerial.c (SerialCloseProc): Invoke the new TclInThreadExit + method instead of TclInExit. + +2002-11-06 Mo DeJong + + * unix/configure: Regen. + * unix/tcl.m4 (SC_CONFIG_CFLAGS): Generate a fatal configure error if + no ar program can be found on the path. [Bug 582039] + * win/configure: Regen. + * win/configure.in: Check that AR, RANLIB, and RC are found on the + path when building with gcc. + +2002-11-03 David Gravereaux + + * win/tclAppInit.c: Calls Registry_Init() and Dde_Init() when + STATIC_BUILD and TCL_USE_STATIC_PACKAGES macros are set. + + * win/makefile.vc: + * win/rules.vc: linkexten option now sets the TCL_USE_STATIC_PACKAGES + macro which also adds the registry and dde object files to the link + of the shell. [Patch 479697] Also factored some additional macros + that will be helpful for extension authors. Version grepping of tcl.h + will need to be added to complete this. + + * win/buildall.vc.bat: Added more descriptive commentary. + +2002-11-01 David Gravereaux + + * win/tclWinReg.c: Changed the Tcl_PkgProvide() line to declare the + registry extension at version 1.1 from 1.0. + +2002-10-31 Andreas Kupries + + * library/word.tcl: Changed $tcl_platform to $::tcl_platform to avoid + possible scope trouble. + +2002-10-29 Vince Darley + + * win/tclWinInt.h: + * win/tclWin32Dll.c: added comments about certain NULL function + pointers which will be filled in when Tcl_FindExecutable is called, so + that users don't report invalid bugs on this topic. (No code changes + at all). + +2002-10-29 Daniel Steffen + + * unix/tclLoadDyld.c (TclpFindSymbol): pass all dyld error messages + upstream [Bug 627546]. + +2002-10-28 Andreas Kupries + + * library/dde/pkgIndex.tcl: + * library/reg/pkgIndex.tcl: Changed the hardwired debug suffix (d) to + the correct suffix (g). + +2002-10-28 Don Porter + + * library/auto.tcl: Converted the Mac-specific [package unknown] + * library/init.tcl: behavior to use a chaining mechanism to extend + * library/package.tcl: the default [tclPkgUnknown]. [Bug 627660] + * library/tclIndex: [Patch 624509] (steffen) + +2002-10-26 David Gravereaux + + * win/makefile.vc: xcopy on NT 4.0 doesn't support the /Y switch + (overwrite). Added logic to handle this. [Bug 618019] + +2002-10-23 Donal K. Fellows + + * generic/tclInt.h: Removed definitions of obsolete HistoryEvent and + HistoryRev structures (the history mechanism has been written in Tcl + for some time now). + +2002-10-22 Jeff Hobbs + + *** 8.4.1 TAGGED FOR RELEASE *** + + * changes: updated for 8.4.1 release + + * win/Makefile.in: removed @MEM_DEBUG_FLAGS@ subst. + * win/configure: regen + * win/configure.in: removed SC_ENABLE_MEMDEBUG call + * win/tcl.m4: replaced SC_ENABLE_MEMDEBUG with a more intelligent + SC_ENABLE_SYMBOLS that takes yes|no|mem|compile|all as options now. + +2002-10-22 Daniel Steffen + + * library/auto.tcl (tcl_findLibrary): + * library/package.tcl (tclPkgUnknown): on macosx, search inside the + Resources/Scripts subdirectory of any potential package directory + * macosx/Tcl.pbproj/project.pbxproj: add standard Frameworks dirs to + TCL_PACKAGE_PATH make argument. + * unix/tclUnixInit.c (TclpSetVariables): on macosx, add embedded + framework dirs to tcl_pkgPath: @executable_path/../Frameworks and + @executable_path/../PrivateFrameworks (if they exist), as well as the + dirs in DYLD_FRAMEWORK_PATH (if set). [Patch 624509] use standard + MAXPATHLEN instead of literal 1024 + +2002-10-22 Donal K. Fellows + + * doc/StringObj.3, doc/Object.3: Documented that Tcl_Obj's + standard string form is a modified UTF-8; apparently, this was not + mentioned anywhere in the main docs, and lead to [Bug 624919]. + +2002-10-21 Daniel Steffen + + * macosx/Tcl.pbproj/project.pbxproj: bumped version to 8.4.1 + * generic/tcl.h: Added reminder comment to edit + macosx/Tcl.pbproj/project.pbxproj when version number changes. + +2002-10-18 Jeff Hobbs + + * library/reg/pkgIndex.tcl: + * win/configure: + * win/configure.in: + * win/Makefile.in: + * win/makefile.vc: + * win/makefile.bc: Updated to reg1.1 + + * doc/registry.n: Added support for broadcasting changes to the + * tests/registry.test: registry Environment. Noted proper code in ths + * win/tclWinReg.c: docs. [Patch 625453] + + * unix/Makefile.in (dist): add any mac/tcl*.sea.hqx files + +2002-10-17 Don Porter + + * generic/tclVar.c: Fixed code that check for proper # of args to + * tests/var.test: [array names]. Added test. [Bug 624755] + +2002-10-16 Jeff Hobbs + + * win/configure: add workaround for cygwin windres + * win/tcl.m4 (SC_CONFIG_CFLAGS): problem. [Patch 624010] (howell) + +2002-10-15 Jeff Hobbs + + * README: added archives.tcl.tk note + + * unix/configure: + * unix/tcl.m4: Correct AIX-5 ppc build flags. Correct HP 11 64-bit gcc + building. [Patch 601051] (martin) + +2002-10-15 Vince Darley + + * generic/tclCmdMZ.c: + * tests/trace.test: applied patch from Hemang Levana to fix [Bug + 615043] in execution traces with idle tasks firing. + +2002-10-14 Jeff Hobbs + + * generic/tclEnv.c (Tcl_PutEnv): correct possible mem leak. + [Patch 623269] (brouwers) + +2002-10-11 Donal K. Fellows + + * generic/tcl.h: Need a different strategy through the maze of + #defines to let people building with Cygwin build correctly. Also + made some comments less misleading... + +2002-10-10 Jeff Hobbs + + * README: fixed minor nits [Bug 607776] (virden) + + * win/configure: + * win/tcl.m4: enable USE_THREAD_ALLOC (new threaded allocator) by + default in cygwin configure on Windows. + +2002-10-10 Don Porter + + * doc/Tcl.n: Clarified that namespace separators are legal in + the variable names during $-subtitution. [Bug 615139] + + * doc/regexp.n: Typo correction. Thanks Ronnie Brunner. [Bug 606826] + +2002-10-10 Vince Darley + + * unix/tclLoadAout.c + * unix/tclLoadDl.c + * unix/tclLoadDld.c + * unix/tclLoadDyld.c + * unix/tclLoadNext.c + * unix/tclLoadOSF.c + * unix/tclLoadShl.c + * win/tclWinLoad.c: allow either full paths or simply dll names to be + specified when loading files (the latter will be looked up by the OS + on your PATH/LD_LIBRARY_PATH as appropriate). Fixes [Bug 611108] + +2002-10-09 Jeff Hobbs + + * unix/README: doc'ed --enable-symbols options. + * unix/Makefile.in: removed @MEM_DEBUG_FLAGS@ subst. + * unix/configure: regen + * unix/configure.in: removed SC_ENABLE_MEMDEBUG call + * unix/tcl.m4: replaced SC_ENABLE_MEMDEBUG with a more intelligent + SC_ENABLE_SYMBOLS that takes yes|no|mem|compile|all as options now. + +2002-10-09 Kevin B. Kenny + + * win/tclWinTime.c: Added code to set an exit handler that terminates + the thread that calibrates the performance counter, so that the thread + won't outlive unloading the Tcl DLL. [Bug 620735]. + +2002-10-09 Donal K. Fellows + + * doc/binary.n: More clarification of [binary scan]'s behaviour. + +2002-10-09 Daniel Steffen + + * generic/tclIntDecls.h: fixed botched regen. + +2002-10-09 Daniel Steffen + + * generic/tclInt.decls: made TclSetPreInitScript() declaration + generic as it is used on mac & aqua as well. + * generic/tclIntDecls.h: + * generic/tclStubInit.c: regen. + * generic/tclCompile.h: added prototype for TclCompileVariableCmd. + + * mac/tclMacPort.h: removed incorrect definitions and + obsolete definitions. + * mac/tclMacChan.c: removed obsolete GetOpenMode() and replaced + associated constants with the analogues (they existing defs + were inconsistent with which was causing havoc when + Tcl_GetOpenMode was used instead of private GetOpenMode). + + * mac/tclMacFCmd.c: removed GenerateUniqueName(), use equivalent (and + identically named) routine from MoreFiles instead. + + * mac/tclMacLoad.c: CONSTification, fixes to Vince's last changes. + + * mac/tclMacFile.c: + * mac/tclMacTest.c: + * mac/tclMacUnix.c: CONSTification. + + * mac/tclMacOSA.c: CONSTification, sprintf fixes, UH 3.4.x changes; + fix for missing autoname token from TclOSACompileCmd. (bdesgraupes) + * mac/AppleScript.html(AppleScript delete): doc fix. (bdesgraupes) + + * mac/tcltkMacBuildSupport.sea.hqx: updated MoreFiles to 1.5.3, + updated build instructions for 8.4. + * mac/tclMacProjects.sea.hqx: rebuilt archive. + +2002-10-09 Donal K. Fellows + + * doc/Alloc.3: Added a note to mention that attempting to allocate a + zero-length block can return NULL. [Tk Bug 619544] + +2002-10-04 Donal K. Fellows + + * doc/binary.n: Doc improvements [Patch 616480] + + * tests/fCmd.test, tests/winFCmd.test: + * tools/eolFix.tcl, tools/genStubs.tcl: [file exist] -> [file exists] + Thanks to David Welton. + +2002-10-03 Don Porter + + * doc/tcltest.n: fixed typo [Bug 618018]. Thanks to "JJM". + +2002-10-03 Donal K. Fellows + + * tools/man2help2.tcl: + * tests/http.test, tests/httpd, tests/httpold.test: + * tests/env.test, tests/binary.test, tests/autoMkindex.test: + * library/init.tcl, library/http/http.tcl: [info exist] should really + be [info exists]. [Bug 602566] + + * doc/lsearch.n: Better specification of what happens when -sorted is + mixed with other options. [Bug 617816] + +2002-10-01 Jeff Hobbs + + * generic/tclProc.c (TclCreateProc): mask out VAR_UNDEFINED for + precompiled locals to support 8.3 precompiled code. + (Tcl_ProcObjCmd): correct 2002-09-26 fix to look for tclProcBodyType. + +2002-10-01 Donal K. Fellows + + * doc/socket.n: Mentioned that ports may be specified as serivce names + as well as integers. [Bug 616843] + +2002-09-30 Jeff Hobbs + + * generic/tclCompCmds.c (TclCompileRegexpCmd): correct the checking + for bad re's that didn't terminate the re string. Resultant compiles + were correct, but much slower than necessary. + +2002-09-29 David Gravereaux + + * win/tclAppInit.c: Added proper exiting conditions using Win32 + console signals. This handles the existing lack of a Ctrl+C exit to + call exit handlers when built for thread support. Also, properly + handles exits from other conditions such as CTRL_CLOSE_EVENT, + CTRL_LOGOFF_EVENT, and CTRL_SHUTDOWN_EVENT signals. In all cases, exit + handlers will be called. [Bug 219355] + + * win/makefile.vc: Added missing tclThreadAlloc.c to the build rules + and defines USE_THREAD_ALLOC when TCL_THREADS is defined to get the + new behavior by default. + +2002-09-27 Don Porter + + * README: Bumped to version 8.4.1 to avoid confusion + * generic/tcl.h: of CVS snapshots with the actual 8.4.0 + * tools/tcl.wse.in: release. + * unix/configure.in: + * unix/tcl.spec: + * win/configure.in: + + * unix/configure: autoconf + * win/configure: + +2002-09-26 Jeff Hobbs + + * unix/configure: regen. + * unix/tcl.m4: improve AIX-4/5 64bit compilation support. + + * generic/tclProc.c (Tcl_ProcObjCmd): correct overeager optimization + of noop proc to handle the precompiled case. (sofer) + + * unix/ldAix (nmopts): add -X32_64 to make it work for 32 or 64bit + mode compilation. + + * library/encoding/koi8-u.enc: removed extraneous spaces that confused + encoding reader. [Bug 615115] + + * unix/Makefile.in: generate source dists with -src designator and do + not generate .Z anymore (just .gz and .zip). + +2002-09-18 Mumit Khan + + Added basic Cygwin support. + + * win/tcl.m4 (SC_PATH_TCLCONFIG): Support one-tree build. + (SC_PATH_TKCONFIG): Likewise. + (SC_PROG_TCLSH): Likewise. + (SC_CONFIG_CFLAGS): Assume real Cygwin port and remove -mno-cygwin + flags. Add -mwin32 to extra_cflags and extra_ldflags. Remove ``-e + _WinMain@16'' from LDFLAGS_WINDOW. + * win/configure.in: Allow Cygwin build. + (SEH test): Define to be 1 instead of empty value. + (EXCEPTION_DISPOSITION): Add test. + * win/configure: Regenerate. + + * generic/tcl.h: Don't explicitly define __WIN32__ for Cygwin, let the + user decide whether to use Windows or POSIX personality. + (TCL_WIDE_INT_TYPE, TCL_LL_MODIFIER, struct Tcl_StatBuf): Define for + Cygwin. + * generic/tclEnv.c (Tcl_CygwinPutenv): putenv replacement for Cygwin. + * generic/tclFileName.c (Tcl_TranslateFileName): Convert POSIX to + native format. + (TclDoGlob): Likewise. + * generic/tclPlatDecls.h (TCHAR): Define for Cygwin. + * win/tclWinPort.h (putenv, TclpSysAlloc, TclpSysFree) + (TclpSysRealloc): Define for Cygwin. + +2002-09-26 Daniel Steffen + + * macosx/Makefile: preserve environment value of INSTALL_ROOT. When + embedding only use deployment build. Force relink before embedded + build to ensure new linker flags are picked up. + + * macosx/Tcl.pbproj/project.pbxproj: add symbolic links to debug lib, + stub libs and tclConfig.sh in framework toplevel. Configure target + dependency fix. Fix to 'clean' action. Added private tcl headers to + framework. Install tclsh symbolic link. Html doc build works when no + installed tclsh available. Made html doc structure in framework more + like in Apple frameworks. + +2002-09-24 Donal K. Fellows + + * unix/tcl.m4 (SC_TCL_64BIT_FLAGS): Yet more robust 64-bit value + detection to close [Bug 613117] on more systems. + + * generic/tclCompile.c (TclPrintSource): More CONSTifying. + * generic/tclExecute.c (EvalStatsCmd): Object-ify to reduce warnings. + Thanks to 'CoderX2' on the chat for bringing this to my attention... + + * unix/tcl.m4: Forgot to define TCL_WIDE_INT_IS_LONG at the + appropriate moment. I believe this is the cause of [Bug 613117] + + * doc/lset.n: Changed 'list' to 'varName' for consistency with lappend + documentation. Thanks to Glenn Jackman [Bug 611719] + +2002-09-22 Don Porter + + * library/tcltest/tcltest.tcl: Corrected [puts -nonewline] within + test bodies. Thanks to Harald Kirsch. [Bug 612786, Patch 612788] Also + corrected reporting of body return code. Thanks to David Taback [Bug + 611922] + * library/tcltest/pkgIndex.tcl: Bump to version 2.2.1. + * tests/tcltest.test: added tests for these bugs. + +2002-09-15 Mo DeJong + + * unix/configure: Regen. + * unix/tcl.m4 (SC_CONFIG_CFLAGS): Add PEEK_XCLOSEIM define under + Linux. This is used by Tk to double check that an X input context is + cleaned up before it is closed. + +2002-09-12 David Gravereaux + + * win/coffbase.txt: Added BLT to the virtual base address listings + table should BLT's build tools decide to use it. + +2002-09-12 Daniel Steffen + + * generic/tcl.h: + * mac/tclMacApplication.r: + * mac/tclMacLibrary.r: + * mac/tclMacResource.r: unified use of the two equivalent resource + compiler header inclusion defines RC_INVOKED and RESOURCE_INCLUDED, + now use RC_INVOKED throughout. + +2002-09-10 Mo DeJong + + * unix/README: Add note about building extensions with the same + compiler Tcl was built with. [Tk Bug 592096] + +2002-09-10 Daniel Steffen + + * macosx/Tcl.pbproj/project.pbxproj: disabled building html + documentation during embedded build. + +2002-09-10 Daniel Steffen + + * unix/Makefile.in: added DYLIB_INSTALL_DIR variable for macosx and + set it to default value ${LIB_RUNTIME_DIR} + * unix/tcl.m4 (Darwin): use DYLIB_INSTALL_DIR instead of + LIB_RUNTIME_DIR in the -install_name argument to ld. + * unix/configure: regen. + + * macosx/Tcl.pbproj/project.pbxproj: + * macosx/Makefile: added support for building Tcl as an embedded + framework, i.e. using an dyld install_name containing + @executable_path/../Frameworks via the new DYLIB_INSTALL_DIR + unix/Makefile variable. + +2002-09-10 Jeff Hobbs + + *** 8.4.0 TAGGED FOR RELEASE *** + +2002-09-06 Don Porter + + * doc/file.n: Format correction, and clarified [file normalize] + returns an absolute path. + + * doc/tcltest.n: Added examples section, as long promised. + +2002-09-06 Reinhard Max + + * tests/tcltest.test: Added nonRoot flag to tests 8.3, 8.4, and 8.12. + +2002-09-05 Don Porter + + * doc/tcltest.n: Clarified phrasing. + + * generic/tclBasic.c (TclRenameCommand,CallCommandTraces): + * tests/trace.test (trace-27.1): Corrected memory leak when a rename + trace deleted the command being traced. Test added. Thanks to Hemang + Lavana for the fix. [Bug 604609] + + * generic/tclVar.c (TclDeleteVars): Corrected logic for setting the + TCL_INTERP_DESTROYED flag when calling variable traces. [Tk Bug 605121] + +2002-09-04 Miguel Sofer + + * generic/tclVar.c (DeleteArray): leak plug [Bug 604239]. Thanks to + dkf and dgp for the long and difficult discussion in the chat. + +2002-09-03 Jeff Hobbs + + * generic/tclVar.c (Tcl_UpVar2): code cleanup to not use goto + + * unix/configure: remove -pthread from LIBS on FreeBSD in thread + * unix/tcl.m4: enabled build. [Bug 602849] + +2002-09-03 Miguel Sofer + + * generic/tclInterp.c (AliasCreate): a Tcl_Obj was leaked on error + return from TclPreventAliasLoop. + +2002-09-03 Daniel Steffen + + * macosx/Tcl.pbproj/project.pbxproj: Bumped version number to 8.4.0 + and updated copyright info. + +2002-09-03 Miguel Sofer + + * generic/tclVar.c (Tcl_UpVar2): a Tcl_Obj was being leaked on error + return from TclGetFrame. + +2002-09-03 Don Porter + + * changes: Updated changes for 8.4.0 release. + +2002-09-02 Jeff Hobbs + + * unix/tclUnixFile.c (TclpObjLink): removed unnecessary/unfreed + extra native char*. + + * unix/tclUnixChan.c (Tcl_MakeTcpClientChannel): make sure to init + flags field of TcpState ptr to 0. + + * unix/configure: + * unix/tcl.m4: added 64-bit gcc compilation support on HP-11. + [Patch 601051] (martin) + + * README: Bumped version number to 8.4.0 + * generic/tcl.h: + * tools/tcl.wse.in: + * unix/configure: + * unix/configure.in: + * unix/tcl.spec: + * win/README.binary: + * win/configure: + * win/configure.in: + + * generic/tclInterp.c (SlaveCreate): make sure that the memory and + checkmem commands are initialized in non-safe slave interpreters when + TCL_MEM_DEBUG is used. [Bug 583445] + + * win/tclWinConsole.c (ConsoleCloseProc): only wait on writable pipe + if there was something to write. This may prevent infinite wait on + exit. + + * tests/exec.test: marked exec-18.1 unixOnly until the Windows + incompatability (in the test, not the core) can be resolved. + + * tests/http.test (http-3.11): added close $fp that was causing an + error on Windows because the file was not closed before deleting. + + * unix/tclUnixInit.c (Tcl_MacOSXGetLibraryPath): made this static + function only appear when HAVE_CFBUNDLE is defined. + +2002-08-31 Daniel Steffen + + * unix/tcl.m4: added TK_SHLIB_LD_EXTRAS analogue of existing + TCL_SHLIB_LD_EXTRAS for linker settings only used when linking Tk. + + * unix/configure: regen + +2002-08-31 Daniel Steffen + + *** macosx-8-4-branch merged into the mainline [Patch 602770] *** + + * generic/tcl.decls: added new macosx specific entry to stubs table. + + * tools/genStubs.tcl: added generation of platform guards for macosx. + This is a little more complex than it seems, because MacOS X IS "unix" + plus a little bit, for the purposes of Tcl. BUT unfortunately, Tk uses + "unix" to mean X11. So added platform keys for macosx (the little + added to "unix"), "aqua" and "x11" to distinguish these for Tk. + + * generic/tcl.h: added a #ifnded RESOURCE_INCLUDED so that tcl.h can + be passed to the resource compiler. + + * generic/tcl.h: + * generic/tclNotify.c: added a few Notifier procs, to be able to + modify more bits of the Tcl notifier dynamically. Required to get Mac + OS X Tk to live on top of the Tcl Unix threaded notifier. Changes the + size of the Tcl_NotifierProcs structure, but doesn't move any elements + around. + + * unix/tclUnixNotfy.c: moved the call to Tcl_ConditionNotify till + AFTER we are done mucking with the pointer swap. Fixes cases where the + thread waiting on the condition wakes & accesses the waitingListPtr + before it gets reset, causing a hang. + + * library/auto.tcl (tcl_findLibrary): added checking the directories + in the tcl_pkgPath for library files on macosx to enable support of + the standard Mac OSX library locations + + * unix/Makefile.in: + * unix/configure.in: + * unix/tcl.m4: added MAC_OSX_DIR. Added PLAT_OBJS to the OBJS: there + are some MacOS X specific files now for Tcl, and when I get he + resource & applescript stuff ported over, and restore support for + FindFiles, etc, there will be a few more. Added LD_LIBRARY_PATH_VAR + configure variable to avoid having to set all possible LD_LIBRARY_PATH + analogues on all platforms. LD_LIBRARY_PATH_VAR is "LD_LIBRARY_PATH" + by default, "LIBPATH" on AIX, "SHLIB_PATH" on HPUX and + "DYLD_LIBRARY_PATH" on Mac OSX. Added configure option to package Tcl + as a framework on Mac OSX. + + * macosx/tclMacOSXBundle.c (new): support for finding Tcl extension + packaged as 'bundles' in the standard Mac OSX library locations. + + * unix/tclUnixInit.c: added support for findig the tcl script library + inside Tcl packaged as a framework on Mac OSX. + + * macosx/Tcl.pbproj/jingham.pbxuser (new): + * macosx/Tcl.pbproj/project.pbxproj (new): project for Apple's + ProjectBuilder IDE. + + * macosx/Makefile (new): simple makefile for building the project from + the command line via the ProjectBuilder tool 'pbxbuild'. + + * unix/configure: + * generic/tclStubInit.c: + * generic/tclPlatDecls.h: regen + +2002-08-29 Andreas Kupries + + * win/tclWinThrd.c (TclpFinalizeThreadData, TclWinFreeAllocCache): + Applied patch for [Bug 599428] (sofer) + +2002-08-28 David Gravereaux + + * generic/tclEnv.c: + * unix/configure.in: + * win/tclWinPort.h: putenv() on some systems copies the buffer rather + than taking reference to it. This causes memory leaks and is know to + effect mswindows (msvcrt) and NetBSD 1.5.2. This patch tests for this + behavior and turns on -DHAVE_PUTENV_THAT_COPIES=1 when approriate. + Thanks to David Welton for assistance. [Bug 414910] + + * unix/configure: regen'd + +2002-08-28 Donal K. Fellows + + * doc/eval.n: Added mention of list command and corrected "SEE ALSO". + + * unix/configure.in: Cache handling of ac_cv_type_socklen_t was wrong. + [Bug 600931] reported by John Ellson. Fixed by putting the brackets + where they belong. + +2002-08-26 Miguel Sofer + + * generic/tclCompCmds.c: fix for [Bug 599788] (error in element name + causing segfault), reported by Tom Wilkason. Fixed by copying the + tokens instead of the source string. + +2002-08-26 Miguel Sofer + + * generic/tclThreadAlloc.c: small optimisation, reducing the new + allocator's overhead. + +2002-08-23 Miguel Sofer + + * generic/tclObj.c (USE_THREAD_ALLOC): fixed leak [Bug 597936]. Thanks + to Zoran Vasiljevic. + +2002-08-23 Miguel Sofer + + * generic/tclThreadAlloc.c (USE_THREAD_ALLOC): moving objects between + caches as a block, instead of one-by-one. + +2002-08-22 Miguel Sofer + + * generic/tclBasic.c: + * generic/tclCmdMZ.c: fix for freed memory r/w in delete traces [Bug + 589863], patch by Hemang Lavana. + +2002-08-20 Andreas Kupries + + * win/Makefile.in (CFLAGS): + * unix/Makefile.in (MEM_DEBUG_FLAGS): Added usage of @MEM_DEBUG_FLAGS@. + * win/configure.in: + * unix/configure.in: Added usage of SC_ENABLE_MEMDEBUG. + * win/tcl.m4: + * unix/tcl.m4: Added macro SC_ENABLE_MEMDEBUG. Allows a user of + configure to (de)activate memory validation and debugging + (TCL_MEM_DEBUG). No need to modify the makefile anymore. + +2002-08-20 Don Porter + + * generic/tclCkalloc.c: CONSTified MemoryCmd and CheckmemCmd. + + * README: Bumped version number to 8.4b3 to distinguish + * generic/tcl.h: HEAD from the 8.4b2 release. + * tools/tcl.wse.in: + * unix/configure.in: + * unix/tcl.spec: + * win/README.binary: + * win/configure.in: + + * unix/configure: autoconf + * win/configure: + + * library/http/http.tcl: Corrected installation directory of + * library/msgcat/msgcat.tcl: the package tcltest 2.2. Added + * library/opt/optparse.tcl: comments in other packages to remind + * library/tcltest/tcltest.tcl: that installation directories need + * unix/Makefile.in: updates to match increasing version + * win/Makefile.in: numbers. [Bug 597450] + * win/makefile.bc: + * win/makefile.vc: + +2002-08-19 Andreas Kupries + + * unix/tclUnixTest.c (TestfilehandlerCmd): Changed + readable/writable to the more common readable|writable. + Fixes [Bug 596034] (lvirden) + +2002-08-16 Donal K. Fellows + + * tests/fCmd.test: Added test to make sure that the cause of the + problem is detectable with an unpatched Tcl. + * doc/ObjectType.3: Added note on the root cause of this problem to + the documentation, since it is possible for user code to trigger this + sort of behaviour too. + * generic/tclIOUtil.c (SetFsPathFromAny): Objects should only have + their old representation deleted when we know that we are about to + install a new one. This stops a weird TclX bug under Linux with + certain kinds of memory debugging enabled which essentally came down + to a double-free of a string. + +2002-08-14 Miguel Sofer + + * generic/tclInt.h: + * generic/tclObj.c: (code cleanup) factored the parts in the macros + TclNewObj() / TclDecrRefCount() into a common part for all memory + allocators and two new macros TclAllocObjStorage() / + TclFreeObjStorage() that are specific to each allocator and fully + describe the differences. Removed allocator-specific code from + tclObj.c by using the macros. + +2002-08-12 Miguel Sofer + + * generic/tclCmdMZ.c: fixing UMR in delete traces, [Bug 589863]. + +2002-08-08 David Gravereaux + + * tools/man2help.tcl: Fixed $argv handling bug where if -bitmap wasn't + specified $argc was off by one. + +2002-08-08 Miguel Sofer + + * tests/uplevel.test: added 6.1 to test [uplevel] with shadowed + commands [Bug 524383] + + * tests/subst.test: added 5.8-10 as further tests for [Bug 495207] + +2002-08-08 Don Porter + + * tests/README: Noted removal of defs.tcl. + +2002-08-08 Jeff Hobbs + + * doc/lsearch.n: corrected lsearch docs to use -inline in examples. + + *** 8.4b2 TAGGED FOR RELEASE *** + + * tests/fCmd.test: + * tests/unixFCmd.test: updated tests for new link copy behavior. + * generic/tclFCmd.c (CopyRenameOneFile): changed the behavior to + follow links to endpoints and copy that file/directory instead of just + copying the surface link. This means that trying to copy a link that + has no endpoint (danling link) is an error. [Patch 591647] (darley) + (CopyRenameOneFile): this is currently disabled by default until + further issues with such behavior (like relative links) can be handled + correctly. + + * tests/README: slight wording improvements + +2002-08-07 Miguel Sofer + + * docs/BoolObj.3: added description of valid string reps for a boolean + object [Bug 584794] + * generic/tclObj.c: optimised Tcl_GetBooleanFromObj and + SetBooleanFromAny to avoid parsing the string rep when it can be + avoided [Bugs 584650, 472576] + +2002-08-07 Miguel Sofer + + * generic/tclCompile.h: + * generic/tclObj.c: making tclCmdNameType static [Bug 584567] (dgp) + +2002-08-07 Miguel Sofer + + * generic/tclObj.c (Tcl_NewObj): added conditional code for + USE_THREAD_ALLOC; objects allocated through Tcl_NewObj() were + otherwise being leaked. [Bug 587488] reported by Sven Sass. + +2002-08-06 Daniel Steffen + + * generic/tclInt.decls: + * unix/tclUnixThrd.c: Added stubs and implementations for non-threaded + build for the tclUnixThrd.c procs TclpReaddir, TclpLocaltime, + TclpGmtime and TclpInetNtoa. Fixes link errors in stubbed & threaded + extensions that include tclUnixPort.h and use any of the procs + readdir, localtime, gmtime or inet_ntoa (e.g. TclX 8.4) [Bug 589526] + * generic/tclIntPlatDecls.h: + * generic/tclStubInit.c: Regen. + +2002-08-05 Don Porter + + * library/tcltest/tcltest.tcl: The setup and cleanup scripts are now + * library/tcltest/pkgIndex.tcl: skipped when a test is skipped, fixing + * tests/tcltest.test: [Bug 589859]. Test for bug added, and + corrected tcltest package bumped to version 2.2. + + * generic/tcl.decls: Restored Tcl_Concat to return (char *). Like + * generic/tclDecls.h: Tcl_Merge, it transfers ownership of a dynamic + * generic/tclUtil.c: allocated string to the caller. + +2002-08-04 Don Porter + + * doc/CmdCmplt.3: Applied Patch 585105 to fully CONST-ify + * doc/Concat.3: all remaining public interfaces of Tcl. + * doc/CrtCommand.3: Notably, the parser no longer writes on + * doc/CrtSlave.3: the string it is parsing, so it is no + * doc/CrtTrace.3: longer necessary for Tcl_Eval() to be + * doc/Eval.3: given a writable string. Also, the + * doc/ExprLong.3: refactoring of the Tcl_*Var* routines + * doc/LinkVar.3: by Miguel Sofer is included, so that the + * doc/ParseCmd.3: "part1" argument for them no longer needs + * doc/SetVar.3: to be writable either. + * doc/TraceVar.3: + * doc/UpVar.3: Compatibility support has been enhanced so + * generic/tcl.decls: that a #define of USE_NON_CONST will remove + * generic/tcl.h: all possible source incompatibilities with + * generic/tclBasic.c: the 8.3 version of the header file(s). + * generic/tclCmdMZ.c: The new #define of USE_COMPAT_CONST now does + * generic/tclCompCmds.c:what USE_NON_CONST used to do -- disable + * generic/tclCompExpr.c:only those new CONST's that introduce + * generic/tclCompile.c: irreconcilable incompatibilities. + * generic/tclCompile.h: + * generic/tclDecls.h: Several bugs are also fixed by this patch. + * generic/tclEnv.c: [Bugs 584051,580433] [Patches 585105,582429] + * generic/tclEvent.c: + * generic/tclInt.decls: + * generic/tclInt.h: + * generic/tclIntDecls.h: + * generic/tclInterp.c: + * generic/tclLink.c: + * generic/tclObj.c: + * generic/tclParse.c: + * generic/tclParseExpr.c: + * generic/tclProc.c: + * generic/tclTest.c: + * generic/tclUtf.c: + * generic/tclUtil.c: + * generic/tclVar.c: + * mac/tclMacTest.c: + * tests/expr-old.test: + * tests/parseExpr.test: + * unix/tclUnixTest.c: + * unix/tclXtTest.c: + * win/tclWinTest.c: + +2002-08-01 Miguel Sofer + + * generic/tclExecute.c: bugfix (reading freed memory). Testsuite + passed on linux/i386, compile-13.1 hung on linux/alpha. + +2002-08-01 Miguel Sofer + + * generic/tclExecute.c: added a reference count for the complete + execution stack, instead of Tcl_Preserve/Tcl_Release. + +2002-08-01 Mo DeJong + + * generic/tclCkalloc.c (TclFinalizeMemorySubsystem): Don't lock the + ckalloc mutex before invoking the Tcl_DumpActiveMemory function since + it also locks the same mutex. This code is only executed when "memory + onexit filename" has been executed and Tcl is compiled with + -DTCL_MEM_DEBUG. + +2002-08-01 Reinhard Max + + * win/tclWinPort.h: The windows headers don't provide socklen_t, so we + have to do it. + +2002-07-31 Miguel Sofer + + * generic/tclInt.h (USE_THREAD_ALLOC): for unshared objects, + TclDecrRefCount now frees the internal rep before the string rep - + just like the non-macro Tcl_DecrRefCount/TclFreeObj [Bug 524802]. For + the other allocators the fix was done on 2002-03-06. + +2002-07-31 Miguel Sofer + + * generic/tclInterp.c: signed/unsigned comparison warning fixed + (Vince Darley). + +2002-07-31 Donal K. Fellows + + * unix/tcl.m4 (SC_BUGGY_STRTOD): Enabled caching of test results. + + * unix/tcl.m4 (SC_BUGGY_STRTOD): Solaris 2.8 still has a buggy + strtod() implementation; make sure we detect it. + + * tests/expr.test (expr-22.*): Marked as non-portable because it seems + that these tests have an annoying tendency to fail in unexpected ways. + [Bugs 584825, 584950, 585986] + +2002-07-30 Andreas Kupries + + * tests/io.test: + * generic/tclIO.c (WriteChars): Added flag to break out of loop if + nothing of the input is consumed at all, to prevent infinite looping + of called with a non-UTF-8 string. Fixes [Bug 584603] partially. + Added new test "io-60.1". Might need additional changes to Tcl_Main so + that unprintable results are printed as binary data. + +2002-07-29 Mo DeJong + + * unix/Makefile.in: Use CC_SEARCH_FLAGS instead of LD_SEARCH_FLAGS + when linking with ${CC}. + * unix/configure: Regen. + * unix/configure.in: Don't subst CC_SEARCH_FLAGS or LD_SEARCH_FLAGS + since this is now done in tcl.m4. + * unix/tcl.m4 (SC_CONFIG_CFLAGS): Document and set CC_SEARCH_FLAGS + whenever LD_SEARCH_FLAGS is set. [Patch 588290] + +2002-07-29 Reinhard Max + + * unix/tcl.m4 (SC_SERIAL_PORT): Fixed detection for cases when + configure's stdin is not a tty. + + * unix/tclUnixPort.h: + * generic/tclIOSock.c: Changed size_t to socklen_t in + socket-related function calls. + + * unix/configure.in: Added test and fallback definition + for socklen_t. + + * unix/configure: generated. + +2002-07-29 Miguel Sofer + + * generic/tclObj.c: fixed a comment + + * generic/tcl.h: + * generic/tclBasic.c: + * generic/tclInterp.c: added the new flag TCL_EVAL_INVOKE to the + interface of the Tcl_Eval* functions, removing the + TCL_EVAL_NO_TRACEBACK added yesterday: alias invocations not only + require no tracebacks, but also look up the command name in the global + scope - see new test interp-9.4 + * tests/interp.test: added 9.3 to test for safety of aliases to hidden + commands, 9.4 to test for correct command lookup scope. + +2002-07-29 Donal K. Fellows + + * generic/regc_locale.c (cclass): [[:xdigit:]] is only a defined + concept on western characters, so should not allow any unicode digit, + and hence number of ranges in [[:xdigit:]] is fixed. + * tests/reg.test: Added test to detect the bug. + * generic/regc_cvec.c (newcvec): Corrected initial size value in + character vector structure. [Bug 578363] Many thanks to + pvgoran@users.sf.net for tracking this down. + +2002-07-28 Miguel Sofer + + * generic/tcl.h: + * generic/tclBasic.c: added the new flag TCL_EVAL_NO_TRACEBACK to the + interface of the Tcl_Eval* functions. Modified the error message for + too many nested evaluations. + * generic/tclInterp.h: changed the Alias struct to be of variable + length and store the prefix arguments directly (instead of a pointer + to a Tcl_Obj list). Made AliasObjCmd call Tcl_EvalObjv instead of + TclObjInvoke - thus making aliases trigger execution traces. [Bug + 582522] + * tests/interp.test: + * tests/stack.test: adapted to the new error message. + * tests/trace.test: added tests for aliases firing the exec traces. + +2002-07-27 Mo DeJong + + * unix/Makefile.in: Revert fix for Tcl bug 529801 since it was + incorrect and broke the build on other systems. Fix [Bug 587299]. Add + MAJOR_VERSION, MINOR_VERSION, PATCH_LEVEL, SHLIB_LD_FLAGS, + SHLIB_LD_LIBS, CC_SEARCH_FLAGS, LD_SEARCH_FLAGS, and LIB_FILE + variables to support more generic library build/install rules. + * unix/configure: Regen. + * unix/configure.in: Move AC_PROG_RANLIB into tcl.m4. Move shared + build test and setting of MAKE_LIB and MAKE_STUB_LIB into tcl.m4. Move + subst of a number of variables into tcl.m4 where they are defined. + * unix/tcl.m4 (SC_ENABLE_SYMBOLS, SC_CONFIG_CFLAGS): + Subst vars where they are defined. Add MAKE_LIB, MAKE_STUB_LIB, + INSTALL_LIB, and INSTALL_STUB_LIB rules to deal with the ugly details + of running ranlib on static libs at build and install time. Replace + TCL_SHLIB_LD_EXTRAS with SHLIB_LD_FLAGS and use it when building a + shared library. + * unix/tclConfig.sh.in: Add TCL_CC_SEARCH_FLAGS. + +2002-07-26 Miguel Sofer + + * generic/tclExecute.c: fixed Tcl_Obj leak in code corresponding to + the macro NEXT_INST_V(x, 0, 1). [Bug 587495] + +2002-07-26 Miguel Sofer + + * generic/tclVar.c (TclObjLookupVar): leak fix and improved comments. + +2002-07-26 Jeff Hobbs + + * generic/tclVar.c (TclLookupVar): removed early returns that + prevented the parens from being restored. also removed goto label as + it was not necessary. + +2002-07-24 Miguel Sofer + + * generic/tclExecute.c: + * tests/expr-old.test: fix for erroneous error messages in [expr], + [Bug 587140] reported by Martin Lemburg. + +2002-07-25 Joe English + + * generic/tclProc.c: fix for [Tk Bug 219218] "error handling with + bgerror in Tk" + +2002-07-24 Miguel Sofer + + * generic/tclExecute.c: restoring full TCL_COMPILE_DEBUG + functionality. + +2002-07-24 Don Porter + + * tests/unixInit.test: relaxed unixInit-3.1 to accept iso8859-15 as a + valid C encoding. [Bug 575336] + +2002-07-24 Miguel Sofer + + * generic/tclExecute.c: restoring the tcl_traceCompile functionality + while I repair tcl_traceExec. The core now compiles and runs also + under TCL_COMPILE_DEBUG, but execution in the bytecode engine can + still not be traced. + +2002-07-24 Daniel Steffen + + * unix/Makefile.in: + * unix/configure.in: corrected fix for [Bug 529801]: ranlib only + needed for static builds on Mac OS X. + * unix/configure: Regen. + * unix/tclLoadDyld.c: fixed small bugs introduced by Vince, + implemented library unloading correctly (needs OS X 10.2). + +2002-07-23 Joe English + + * doc/OpenFileChnl.3: (Updates from Larry Virden) + * doc/open.n: + * doc/tclsh.1: Fix section numbers in Unix man page references. + * doc/lset.n: In EXAMPLES section, include command to set the initial + value used in subsequent examples. + * doc/http.n: Package version updated to 2.4. + +2002-07-23 Mo DeJong + + * unix/configure: Regen. + * unix/tcl.m4 (SC_CONFIG_CFLAGS): Enable 64 bit compilation when using + the native compiler on a 64 bit version of IRIX. [Bug 219220] + +2002-07-23 Mo DeJong + + * unix/Makefile.in: Combine ranlib tests and avoid printing unless + ranlib is actually run. + +2002-07-23 Mo DeJong + + * unix/tcl.m4 (SC_PATH_X): Set XINCLUDES to "" instead of "# no + special path needed" or "# no include files found" when x headers + cannot be located. + +2002-07-22 Vince Darley + + * generic/tclIOUtil.c: made tclNativeFilesystem static (since 07-19 + changes removed its usage elsewhere), and added comments about its + usage. + * generic/tclLoad.c: + * generic/tcl.h: + * generic/tcl.decls: + * doc/FileSystem.3: converted last load-related ClientData parameter + to Tcl_LoadHandle opaque structure, removing a couple of casts in the + process. + + * generic/tclInt.h: removed tclNativeFilesystem declaration since it + is now static again. + +2002-07-22 Donal K. Fellows + + * tests/expr.test (expr-22.*): Added tests to help detect the + corrected handling. + * generic/tclExecute.c (IllegalExprOperandType): Improved error + message generated when attempting to manipulate Inf and NaN values. + * generic/tclParseExpr.c (GetLexeme): Allowed parser to recognise + 'Inf' as a floating-point number. [Bug 218000] + +2002-07-21 Don Porter + + * tclIOUtil.c: Silence compiler warning. [Bug 584408]. + +2002-07-19 Vince Darley + + * generic/tclIOUtil.c: fix to GetFilesystemRecord + * win/tclWinFile.c: + * unix/tclUnixFile.c: fix to subtle problem with links shown up by + latest tclkit builds. + +2002-07-19 Mo DeJong + + * unix/configure: + * unix/configure.in: + * win/configure: + * win/configure.in: Add AC_PREREQ(2.13) in an attempt to make it more + clear that the configure scripts must be generated with autoconf + version 2.13. [Bug 583573] + +2002-07-19 Vince Darley + + * unix/Makefile.in: fix to build on MacOS X [Bug 529801], bug report + and fix from jcw. + +2002-07-19 Donal K. Fellows + + * win/tclWinSerial.c (no_timeout): Made this variable static. + + * generic/tclExecute.c, generic/tclCompile.c, generic/tclBasic.c: + * generic/tclCompile.h (builtinFuncTable, instructionTable): Added + prefix to these symbols because they are visible outside the Tcl + library. + + * generic/tclCompExpr.c (operatorTable): + * unix/tclUnixTime.c (tmKey): + * generic/tclIOUtil.c (theFilesystemEpoch, filesystemWantToModify, + (filesystemIteratorsInProgress, filesystemOkToModify): Made these + variables static. + + * unix/tclUnixFile.c: Renamed nativeFilesystem to + * win/tclWinFile.c: tclNativeFilesystem and declared + * generic/tclIOUtil.c: it properly in tclInt.h + * generic/tclInt.h: + + * generic/tclUtf.c (totalBytes): Made this array static and const. + + * generic/tclParse.c (typeTable): Made this array static and const. + (Tcl_ParseBraces): Simplified error handling case so that scans are + only performed when needed, and flags are simpler too. + + * license.terms: Added AS to list of copyright holders; it's only fair + for the current gatekeepers to be listed here! + + * tests/cmdMZ.test: Renamed constraint for clarity. [Bug 583427] + Added tests for the [time] command, which was previously only + indirectly tested! + +2002-07-18 Vince Darley + + * generic/tclInt.h: + * generic/tcl.h: + * */*Load*.c: added comments on changes of 07/17 and replaced + clientData with Tcl_LoadHandle in all locations. + + * generic/tclFCmd.c: + * tests/fileSystem.test: fixed a 'knownBug' with 'file + attributes ""' + * tests/winFCmd.test: + * tests/winPipe.test: + * tests/fCmd.test: + * tessts/winFile.test: added 'pcOnly' constraint to some tests to make + for more useful 'tests skipped' log from running all tests on + non-Windows platforms. + +2002-07-17 Miguel Sofer + + * generic/tclBasic.c (CallCommandTraces): delete traces now receive + the FQ old name of the command. [Bug 582532] (Don Porter) + +2002-07-18 Vince Darley + + * tests/ioUtil.test: added constraints to 1.4,2.4 so they don't run + outside of tcltest. [Bugs 583276,583277] + +2002-07-17 Miguel Sofer + + * generic/tclVar.c (DupParsedVarName): nasty bug fixed, reported by + Vince Darley. + +2002-07-17 Miguel Sofer + + * generic/tclVar.c (TclPtrIncrVar): missing CONST in declarations, + inconsistent with tclInt.h. Thanks to Vince Darley for reporting, boo + to gcc for not complaining. + +2002-07-17 Vince Darley + + * generic/tclInt.h: + * generic/tclIOUtil.c: + * generic/tclLoadNone.c: + * unix/tclLoadAout.c: + * unix/tclLoadDl.c: + * unix/tclLoadDld.c: + * unix/tclLoadDyld.c: + * unix/tclLoadNext.c: + * unix/tclLoadOSF.c: + * unix/tclLoadShl.c: + * mac/tclMacLoad.c: + * win/tclWinLoad.c: modified to move more functionality to the generic + code and avoid duplication. Partial replacement of internal uses of + clientData with opaque Tcl_LoadHandle. A little further work still + needed, but significant changes are done. + +2002-07-17 D. Richard Hipp + + * library/msgcat/msgcat.tcl: fix a comment that was causing problems + for programs (ex: mktclapp) that embed the initialization scripts in + strings. + +2002-07-17 Miguel Sofer + + * generic/tclInt.decls: + * generic/tclIntDecls.h: + * generic/tclStubInit.c: + * generic/tclVar.c: removing the now redundant functions to access + indexed variables: Tcl(Get|Set|Incr)IndexedScalar() and + Tcl(Get|Set|Incr)ElementOfIndexedArray(). + +2002-07-17 Donal K. Fellows + + * generic/tclExecute.c (TclExecuteByteCode): Minor fixes to make this + file compile with SunPro CC... + +2002-07-17 Miguel Sofer + + * generic/tclExecute.c: modified to do variable lookup explicitly, and + then either inlining the variable access or else calling the new + TclPtr(Set|Get|Incr)Var functions in tclVar.c + * generic/tclInt.h: declare some functions previously local to + tclVar.c for usage by TEBC. + * generic/tclVar.c: removed local declarations; moved all special + accessor functions for indexed variables to the end of the file - they + are unused and ready for removal, but left there for the time being as + they are in the internal stubs table. + + ** WARNING FOR BYTECODE MAINTAINERS ** + TCL_COMPILE_DEBUG is currently not functional; will be fixed ASAP. + +2002-07-16 Mo DeJong + + * unix/Makefile.in: + * win/Makefile.in: Add a more descriptive warning in the event `make + genstubs` needs to be rerun. + +2002-07-16 Mo DeJong + + * unix/Makefile.in: Use dltest.marker file to keep track of when the + dltest package is up to date. This fixes [Bug 575768] since tcltest is + no longer linked every time. + * unix/dltest/Makefile.in: Create ../dltest.marker after a successful + `make all` run in dltest. + +2002-07-16 Mo DeJong + + * unix/configure: Regen. + * unix/configure.in: Remove useless subst of TCL_BIN_DIR. + +2002-07-15 Miguel Sofer + + * generic/tclVar.c: inaccurate comment fixed + +2002-07-15 Miguel Sofer + + * generic/tclBasic.c (Tcl_AddObjErrorInfo): + * generic/tclExecute.c (TclUpdateReturnInfo): + * generic/tclInt.h: + * generic/tclProc.c: + Added two Tcl_Obj to the ExecEnv structure to hold the fully qualified + names "::errorInfo" and "::errorCode" to cache the addresses of the + corresponding variables. The two most frequent setters of these + variables now profit from the new variable name caching. + +2002-07-15 Miguel Sofer + + * generic/tclVar.c: refactorisation to reuse already looked-up Var + pointers; definition of three new Tcl_Obj types to cache variable name + parsing and lookup for later reuse; modification of internal functions + to profit from the caching. + + * generic/tclInt.decls: + * generic/tclInt.h: + * generic/tclIntDecls.h: + * generic/tclNamesp.c: adding CONST qualifiers to variable names + passed to Tcl_FindNamespaceVar and to variable resolvers; adding CONST + qualifier to the 'msg' argument to TclLookupVar. Needed to avoid code + duplication in the new tclVar.c code. + + * tests/set-old.test: + * tests/var.test: slight modification of error messages due to the + modifications in the tclVar.c code. + +2002-07-15 Don Porter + + * tests/unixInit.test: Improved constraints to protect /tmp. [Bug + 581403] + +2002-07-15 Vince Darley + + * tests/winFCmd.test: renamed 'win2000' and 'notWin2000' to more + appropriate constraint names. + * win/tclWinFile.c: updated comments to reflect 07-11 changes. + * win/tclWinFCmd.c: made ConvertFileNameFormat static again, since no + longer used in tclWinFile.c + * mac/tclMacFile.c: completed TclpObjLink implementation which was + previously lacking. + * generic/tclIOUtil.c: comment cleanup and code speedup. + +2002-07-14 Don Porter + + * generic/tclInt.h: Removed declarations that duplicated entries + in the (internal) stub table. + + * library/tcltest/tcltest.tcl: Corrected errors in handling of + configuration options -constraints and -limitconstraints. + + * README: Bumped HEAD to version 8.4b2 so we can + * generic/tcl.h: distinguish it from the 8.4b1 release. + * tools/tcl.wse.in: + * unix/configure*: + * unix/tcl.spec: + * win/README.binary: + * win/configure*: + +2002-07-11 Vince Darley + + * doc/file.n: + * win/tclWinFile.c: on Win 95/98/ME the long form of the path is used + as a normalized form. This is required because short forms are not a + robust representation. The file normalization function has been sped + up, but more performance gains might be possible, if speed is still an + issue on these platforms. + +2002-07-11 Don Porter + + * library/tcltest/tcltest.tcl: Corrected reaction to existing but + false ::tcl_interactive. + + * doc/Hash.3: Overlooked CONST documentation update. + +2002-07-11 Donal K. Fellows + + * generic/tclCkalloc.c: ckalloc() and friends take the block size as + an unsigned, so we should use %ud when reporting it in fprintf() and + panic(). + +2002-07-11 Miguel Sofer + + * generic/tclCompile.c: now setting local vars undefined at compile + time, instead of waiting until the proc is initialized. + * generic/tclProc.c: use macro TclSetVarUndefined instead of directly + setting the flag. + +2002-07-11 Donal K. Fellows + + * tests/cmdAH.test: [file attr -perm] is Unix-only, so add [catch] + when not inside a suitably-protected test. + +2002-07-10 Donal K. Fellows + + * tests/unixFCmd.test, tests/fileName.test: + * tests/fCmd.test: Removed [exec] of Unix utilities that have + equivalents in standard Tcl. [Bug 579268] Also simplified some of + unixFCmd.test while I was at it. + +2002-07-10 Don Porter + + * tests/tcltest.test: Greatly reduced the number of [exec]s, using + slave interps instead. + * library/tcltest/tcltest.tcl: Fixed bug uncovered in the conversion + where a message was written to stdout instead of [outputChannel]. + + * tests/basic.test: Cleaned up, constrained, and reduced the + * tests/compile.test: amount of [exec] usage in the test suite. + * tests/encoding.test: + * tests/env.test: + * tests/event.test: + * tests/exec.test: + * tests/io.test: + * tests/ioCmd.test: + * tests/regexp.test: + * tests/regexpComp.test: + * tests/socket.test: + * tests/tcltest.test: + * tests/unixInit.test: + * tests/winDde.test: + * tests/winPipe.test: + +2002-07-10 Donal K. Fellows + + * tests/cmdAH.test: Removed [exec] of Unix utilities. [Bug 579211] + + * tests/expr.test: Added tests to make sure that this works. + * generic/tclExecute.c (ExprCallMathFunc): Functions should also be + able to return wide-ints. [Bug 579284] + +2002-07-08 Andreas Kupries + + * tests/socket.test: Fixed [Bug 578164]. The original reason for the + was a DNS outage while running the testsuite. Changed [info hostname] + to 127.0.0.1 to bypass DNS, knowing that we operate on the local + host. + +2002-07-08 Don Porter + + * doc/tcltest.n: Fixed incompatibility in [viewFile]. + * library/tcltest/tcltest.tcl: Corrected docs. Bumped to 2.2.1. + * library/tcltest/pkgIndex.tcl: [Bug 578163] + +2002-07-08 Vince Darley + + * tests/cmdAH.test: + * tests/fCmd.test: + * tests/fileName.test: tests which rely on 'file link' need a + constraint so they don't run on older Windows OS. [Bug 578158] + * generic/tclIOUtil.c: + * generic/tcl.h: + * generic/tclInt.h: + * generic/tclTest.c: + * mac/tclMacChan.c: + * unix/tclUnixChan.c: + * win/tclWinChan.c: + * doc/FileSystem.3: cleaned up internal handling of + Tcl_FSOpenFileChannel to remove duplicate code, and make writing + external vfs's clearer and easier. No functionality change. Also + clarify that objects with refCount zero should not be passed in to the + Tcl_FS API, and prevent segfaults from occuring on such user errors. + [Bug 578617] + +2002-07-06 Don Porter + + * tests/pkgMkIndex.test: Constrained tests of [load] package indexing + to those platforms where the testing shared libraries have been built. + [Bug 578166]. + +2002-07-05 Don Porter + + * changes: added recent changes + +2002-07-05 Reinhard Max + + * generic/tclClock.c (FormatClock): Convert the format string to + UTF8 before calling TclpStrftime, so that non-ASCII characters don't + get mangled when the result string is being converted back. + * tests/clock.test: Added a test for that. + +2002-07-05 Donal K. Fellows + + * unix/Makefile.in (ro-test,ddd,GDB,DDD): Created new targets to allow + running the test suite with a read-only current directory, running + under ddd instead of gdb, and factored out some executable names for + broken sites (like mine) where gdb and ddd are installed with + non-standard names... + + * tests/httpold.test: Altered test names to httpold-* to avoid clashes + with http.test, and stopped tests from failing when the current + directory is not writable... + + * tests/event.test: Stop these tests from failing + * tests/ioUtil.test: when the current directory is + * tests/regexp.test: not writable... + * tests/regexpComp.test: + * tests/source.test: + * tests/unixFile.test: + * tests/unixNotfy.test: + + * tests/unixFCmd.test: Trying to make these test-files + * tests/macFCmd.test: not bomb out with an error when + * tests/http.test: the current directory is not + * tests/fileName.test: writable... + * tests/env.test: + +2002-07-05 Jeff Hobbs + + *** 8.4b1 TAGGED FOR RELEASE *** + +2002-07-04 Donal K. Fellows + + * tests/cmdMZ.test (cmdMZ-1.4): + * tests/cmdAH.test: More fixing of writable-current-dir assumption. + [Bug 575824] + +2002-07-04 Miguel Sofer + + * tests/basic.test: Same issue as below; fixed [Bug 575817] + +2002-07-04 Andreas Kupries + + * tests/socket.test: + * tests/winPipe.test: + * tests/pid.test: Fixed [Bug 575848]. See below for a description the + general problem. + + All the bugs below are instances of the same problem: The testsuite + assumes [pwd] = [temporaryDirectory] and writable. + + * tests/iogt.test: Fixed [Bug 575860] + * tests/io.test: Fixed [Bug 575862] + * tests/exec.test: + * tests/ioCmd.test: Fixed [Bug 575836] + +2002-07-03 Don Porter + + * tests/pkg1/direct1.tcl: removed + * tests/pkg1/pkgIndex.tcl: removed + * tests/pkgMkIndex.test: Imported auxilliary files from tests/pkg1 + into the test file pkgMkIndex.test itself. Formatting fixes. + + * unix/Makefile.in: removed tests/pkg/* from `make dist` + + * tests/pkg/circ1.tcl: removed + * tests/pkg/circ2.tcl: removed + * tests/pkg/circ3.tcl: removed + * tests/pkg/global.tcl: removed + * tests/pkg/import.tcl: removed + * tests/pkg/pkg1.tcl: removed + * tests/pkg/pkg2_a.tcl: removed + * tests/pkg/pkg2_b.tcl: removed + * tests/pkg/pkg3.tcl: removed + * tests/pkg/pkg4.tcl: removed + * tests/pkg/pkg5.tcl: removed + * tests/pkg/pkga.tcl: removed + * tests/pkg/samename.tcl: removed + * tests/pkg/simple.tcl: removed + * tests/pkg/spacename.tcl: removed + * tests/pkg/std.tcl: removed + * tests/pkgMkIndex.test: Fixed [Bug 575857] where this test file + expected to be able to write to [file join [testsDirectory] pkg]. Part + of the fix was to import several auxilliary files into the test file + itself. + + * tests/main.test: Cheap fix for [Bugs 575851, 575858]. Avoid + * tests/tcltest.test: non-writable . by [cd [temporaryDirectory]]. + + * library/auto.tcl: Fix [tcl_findLibrary] to be sure it sets $varName + only if a successful library script is found. [Bug 577033] + +2002-07-03 Miguel Sofer + + * generic/tclCompCmds.c (TclCompileCatchCmd): return + TCL_OUT_LINE_COMPILE instead of TCL_ERROR: let the failure happen at + runtime so that it can be caught [Bug 577015]. + +2002-07-02 Joe English + + * doc/tcltest.n: Markup fixes, spellcheck. + +2002-07-02 Don Porter + + * doc/tcltest.n: more refinements of the documentation. + + * library/tcltest/tcltest.tcl: Added trace to be sure the stdio + constraint is updated whenever the [interpreter] changes. + + * doc/tcltest.n: Reverted [makeFile] and [viewFile] to + * library/tcltest/tcltest.tcl: their former behavior, and documented + * tests/cmdAH.test: it. Corrected misspelling of hook + * tests/event.test: procedure. Restored tests. + * tests/http.test: + * tests/io.test: + + * library/tcltest/tcltest.tcl: Simplified logic of [GetMatchingFiles] + and [GetMatchingDirectories], removing special case processing. + + * doc/tcltest.n: More documentation updates. Reference sections are + complete. Only examples need adding. + +2002-07-02 Vince Darley + + * tests/fCmd.test: + * generic/tclCmdAH.c: clearer error msgs for 'file link', as per the + man page. + +2002-07-01 Joe English + + * doc/Access.3: + * doc/AddErrInfo.3: + * doc/Alloc.3: + * doc/Backslash.3: + * doc/CrtChannel.3: + * doc/CrtSlave.3: + * doc/Encoding.3: + * doc/Eval.3: + * doc/FileSystem.3: + * doc/Notifier.3: + * doc/OpenFileChnl.3: + * doc/ParseCmd.3: + * doc/RegExp.3: + * doc/Tcl_Main.3: + * doc/Thread.3: + * doc/TraceCmd.3: + * doc/Utf.3: + * doc/WrongNumArgs.3: + * doc/binary.n: + * doc/clock.n: + * doc/expr.n: + * doc/fconfigure.n: + * doc/glob.n: + * doc/http.n: + * doc/interp.n: + * doc/lsearch.n: + * doc/lset.n: + * doc/msgcat.n: + * doc/packagens.n: + * doc/pkgMkIndex.n: + * doc/registry.n: + * doc/resource.n: + * doc/safe.n: + * doc/scan.n: + * doc/tclvars.n: Spell-check, fixed typos (Updates from Larry Virden) + +2002-07-01 Donal K. Fellows + + * unix/tcl.m4 (SC_CONFIG_CFLAGS): Made Solaris use gcc for linking + when building with gcc to resolve problems with undefined symbols + being present when tcl library used with non-gcc linker at later + stage. Symbols were compiler-generated, so it is the compiler's + business to define them. [Bug 541181] + +2002-07-01 Don Porter + + * doc/tcltest.n: more work in progress updating tcltest docs. + + * library/tcltest/tcltest.tcl: Change [configure -match] to stop + treating an empty list as a list of the single pattern "*". Changed + the default value to [list *] so default operation remains the same. + + * tests/pkg/samename.tcl: restored. Needed by pkgMkIndex.test. + + * library/tcltest/tcltest.tcl: restored writeability testing of + -tmpdir, augmented by a special exception for the deafault value. + +2002-07-01 Donal K. Fellows + + * doc/concat.n: Documented the *real* behaviour of [concat]! + +2002-06-30 Don Porter + + * doc/tcltest.n: more work in progress updating tcltest docs. + + * tests/README: Updated the instructions on running and + * tests/cmdMZ.test: adding to the test suite. Also updated + * tests/encoding.test: several tests, mostly to correctly create + * tests/fCmd.test: and destroy any temporary files in the + * tests/info.test: [temporaryDirectory] of tcltest. + * tests/interp.test: + + * library/tcltest/tcltest.tcl: Stopped checking for writeability of + -tmpdir value because no default directory can be guaranteed to be + writeable. + + * tests/autoMkindex.tcl: removed. + * tests/pkg/samename.tcl: removed. + * tests/pkg/magicchar.tcl: removed. + * tests/pkg/magicchar2.tcl: removed. + * tests/autoMkindex.test: Updated auto_mkIndex tests to use [makeFile] + and [removeFile] so tests are done in [temporaryDirecotry] where write + access is guaranteed. + + * library/tcltest/tcltest.tcl: Fixed [makeFile] and [viewFile] to + * tests/cmdAH.test: accurately reflect a file's contents. + * tests/event.test: Updated tests that depended on buggy + * tests/http.test: behavior. Also added warning messages + * tests/io.test: to "-debug 1" operations to debug test + * tests/iogt.test: calls to (make|remove)(File|Directory). + + * unix/mkLinks: `make mklinks` on 6-27 commits. + +2002-06-28 Miguel Sofer + + * generic/tclCompile.h: modified the macro TclEmitPush to not call its + first argument repeatedly or pass it to other macros, [Bug 575194] + reported by Peter Spjuth. + +2002-06-28 Don Porter + + * docs/tcltest.n: Doc revisions in progress. + * library/tcltest/tcltest.tcl: Corrected -testdir default value. Was + not reliable, and disagreed with docs! Thanks to Hemang Lavana. [Bug + 575150] + +2002-06-28 Donal K. Fellows + + * unix/tclUnixThrd.c: Renamed the Tcl_Platform* #defines to + * unix/tclUnixPipe.c: TclOS* because they are only used + * unix/tclUnixFile.c: internally. Also stopped double-#def + * unix/tclUnixFCmd.c: of TclOSlstat [Bug 566099, post-rename] + * unix/tclUnixChan.c: + * unix/tclUnixPort.h: + + * doc/string.n: Improved documentation for [string last] along lines + described in [Bug 574799] so it indicates that the supplied index + marks the end of the search space. + +2002-06-27 Don Porter + + * doc/dde.n: Work in progress updating the documentation + * doc/http.n: of the packages that come bundled with + * doc/msgcat.n: the Tcl source distribution, notably tcltest. + * doc/registry.n: + * doc/tcltest.n: + + * library/tcltest/tcltest.tcl: Made sure that the TCLTEST_OPTIONS + environment variablle configures tcltest at package load time. + +2002-06-26 Vince Darley + + * tests/fileSystem.test: + * generic/tclIOUtil.c: fix to handling of empty paths "" which are not + claimed by any filesystem [Bug 573758]. Ensure good error messages are + given in all cases. + * tests/cmdAH.test: + * unix/tclUnixFCmd.c: fix to bug reported as part of [Patch 566669]. + Thanks to Taguchi, Takeshi for the report. + +2002-06-26 Reinhard Max + + * unix/tclUnixTime.c: Make [clock format] respect locale settings. + * tests/clock.test: [Bug 565880]. ***POTENTIAL INCOMPATIBILITY*** + +2002-06-26 Miguel Sofer + + * doc/CrtInterp.3: + * doc/StringObj.3: clarifications by Don Porter, [Bugs 493995, 500930] + +2002-06-24 Don Porter + + * library/tcltest/tcltest.tcl: Corrected suppression of -verbose skip + * tests/tcltest.test: and start by [test -output]. Also + corrected test suite errors exposed by corrected code. [Bug 564656] + +2002-06-25 Reinhard Max + + * unix/tcl.m4: New macro SC_CONFIG_MANPAGES. + * unix/configure.in: Added support for symlinks and compression + * unix/Makefile.in: when installing the manpages. [Patch 518052] + * unix/mkLinks.tcl: Default is still hardlinks and no compression. + + * unix/mkLinks: generated + * unix/configure: + + * unix/README: Added documentation for the new features. + + * unix/tcl.m4 (SC_PATH_TCLCONFIG): Replaced ${exec_prefix}/lib by + ${libdir}. + +2002-06-25 Donal K. Fellows + + * generic/tclUtil.c (TclGetIntForIndex): Fix of critical [Bug 533364] + generated when the index is bad and the result is a shared object. The + T_ASTO(T_GOR, ...) idiom likely exists elsewhere though. Also removed + some cruft that just complicated things to no advantage. + (SetEndOffsetFromAny): Same fix, though this wasn't on the path + excited by the bug. + +2002-06-24 Don Porter + + * library/tcltest/tcltest.tcl: Implementation of TIP 101. Adds + * tests/parseOld.test: and exports a [configure] command + * tests/tcltest.test: from tcltest. + +2002-06-22 Don Porter + + * changes: updated changes file for 8.4b1 release. + + * library/tcltest/tcltest.tcl: Corrections to tcltest and the + * tests/basic.test: Tcl test suite so that a test + * tests/cmdInfo.test: with options -constraints knownBug + * tests/compile.test: -limitConstraints 1 only tests the + * tests/encoding.test: knownBug tests. Mostly involves + * tests/env.test: replacing direct access to the + * tests/event.test: testConstraints array with calls + * tests/exec.test: to the testConstraint command + * tests/execute.test: (which requires tcltest version 2) + * tests/fCmd.test: + * tests/format.test: + * tests/http.test: + * tests/httpold.test: + * tests/ioUtil.test: + * tests/link.test: + * tests/load.test: + * tests/namespace.test: + * tests/pkgMkIndex.test: + * tests/reg.test: + * tests/result.test: + * tests/scan.test: + * tests/stack.test: + +2002-06-22 Donal K. Fellows + + * tools/tcl.wse.in (Disk Label), unix/tcl.spec (version): + * win/README.binary, README, win/configure.in, unix/configure.in: + * generic/tcl.h (TCL_RELEASE_*, TCL_PATCH_LEVEL): Bump to beta1. + +2002-06-21 Joe English + + * generic/tclCompExpr.c: + * generic/tclParseExpr.c: LogSyntaxError() should reset the + interpreter result [Bug 550142 "Tcl_ExprObj -> abort"] + +2002-06-21 Don Porter + + * unix/Makefile.in: Updated all package install directories to + * win/Makefile.in: match current Major.minor versions of the + * win/makefile.bc: packages. Added tcltest package to + * win/makefile.vc: installation on Windows. + + * library/init.tcl: Corrected comments and namespace style issues. + Thanks to Bruce Stephens. [Bug 572025] + +2002-06-21 Vince Darley + + * tests/cmdAH.test: Added TIP#99 implementation of 'file + * tests/fCmd.test: link'. Supports creation of symbolic and + * tests/fileName.test: hard links in the native filesystems and + * tests/fileSystem.test: in vfs's, when the individual filesystem + * generic/tclTest.c: supports the concept. + * generic/tclCmdAH.c: + * generic/tclIOUtil.c: + * generic/tcl.h: + * generic/tcl.decls: + * doc/FileSystem.3: + * doc/file.n: + * mac/tclMacFile.c: + * unix/tclUnixFile.c: + * win/tclWinFile.c: Also enhanced speed of 'file normalize' on Windows + +2002-06-20 Miguel Sofer + + * generic/tclBasic.c (TclEvalObjvInternal): fix for [Bug 571385] in + the implementation of TIP#62 (command tracing). Vince Darley, Hemang + Lavana & Don Porter: thanks. + +2002-06-20 Miguel Sofer + + * generic/tclExecute.c (TclCompEvalObj): clarified and simplified the + logic for compilation/recompilation. + +2002-06-19 Joe English + + * doc/file.n: Fixed indentation. No substantive changes. + +2002-06-19 Jeff Hobbs + + * generic/tclCmdMZ.c (Tcl_RegexpObjCmd): get the resultPtr again as + the Tcl_ObjSetVar2 may cause the result to change. + [Patch 558324] (watson) + +2002-06-19 Miguel Sofer + + * generic/tclExecute.c (TEBC): removing unused "for(;;)" loop; + improved comments; re-indentation. + +2002-06-18 Miguel Sofer + + * generic/tclExecute.c (TEBC): + - elimination of duplicated code in the non-immediate INST_INCR + instructions. + - elimination of 103 (!) TclDecrRefCount macros. The different + instructions now jump back to a common "DecrRefCount zone" at the + top of the loop. The macro "ADJUST_PC" was replaced by two macros + "NEXT_INST_F" and "NEXT_INST_V" that take three params + (pcAdjustment, # of stack objects to discard, resultObjPtr handling + flag). The only instructions that retain a TclDecrRefCount are + INST_POP (for speed), the common code for the non-immediate + INST_INCR, INST_FOREACH_STEP and the two INST_LSET. + + The object size of tclExecute.o was reduced by approx 20% since the + start of the consolidation drive, while making room for some peep-hole + optimisation at runtime. + +2002-06-18 Miguel Sofer + + * generic/tclExecute.c (TEBC, INST_DONE): small bug in the panic code + for tcl-stack corruption. + +2002-06-17 David Gravereaux + + Trims to support the removal of RESOURCE_INCLUDED from rc scripts from + [FRQ 565088]. + + * generic/tcl.h: moved the #ifndef RC_INVOKED start block up in the + file. rc scripts don't need to know thread mutexes. + + * win/tcl.rc: + * win/tclsh.rc: removed the #define RESOURCE_INCLUDED to let the + built-in -DRC_INVOKED to the work. + +2002-06-17 Jeff Hobbs + + * doc/CrtTrace.3: Added TIP#62 implementation of command + * doc/trace.n: execution tracing [FRQ 462580] (lavana). + * generic/tcl.h: This includes enter/leave tracing as well + * generic/tclBasic.c: as inter-procedure stepping. + * generic/tclCmdMZ.c: + * generic/tclCompile.c: + * generic/tclExecute.c: + * generic/tclInt.decls: + * generic/tclInt.h: + * generic/tclIntDecls.h: + * generic/tclStubInit.c: + * generic/tclVar.c: + * tests/trace.test: + +2002-06-17 Andreas Kupries + + * win/tclWinPipe.c (BuildCommandLine): Fixed [bug 554068] ([exec] on + windows did not treat { in filenames well.). Bug reported by Vince + Darley , patch provided by Vince + too. + +2002-06-17 Joe English + + * generic/tcl.h: #ifdef logic for K&R C backwards compatibility + changed to assume modern C by default. See [FRQ 565088] for full + details. + +2002-06-17 Don Porter + + * doc/msgcat.n: Corrected en_UK references to en_GB. UK is not a + country designation recognized in ISO 3166. + + * library/msgcat/msgcat.tcl: More Windows Registry locale codes from + Bruno Haible. + + * doc/msgcat.n: + * library/msgcat/msgcat.tcl: + * library/msgcat/pkgIndex.tcl: + * tests/msgcat.test: Revised locale initialization to interpret + environment variable locale values according to XPG4, and to recognize + the LC_ALL and LC_MESSAGES values over that of LANG. Also added many + Windows Registry locale values to those recognized by msgcat. Revised + tests and docs. Bumped to version 1.3. Thanks to Bruno Haible for the + report and assistance crafting the solution. [Bug 525522, 525525] + +2002-06-16 Miguel Sofer + + * generic/tclCompile.c (TclCompileTokens): a better algorithm for the + previous bug fix. + +2002-06-16 Miguel Sofer + + * generic/tclCompile.c (TclCompileTokens): + * tests/compile.test: [Bug 569438] in the processing of dollar + variables; report by Georgios Petasis. + +2002-06-16 Miguel Sofer + + * generic/tclExecute.c: bug in the consolidation of the INCR_..._STK + instructions; the bug could not be exercised as the (faulty) + instruction INST_INCR_ARRAY_STK was never compiled-in (related to [Bug + 569438]). + +2002-06-14 Miguel Sofer + + * generic/tclExecute.c (TclExecuteByteCode): runtime peep-hole + optimisation of variables (INST_STORE, INST_INCR) and commands + (INST_INVOKE); faster check for the existence of a catch. + (TclExecuteByteCode): runtime peep-hole optimisation of comparisons. + (TclExecuteByteCode): runtime peep-hole optimisation of INST_FOREACH - + relies on peculiarities of the code produced by the bytecode compiler. + +2002-06-14 David Gravereaux + + * win/rules.vc: The test for compiler optimizations was in error. + Thanks goes to Roy Terry for his assistance + with this. + +2002-06-14 Donal K. Fellows + + * doc/trace.n, tests/trace.test: + * generic/tclCmdMZ.c (Tcl_TraceObjCmd,TclTraceCommandObjCmd) + (TclTraceVariableObjCmd): Changed references to "trace list" to "trace + info" as mandated by TIP#102. + +2002-06-13 Miguel Sofer + + * generic/tclExecute.c (TclExecuteByteCode): consolidated code for the + conditional branch instructions. + +2002-06-13 Miguel Sofer + + * generic/tclExecute.c (TclExecuteByteCode): fixed the previous + patch - wouldn't compile with TCL_COMPILE_DEBUG set. + +2002-06-13 Miguel Sofer + + * generic/tclExecute.c (TclExecuteByteCode): consolidated the handling + of exception returns to INST_INVOKE and INST_EVAL, as well as most of + the code for INST_CONTINUE and INST_BREAK, in the new jump target + "processExceptionReturn". + +2002-06-13 Miguel Sofer + + * generic/tclExecute.c (TclExecuteByteCode): consolidated variable + handling opcodes, replaced redundant code with some 'goto'. All + store/append/lappend opcodes on the same data type now share the main + code; same with incr opcodes. + * generic/tclVar.c: added the bit TCL_TRACE_READS to the possible + flags to Tcl_SetVar2Ex - it causes read traces to be fired prior to + setting the variable. This is used in the core for [lappend]. + + ***NOTE*** the usage of TCL_TRACE_READS in Tcl_(Obj)?GetVar.* is not + documented; there, it causes the call to create the variable if it + does not exist. The new usage in Tcl_(Obj)?SetVar.* remains + undocumented too ... + +2002-06-13 Vince Darley + + * tests/fCmd.test: + * tests/winFile.test: + * tests/fileSystem.test: + * generic/tclTest.c: + * generic/tclCmdAH.c: + * generic/tclIOUtil.c: + * doc/FileSystem.3: + * mac/tclMacFile.c: + * unix/tclUnixFile.c: + * win/tclWinFile.c: fixed up further so both compiles and actually + works with VC++ 5 or 6. + * win/tclWinInt.h: + * win/tclWin32Dll.c: cleaned up code and vfs tests and added tests for + the internal changes of 2002-06-12, to see whether WinTcl on NTFS can + coexist peacefully with links in the filesystem. Added new test + command 'testfilelink' to enable the newer code to be tested. + * tests/fCmd.test: (made certain tests of 'testfilelink' not run on + unix). + +2002-06-12 Miguel Sofer + + * tclBasic.c (Tcl_DeleteTrace): fixed [Bug 568123] (thanks to + Hemang Lavana) + +2002-06-12 Jeff Hobbs + + * win/tclWinFile.c: corrected the symbolic link handling code to + allow it to compile. Added real definition of REPARSE_DATA_BUFFER + (found in winnt.h). Most of the added definitions appear to have + correct, cross-Win-version equivalents in winnt.h and should be + removed, but just making things "work" for now. + +2002-06-12 Vince Darley + + * generic/tclIOUtil.c: + * generic/tcl.decls: + * generic/tclDecls.h: made code for Tcl_FSNewNativePath agree with man + pages. + + * doc/FileSystem.3: clarified the circumstances under which certain + functions are called in the presence of symlinks. + + * win/tclWinFile.c: + * win/tclWinPort.h: + * win/tclWinInt.h: + * win/tclWinFCmd.c: Fix for Windows to allow 'file lstat', 'file + type', 'glob -type l', 'file copy', 'file delete', 'file normalize', + and all VFS code to work correctly in the presence of symlinks + (previously Tcl's behaviour was not very well defined). This also + fixes possible serious problems in all versions of WinTcl where 'file + delete' on a NTFS symlink could delete the original, not the symlink. + Note: symlinks cannot yet be created in pure Tcl. + +2002-06-11 Miguel Sofer + + * generic/tclBasic.c: + * generic/tclCompCmds.c: + * generic/tclInt.h: reverted the new compilation functions; replaced + by a more general approach described below. + + * generic/tclCompCmds.c: + * generic/tclCompile.c: made *all* compiled variable access attempts + create an indexed variable - even get or incr without previous set. + This allows indexed access to local variables that are created and set + at runtime, for example by [global], [upvar], [variable], [regexp], + [regsub]. + +2002-06-11 Miguel Sofer + + * doc/global.n: + * doc/info.n: + * test/info.test: + * generic/tclCmdIL.c: fix for [Bug 567386], [info locals] was + reporting some linked variables. + + * generic/tclBasic.c: + * generic/tclCompCmds.c: + * generic/tclInt.h: added compile functions for [global], [variable] + and [upvar]. They just declare the new local variables, the commands + themselves are not compiled-in. This gives a notably faster read + access to these linked variables. + +2002-06-11 Miguel Sofer + + * generic/tclExecute.c: optimised algorithm for exception range + lookup; part of [Patch 453709]. + +2002-06-10 Vince Darley + + * unix/tclUnixFCmd.c: fixed [Bug 566669] + * generic/tclIOUtil.c: improved and sped up handling of native paths + (duplication and conversion to normalized paths), particularly on + Windows. + * modified part of above commit, due to problems on Linux. Will + re-examine bug report and evaluate more closely. + +2002-06-07 Don Porter + + * tests/tcltest.test: More corrections to test suite so that tests of + failing [test]s don't show up themselves as failing tests. + +2002-06-07 Donal K. Fellows + + * generic/tclExecute.c: Tidied up headers in relation to float.h to + cut the cruft and ensure DBL_MAX is defined since doubles seem to be + the same size everywhere; if the assumption isn't true, the variant + platforms had better have run configure... + + * unix/tclUnixPort.h (EOVERFLOW): Added code to define it if it wasn't + previously defined. Also some other general tidying and adding of + comments. [Bugs 563122, 564595] + * compat/tclErrno.h: Added definition for EOVERFLOW copied from + Solaris headers; I've been unable to find any uses of EFTYPE, which + was the error code previously occupying the slot, in Tcl, or any + definition of it in the Solaris headers. + +2002-06-06 Mo DeJong + + * unix/dltest/Makefile.in: Remove hard coded CFLAGS=-g and add + CFLAGS_DEBUG, CFLAGS_OPTIMIZE, and CFLAGS_DEFAULT varaibles. [Bug + 565488] + +2002-06-06 Don Porter + + * tests/tcltest.test: Corrections to test suite so that tests of + failing [test]s don't show up themselves as failing tests. + + * tests/io.test: Fixed up namespace variable resolution issues + revealed by running test suite with "-singleproc 1". + + * doc/tcltest.n: + * library/tcltest/tcltest.tcl: + * tests/tcltest.test: Several updates to tcltest. + 1) changed to lazy initialization of test constraints + 2) deprecated [initConstraintsHook] + 3) repaired badly broken [limitConstraints]. + 4) deprecated [threadReap] and [mainThread] + [Patch 512214, Bug 558742, Bug 461000, Bug 534903] + +2002-06-06 Daniel Steffen + + * unix/tclUnixThrd.c (TclpReaddir, TclpLocaltime, TclpGmtime): + added mutex wrapped calls to readdir, localtime & gmtime in case their + thread-safe *_r counterparts are not available. + * unix/tcl.m4: added configure check for readdir_r + * unix/tcl.m4 (Darwin): set TCL_DEFAULT_ENCODING to utf-8 on MacOSX + (where posix file apis expect utf-8, not iso8859-1). + * unix/configure: regen + * unix/Makefile.in: set DYLD_LIBRARY_PATH in parallel to + LD_LIBRARY_PATH for MacOSX dynamic linker. + * generic/tclEnv.c (TclSetEnv): fix env var setting on MacOSX. Adapted + from [Patch 524352] (jkbonfield). + +2002-06-05 Don Porter + + * doc/Tcl_Main.3: Documented $tcl_rcFileName and added more + clarifications about the intended use of Tcl_Main(). [Bug 505651] + +2002-06-05 Daniel Steffen + + * generic/tclFileName.c (TclGlob): mac specific fix to recent changes + in 'glob -tails' handling. + * mac/tclMacPort.h: + * mac/tclMacChan.c: fixed TIP#91 bustage. + * mac/tclMacResource.c (Tcl_MacConvertTextResource): added utf + conversion of text resource contents. + * tests/macFCmd.test (macFCmd-1.2): allow CWIE creator. + +2002-06-04 Don Porter + + * library/tcltest/tcltest.tcl: + * tests/init.test: + * tests/tcltest.test: Added more TIP 85 tests from Arjen Markus. + Converted tcltest.test to use a private namespace. Fixed bugs in + [tcltest::Eval] revealed by calling [tcltest::test] from a non-global + namespace, and namespace errors in init.test. + +2002-06-04 Mo DeJong + + * win/README: Update msys+mingw URL. + +2002-06-03 Don Porter + + * doc/tcltest.n: + * library/tcltest/tcltest.tcl: + * library/tcltest/pkgIndex.tcl: + * tests/tcltest.test: Implementation of TIP 85. Allows tcltest users + to add new legal values of the -match option to [test], associating + each with a Tcl command that does the matching of expected results + with actual results of tests. Thanks to Arjen Markus. => tcltest 2.1 + [Patch 521362] + +2002-06-03 Miguel Sofer + + * doc/namespace.n: added description of [namepace forget] behaviour + for unqualified patterns [Bug 559268] + +2002-06-03 Miguel Sofer + + * generic/tclExecute.c: reverting an accidental modification in the + last commit. + +2002-06-03 Miguel Sofer + + * doc/Tcl.n: clarify the empty variable name issue ([Bug 549285] + reported by Tom Krehbiel, patch by Don Porter). + +2002-05-31 Don Porter + + * library/package.tcl: Fixed leak of slave interp in [pkg_mkIndex]. + Thanks to Helmut for report. [Bug 550534] + + * tests/io.test: + * tests/main.test: Use the "stdio" constraint to control whether an + [open "|[interpreter]"] is attempted. + + * generic/tclExecute.c (TclMathInProgress,TclExecuteByteCode + (ExprCallMathFunc): + * generic/tclInt.h (TclMathInProgress): + * unix/Makefile.in (tclMtherr.*): + * unix/configure.in (NEED_MATHERR): + * unix/tclAppInit.c (matherr): + * unix/tclMtherr.c (removed file): + * win/tclWinMtherr.c (_matherr): Removed internal routine + TclMathInProgress and Unix implementation of matherr(). These are now + obsolete, dealing with very old versions of the C math library. + Windows version is retained in case Borland compilers require it, but + it is inactive. Thanks to Joe English. [Bug 474335, Patch 555635] + * unix/configure: regen + +2002-05-30 Miguel Sofer + + * generic/tclCompExpr.c: + * generic/tclCompile.c: + * generic/tclCompile.h: removed exprIsJustVarRef and + exprIsComparison from the ExprInfo and CompileEnv structs. These were + set, but not used since dec 1999 [Bug 562383]. + +2002-05-30 Vince Darley + + * generic/tclFileName.c (TclGlob): fix to longstanding 'knownBug' in + fileName tests 15.2-15.4, and fix to a new Tcl 8.4 bug in certain uses + of 'glob -tails'. + * tests/fileName.test: removed 'knownBug' flag from some tests, added + some new tests for above bugs. + +2002-05-29 Jeff Hobbs + + * unix/configure: regen'ed + * unix/configure.in: replaced bigendian check with autoconf standard + AC_C_BIG_ENDIAN, which defined WORDS_BIGENDIAN on bigendian systems. + * generic/tclUtf.c (Tcl_UniCharNcmp): + * generic/tclInt.h (TclUniCharNcmp): use WORDS_BIGENDIAN instead of + TCL_OPTIMIZE_UNICODE_COMPARE to enable memcmp alternative. + + * generic/tclExecute.c (TclExecuteByteCode INST_STR_CMP): + * generic/tclCmdMZ.c (Tcl_StringObjCmd): changed the case for choosing + the Tcl_UniCharNcmp compare to when both objs are of StringType, as + benchmarks show that is the optimal check (both bigendian and + littleendian systems). + +2002-05-29 Don Porter + + * generic/tclMain.c: Removed "dummy" reference to Tcl_LinkVar. It is + no longer needed since Tcl_Main() now actually calls Tcl_LinkVar(). + Thanks to Joe English for pointing that out. + +2002-05-29 Donal K. Fellows + + * generic/tclExecute.c (TclExecuteByteCode): + * generic/tclCmdMZ.c (Tcl_StringObjCmd): Use the macro version. + * generic/tclInt.h (TclUniCharNcmp): Optimised still further with a + macro for use in sensitive places like tclExecute.c + + * generic/tclUtf.c (Tcl_UniCharNcmp): Use new flag to figure out when + we can use an optimal comparison scheme, and default to the old scheme + in other cases which is at least safe. + * unix/configure.in (TCL_OPTIMIZE_UNICODE_COMPARE): New optional flag + that indicates when we can use memcmp() to compare Unicode strings + (i.e. when the high-byte of a Tcl_UniChar precedes the low-byte.) + +2002-05-29 Jeff Hobbs + + * generic/tclInt.decls: + * generic/tclIntDecls.h: + * generic/tclStubInit.c: + * generic/tclUtf.c: added TclpUtfNcmp2 private command that mirrors + Tcl_UtfNcmp, but takes n in bytes, not utf-8 chars. This provides a + faster alternative for comparing utf strings internally. + (Tcl_UniCharNcmp, Tcl_UniCharNcasecmp): removed the explicit end of + string check as it wasn't correct for the function (by doc and logic). + + * generic/tclCmdMZ.c (Tcl_StringObjCmd): reworked the string equal + comparison code to use TclpUtfNcmp2 as well as short-circuit for equal + objects or unequal length strings in the equal case. Removed the use + of goto and streamlined the other parts. + + * generic/tclExecute.c (TclExecuteByteCode): added check for object + equality in the comparison instructions. Added short-circuit for != + length strings in INST_EQ, INST_NEQ and INST_STR_CMP. Reworked + INST_STR_CMP to use TclpUtfNcmp2 where appropriate, and only use + Tcl_UniCharNcmp when at least one of the objects is a Unicode obj with + no utf bytes. + + * generic/tclCompCmds.c (TclCompileStringCmd): removed error creation + in code that no longer throws an error. + + * tests/string.test: + * tests/stringComp.test: added more string comparison checks. + + * tests/clock.test: better qualified 9.1 constraint check for %s. + +2002-05-28 Jeff Hobbs + + * generic/tclThreadAlloc.c (TclpRealloc, TclpFree): protect against + the case when NULL is based. + + * tests/clock.test: added clock-9.1 + * compat/strftime.c: + * generic/tclClock.c: + * generic/tclInt.decls: + * generic/tclIntDecls.h: + * unix/tclUnixTime.c: fix for Windows msvcrt mem leak caused by using + an env(TZ) setting trick for in clock format -gmt 1. This also makes + %s seem to work correctly with -gmt 1 as well as making it a lot + faster by avoid the env(TZ) hack. TclpStrftime now takes useGMT as an + arg. [Bug 559376] + +2002-05-28 Vince Darley + + * generic/tclIOUtil.c: fixes to Tcl_FSLoadFile when called on a file + inside a vfs. This should avoid leaving temporary files sitting around + on exit. [Bug 545579] + +2002-05-27 Donal K. Fellows + + * win/tclWinError.c: Added comment on conversion of + ERROR_NEGATIVE_SEEK because that is a mapping that really belongs, and + not a catch-all case. + * win/tclWinPort.h (EOVERFLOW): Should be either EFBIG or EINVAL + * generic/tclPosixStr.c (Tcl_ErrnoId, Tcl_ErrnoMsg): EOVERFLOW can + potentially be a synonym for EINVAL. + +2002-05-24 Donal K. Fellows + + === Changes due to TIP#91 === + + * win/tclWinPort.h: Added declaration of EOVERFLOW. + * doc/CrtChannel.3: Added documentation of wideSeekProc. + * generic/tclIOGT.c (TransformSeekProc, TransformWideSeekProc): + Adapted to use the new channel mechanism. + * unix/tclUnixChan.c (FileSeekProc, FileWideSeekProc): Renamed + FileSeekProc to FileWideSeekProc and created new FileSeekProc which + has the old-style interface and which errors out with EOVERFLOW when + the returned file position can't fit into the return type (int for + historical reasons.) + * win/tclWinChan.c (FileSeekProc, FileWideSeekProc): Renamed + FileSeekProc to FileWideSeekProc and created new FileSeekProc which + has the old-style interface and which errors out with EOVERFLOW when + the returned file position can't fit into the return type (int for + historical reasons.) + * mac/tclMacChan.c (FileSeek): Reverted to old interface; Macs lack + large-file support because I can't see how to add it. + * generic/tclIO.c (Tcl_Seek, Tcl_Tell): Given these functions + knowledge of the new arrangement of channel types. + (Tcl_ChannelVersion): Added recognition of new version code. + (HaveVersion): New function to do version checking. + (Tcl_ChannelBlockModeProc, Tcl_ChannelFlushProc) + (Tcl_ChannelHandlerProc): Made these functions use HaveVersion for + ease of future maintainability. + (Tcl_ChannelBlockModeProc): Obvious lookup function. + * generic/tcl.h (Tcl_ChannelType): New wideSeekProc field, and + seekProc type restored to old interpretation. + (TCL_CHANNEL_VERSION_3): New channel version. + +2002-05-24 Andreas Kupries + + * tests/winPipe.test: Applied patch for [Bug 549617]. Patch and bug + report by Kevin Kenny . + + * win/tclWinSock.c (TcpWatchProc): Fixed [Bug 557878]. We are not + allowed to mess with the watch mask if the socket is a server socket. + I believe that the original reporter is George Peter Staplin. + +2002-05-21 Mo DeJong + + * unix/configure: Regen. + * unix/configure.in: Invoke SC_ENABLE_SHARED before calling + SC_CONFIG_CFLAGS so that the SHARED_BUILD variable can be checked + inside SC_CONFIG_CFLAGS. + * unix/tcl.m4 (SC_CONFIG_CFLAGS): Pass -non_shared instead of -shared + to ld when configured with --disable-shared under OSF. [Bug 540390] + +2002-05-20 Daniel Steffen + + * generic/tclInt.h: added prototype for TclpFilesystemPathType(). + * mac/tclMacChan.c: use MSL provided creator type if available instead + of the default 'MPW '. + +2002-05-16 Joe English + + * doc/CrtObjCmd.3: Added Tcl_GetCommandFromObj, Tcl_GetCommandFullName + [Bugs 547987, 414921] + +2002-05-14 Donal K. Fellows + + * unix/tclUnixChan.c (TtyOutputProc): #if/#endif-ed this function out + to stop compiler warnings. Also much general tidying of comments in + this file and removal of whitespace from blank lines. + +2002-05-13 Donal K. Fellows + + * unix/tclUnixChan.c (SETBREAK): Solaris thinks ioctl() takes a signed + second argument, and Linux thinks ioctl() takes an unsigned second + argument. So need a longer definition of this macro to get neither to + spew warnings... + +2002-05-13 Vince Darley + + * generic/tclEvent.c: + * generic/tclIOUtil.c: + * generic/tclInt.h: clean up all memory allocated by the filesystem, + via introduction of 'TclFinalizeFilesystem'. Move TclFinalizeLoad into + TclFinalizeFilesystem so we can be sure it is called at just the right + time. Fix bad comment also. [Bug 555078 and 'fs' part of 543549] + * win/tclWinChan.c: fix comment referring to wrong function. + +2002-05-10 Don Porter + + * tests/load.test: + * tests/safe.test: + * tests/tcltest.test: Corrected some list-quoting issues and other + matters that cause tests to fail when the patch includes special + characters. Report from Vince Darley. [Bug 554068]. + +2002-05-08 David Gravereaux + + * doc/file.n: + * tools/man2tcl.c: + * tools/man2help2.tcl: Thanks to Peter Spjuth , + again. My prior fix for single-quote macro mis-understanding was + wrong. Reverted to reimpliment the 'macro2' proc which handles + single-quote macros and restored file.n text arrangement to avoid + single-quotes on the first line. Sorry for all the confusion. + +2002-05-08 David Gravereaux + + * tools/man2tcl.c: + * tools/man2help2.tcl: Proper source of macro error mis-understanding + single-quote as the leading macro command found and repaired. + + * doc/file.n: Reverted to prior state before I messed with it. + +2002-05-08 Don Porter + + * library/tcltest/tcltest.tcl: Corrected [uplevel] quoting when + [source]-ing test script in subdirectories. + * tests/fileName.test: + * tests/load.test: + * tests/main.test: + * tests/tcltest.test: + * tests/unixInit.test: Fixes to test suite when there's a space in the + working path. Thanks to Kevin Kenny. + +2002-05-07 David Gravereaux + + -- Changes from Peter Spjuth + * tools/man2tcl.c: Increased line buffer size and a bail-out if that + should ever be over-run. + * tools/man2help.tcl: Include Courier New font in rtf header. + * tools/man2help2.tcl: Improved handling of CS/CE fields. Use Courier + New for code samples and indent better. + + * doc/file.n: + * doc/TraceCmd.3: winhelp conversion tools where understanding a ' as + the first character on a line to be an unknown macro. Not knowing how + to repair tools/man2tcl.c, I decided to rearrange the text in the docs + instead. + +2002-05-07 Vince Darley + + * generic/tclFileName.c: fix to similar segfault when using + 'glob -types nonsense -dir dirname -join * *'. [Bug 553320] + + * doc/FileSystem.3: further documentation on vfs. + * tests/cmdAH.test: + * tests/fileSystem.test: + * tests/pkgMkindex.test: Fix to testsuite bugs when running out of + directory whose name contains '{' or '['. + +2002-05-07 Miguel Sofer + + * tests/basic.test: Fix for [Bug 549607] + * tests/encoding.test: Fix for [Bug 549610] + These are testsuite bugs that caused failures when the filename + contained spaces. Report & fix by Kevin Kenny. + +2002-05-02 Vince Darley + + * generic/tclFileName.c: fix to freeing a bad object (i.e. segfault) + when using 'glob -types nonsense -dir dirname'. + * generic/tclWinFile.c: fix to [Bug 551306], also wrapped some long + lines. + * tests/fileName.test: added several tests for the above bugs. + * doc/FileSystem.3: clarified documentation on refCount requirements + of the object returned by the path type function. + * generic/tclIOUtil.c: + * win/tclWinFile.c: + * unix/tclUnixFile.c: + * mac/tclMacFile.c: moved TclpFilesystemPathType to the platform + specific directories, so we can add missing platform-specific + implementations. On Windows, 'file system' now returns useful results + like "native NTFS", "native FAT" for that system. Unix and MacOS still + only return "native". + * doc/file.n: clarified documentation. + * tests/winFile.test: test for 'file system' returning correct values. + * tests/fileSystem.test: test for 'file system' returning correct + values. Clean up after failed previous test run. + +2002-04-26 Jeff Hobbs + + * unix/configure: + * unix/tcl.m4: change HP-11 SHLIB_LD_LIBS from "" to ${LIBS} so that + the .sl knows its dependent libs. + +2002-04-26 Donal K. Fellows + + * tests/obj.test (obj-11.[56]): Test conversion to boolean more + thoroughly. + * generic/tclObj.c (SetBooleanFromAny): Was not calling an integer + parsing function on native 64-bit platforms! [Bug 548686] + +2002-04-24 Jeff Hobbs + + * generic/tclInt.h: corrected TclRememberJoinableThread decl to use + VOID instead of void. + * generic/tclThreadJoin.c: noted that this code isn't needed on Unix. + +2002-04-23 Jeff Hobbs + + * doc/exec.n: + * doc/tclvars.n: doc updates [Patch 509426] (gravereaux) + +2002-04-24 Daniel Steffen + + * mac/tclMacResource.r: added check of TCLTK_NO_LIBRARY_TEXT_RESOURCES + #define to allow disabling the inclusion of the tcl library code in + the resource fork of Tcl executables and shared libraries. + +2002-04-23 Donal K. Fellows + + * doc/TraceCmd.3: New file that documents Tcl_CommandTraceInfo, + Tcl_TraceCommand and Tcl_UntraceCommand [Bug 414927] + +2002-04-22 Jeff Hobbs + + * generic/tclAlloc.c: + * generic/tclInt.h: + * generic/tclThreadAlloc.c (new): + * unix/Makefile.in: + * unix/tclUnixThrd.c: + * win/Makefile.in: + * win/tclWinInt.h: + * win/tclWinThrd.c: added new threaded allocator contributed by AOL + that significantly reduces lock contention when multiple threads are + in use. Only Windows and Unix implementations are ready, and the + Windows one may need work. It is only used by default on Unix for now, + and requires that USE_THREAD_ALLOC be defined (--enable-threads on + Unix will define this). + + * generic/tclIOUtil.c (Tcl_FSRegister, Tcl_FSUnregister): corrected + calling of Tcl_ConditionWait to ensure that there would be a condition + to wait upon. + + * generic/tclCmdAH.c (Tcl_FileObjCmd): added cast in FILE_SIZE. + + * win/tclWinFCmd.c (DoDeleteFile): check return of setattr API calls + in file deletion for correct Win32 API handling. + + * win/Makefile.in: correct dependencies for shell, gdb, runtest + targets. + + * doc/clock.n: + * compat/strftime.c (_fmt): change strftime to correctly handle + localized %c, %x and %X on Windows. Added some notes about how the + other values could be further localized. + +2002-04-19 Don Porter + + * generic/tclMain.c (Tcl_Main): Free the memory allocated for the + startup script path. [Bug 543549] + + * library/msgcat/msgcat.tcl: [mcmax] wasn't using the caller's + namespace when determining the max translated length. Also made + revisions for better use of namespace variables and more efficient + [uplevel]s. + + * doc/msgcat.n: + * library/msgcat/msgcat.tcl: + * library/msgcat/pkgIndex.tcl: Added [mcload] to the export list of + msgcat; bumped to 1.2.3. [Bug 544727] + +2002-04-20 Daniel Steffen + + * generic/tclInt.decls: + * generic/tclIntPlatDecls.h: + * generic/tclStubInit.c: + * mac/tclMacFCmd.c: + * mac/tclMacFile.c: + * mac/tclMacUtil.c: Modified TclpObjNormalizePath to be alias file + aware, and replaced various calls to FSpLocationFrom*Path by calls to + new alias file aware versions FSpLLocationFrom*Path. The alias file + aware routines don't resolve the last component of a path if it is an + alias. This allows [file copy/delete] etc. to act correctly on alias + files. (c.f. discussion in [Bug 511666]) + +2002-04-19 Donal K. Fellows + + * tests/lindex.test (lindex-3.7): + * generic/tclUtil.c (TclGetIntForIndex): Stopped indexes from hitting + wide ints. [Bug 526717] + +2002-04-18 Miguel Sofer + + * generic/tclNamesp.c: + * tests/info.test: [Bug 545325] info level didn't report namespace + eval, bug report by Richard Suchenwirth. + +2002-04-18 Don Porter + + * doc/subst.n: Clarified documentation on handling unusual return + codes during substitution, and on variable substitutions implied by + command substitution, and vice versa. [Bug 536838] + +2002-04-18 Donal K. Fellows + + * generic/tclCmdIL.c (InfoBodyCmd): + * tests/info.test (info-2.6): Proc bodies without string reps would + report as empty [Bug 545644] + + * generic/tclCmdMZ.c (Tcl_SubstObj): More clarification for comment on + behaviour when substitutions are not well-formed, prompted by [Bug + 536831]; alas, removing the ill-defined behaviour is a lot of work. + +2002-04-18 Miguel Sofer + + * generic/tclExecute.c: + * tests/expr-old.test: fix for [Bug 542588] (Phil Ehrens), where "too + large integers" were reported as "floating-point value" in [expr] + error messages. + +2002-04-17 Jeff Hobbs + + * generic/tclEncoding.c (EscapeFromUtfProc): + * generic/tclIO.c (WriteChars, Tcl_Close): corrected the handling of + outputting end escapes for escape-based encodings. + [Bug 526524] (yamamoto) + +2002-04-17 Don Porter + + * doc/tcltest.n: Removed [saveState] and [restoreState] from tcltest + 2 documentation, effectively deprecating them. [Bug 495660] + * library/tcltest/tcltest.tcl: Made separate export for commands kept + only for tcltest 1 compatibility. + + * tests/iogt.test: Revised to run tests in a namespace, rather than + use the useless and buggy [saveState] and [restoreState] commands of + tcltest. Updated to use tcltest 2 as well. [Patch 544911] + +2002-04-16 Don Porter + + * tests/io.test: Revised to run tests in a namespace, rather than use + the useless and buggy [saveState] and [restoreState] commands of + tcltest. Updated to use tcltest 2 as well. [Patch 544546] + +2002-04-15 Miguel Sofer + + * generic/tclProc.c: + * tests/proc-old.test: Improved stack trace for TCL_BREAK and + TCL_CONTINUE returns from procs. [Bug 536955] (dgp) + + * generic/tclExecute.c: + * tests/compile.test: made bytecodes check for a catch before + returning; the compiled [return] is otherwise non-catchable. [Bug + 542142] reported by Andreas Kupries. + +2002-04-15 Don Porter + + * tests/socket.test: Increased timeout values so that tests have time + to successfully complete even on slow/busy machines. [Bug 523470] + + * doc/tcltest.n: + * library/tcltest/tcltest.tcl: + * tests/tcltest.test: Revised [tcltest::test] to return errors when + called with invalid syntax and to accept exactly two arguments as + documented. Improved error messages. [Bug 497446, Patch 513983] + ***POTENTIAL INCOMPATIBILITY***: Incompatible with previous + tcltest 2.* releases, found only in alpha releases of Tcl 8.4. + +2002-04-11 Jeff Hobbs + + * generic/tclNotify.c (TclFinalizeNotifier): remove remaining + unserviced events on finalization. + + * win/tcl.m4: Enabled COFF as well as CV style debug info with + --enable-symbols to allow Dr. Watson users to see function info. More + info on debugging levels can be obtained at: + http://msdn.microsoft.com/library/en-us/dnvc60/html/gendepdebug.asp + + * tests/ioCmd.test: fixed iocmd-8.15 to have mac and unixPc variants. + + * generic/tclParse.c (Tcl_ParseVar): conditionally incr obj refcount + to prevent possible mem leak. + +2002-04-08 Daniel Steffen + + * generic/tcl.h: no on mac. + * mac/tclMacFile.c: minor fixes to Vince's changes from 03-24. + * mac/tclMacOSA.c: + * mac/tclMacResource.c: added missing Tcl_UtfToExternalDString + conversions of resource file names. + * mac/tclMacSock.c (TcpGetOptionProc): fixed bug introduced by Andreas + on 02-25; changed strcmp's to strncmp's so that option comparison + behaves like on other platforms. + * mac/tcltkMacBuildSupport.sea.hqx (CW Pro6 changes): added support to + allow Tk to hookup C library stderr/stdout to TkConsole. + * tests/basic.test: + * tests/cmdAH.test: + * tests/encoding.test: + * tests/fileSystem.test: + * tests/ioCmd.test: fixed tests failing on mac: check for existence of + [exec], changed some result strings. + +2002-04-06 Jeff Hobbs + + * unix/tclUnixFCmd.c (Realpath): added a little extra code to + initialize a realpath arg when compiling in PURIFY mode in order to + prevent spurious purify warnings. We should really create our own + realpath implementation, but this will at least quiet purify for now. + +2002-04-05 Don Porter + + * generic/tclCmdMZ.c (Tcl_SubstObj): + * tests/subst.test: Corrected [subst] so that return codes TCL_BREAK + and TCL_CONTINUE returned by variable substitution have the same + effect as when those codes are returned by command substitution. [Bug + 536879] + +2002-04-03 Jeff Hobbs + + * library/tcltest/tcltest.tcl: added getMatchingFiles back (alias + to GetMatchingFiles), which was a public function in tcltest 1.0. + +2002-04-01 Vince Darley + + * generic/tclEnv.c: + * generic/tclIOUtil.c: invalidate filesystem cache when the user + changes env(HOME). Fixes [Bug 535621]. Also cleaned up some of the + documentation. + * tests/fileSystem.test: added test for bug just fixed. + +2002-04-01 Kevin Kenny + + * win/tclWinTime.c (Tcl_GetTime): made the checks of clock frequency + more permissive to cope with the fact that Win98SE is observed to + return 1.19318 in place of 1.193182 for the performance counter + frequency. + +2002-03-29 Jeff Hobbs + + * generic/tclCmdMZ.c (Tcl_TraceObjCmd, TraceVarProc) + (TraceCommandProc, TclTraceCommandObjCmd): corrected potential + double-free of traces on variables by flagging in Trace*Proc that it + will free the var in case the eval wants to delete the var trace as + well. [Bug 536937] + Also converted Tcl_UntraceVar -> Tcl_UntraceVar2 and Tcl_Eval to + Tcl_EvalEx in Trace*Proc for slight efficiency improvement. + +2002-03-29 Don Porter + + * doc/AllowExc.3: + * generic/tclBasic.c (Tcl_EvalObjv,Tcl_EvalEx,Tcl_EvalObjEx): + * generic/tclCompile.h (TclCompEvalObj): + * generic/tclExecute.c (TclCompEvalObj,TclExecuteByteCode): + * tests/basic.test: Corrected problems with Tcl_AllowExceptions having + influence over the wrong scope of Tcl_*Eval* calls. Patch from Miguel + Sofer. Report from Jean-Claude Wippler. [Bug 219181] + +2002-03-28 Don Porter + + * generic/tclVar.c: Refactored CallTraces to collect repeated handling + of its returned value into CallTraces itself. + +2002-03-28 David Gravereaux + + * tools/feather.bmp: + * tools/man2help.tcl: + * tools/man2help2.tcl: + * win/makefile.vc: More winhelp target fixups. Added a feather bitmap + to the non-scrollable area and changed the color to be yellow from a + plain white. The colors can be whatever we want them to be, but + thought I would start with something bold. [Bug 527941] + + * doc/SetVar.3: + * doc/TraceVar.3: + * doc/UpVar.3: .AP macro syntax repair. + +2002-03-27 David Gravereaux + + * tools/man2help.tcl: + * win/makefile.vc: winhelp target now copies all needed files from + tools/ to a workarea under $(OUT_DIR) and builds it from there. No + build cruft is left in tools/ anymore. All paths used in man2help.tcl + are now relative to where the script is. [Bug 527941] + +2002-03-27 David Gravereaux + + * win/.cvsignore: + * win/buildall.vc.bat: + * win/coffbase.txt: + * win/makefile.vc: + * win/nmakehlp.c (new): + * win/rules.vc: First draft fix for [Bug 527941]. More changes need to + done to the makehelp target to get to stop leaving build files in the + tools/ directory. This does not address the syntax errors in the man + files. Having the contents of tcl.hpj(.in) inside makefile.vc allows + for version numbers to be replaced with macros. + + The new nmakehlp.c is built by rules.vc in preprocessing and removes + the need to use tricky shell syntax that wasn't compatible on Win9x + systems. Clean targets made Win9x complient. This is a first draft + repair for [Bug 533862]. + +2002-03-28 Miguel Sofer + + * generic/tclBasic.c (Tcl_EvalEx): passing the correct commandSize + to TclEvalObjvInternal. [Bug 219362], fix by David Knoll. + +2002-03-28 Miguel Sofer + + * generic/tclBasic.c (Tcl_EvalEx): + * tests/basic.test: avoid exceptional returns at level 0 + [Bug 219181] + +2002-03-27 Don Porter + + * doc/tcltest.n ([mainThread]): + * library/tcltest/tcltest.tcl: + * tests/tcltest.test: Major code cleanup to deal with whitespace, + coding conventions, and namespace issues, with several minor bugs + fixed in the process. + + * tests/main.test: Added missing [after cancel]s. + +2002-03-25 Don Porter + + * tests/main.test: Removed workarounds for Bug 495977. + + * library/tcltest/tcltest.tcl: Keep the value of $::auto_path + unchanged, so that the tcltest package can test code that depends + on auto-loading. If a testing application needs $::auto_path pruned, + it should do that itself. [Bug 495726] + Improve the processing of the -constraints option to [test] so that + constraint lists can have arbitrary whitespace, and non-lists don't + blow things up. [Bug 495977] + Corrected faulty variable initialization. [Bug 534845] + +2002-03-25 Miguel Sofer + + * doc/CrtTrace.3: small doc correction + * generic/tclBasic.c (Tcl_DeleteTrace): Allow NULL callback on + trace deletions [Bug 534728] (Hemang Lavana). + +2002-03-24 Miguel Sofer + + * generic/tclBasic.c (Tcl_EvalObjv): replaced obscure, incorrect + code as described in [Bug 533907] (Don Porter). + +2002-03-24 Don Porter + + * library/tcltest/tcltest.tcl: Use [interpreter] to set/query the + executable currently running the tcltest package. [Bug 454050] + + * library/tcltest/tcltest.tcl: Allow non-proc commands to be used + as the customization hooks. [Bug 495662] + +2002-03-24 Vince Darley + + * generic/tclFilename.c: + * generic/tclFCmd.c: + * generic/tclTest.c: + * generic/tcl.h: + * generic/tclIOUtil.c: + * win/tclWinFile.c: + * win/tclWinFCmd.c: + * win/tclWinPipe.c: + * unix/tclUnixFile.c: + * unix/tclUnixFCmd.c: + * mac/tclMacFile.c: + * doc/FileSystem.3: + * doc/file.n: + * tests/cmdAH.test: + * tests/fileName.test: + * tests/fileSystem.test: (new file) + * tests/winFCmd.test: fix [Bug 511666] and [Bug 511658], and improved + documentation of some aspects of the filesystem, particularly + 'Tcl_FSMatchInDirectory' which now might match a single file/directory + only, and 'file normalize' which wasn't very clear before. Removed + inconsistency betweens docs and the Tcl_Filesystem structure. Also + fixed [Bug 523217] and corrected file normalization on Unix so that it + expands symbolic links. Added some new tests of the filesystem code + (in the new file 'fileSystem.test'), and some extra tests for correct + handling of symbolic links. Fix to [Bug 530960] which shows up on + Win98. Made comparison with ".com" case insensitive in tclWinPipe.c + + ***POTENTIAL INCOMPATIBILITY***: But only between alpha releases + (users of the new Tcl_Filesystem lookup table in Tcl 8.4a4 need to + handle the new way in which Tcl may call Tcl_FSMatchInDirectory, and + 'file normalize' on unix now behaves correctly). Only known impact is + with the 'tclvfs' extension. + +2002-03-22 Miguel Sofer + + * tests/basic.test (basic-46.1): adding test for [Bug 533758], fixed + earlier today. + +2002-03-22 Jeff Hobbs + + * win/tclWinInt.h: moved undef of TCL_STORAGE_CLASS. [Bug 478579] + +2002-03-22 Miguel Sofer + + * generic/tclBasic.c (Tcl_EvalObjEx): + * generic/tclExecute.c (TclCompEvalObj): fixed the errorInfo for + return codes other than (TCL_OK, TCL_ERROR) to runLevel 0 [Bug + 533758]. Removed the static RecordTracebackInfo(), as its + functionality is easily replicated by Tcl_LogCommandInfo. Bug and + redundancy noted by Don Porter. + +2002-03-21 Donal K. Fellows + + * doc/expr.n: Improved documentation for ceil and floor [Bug 530535] + +2002-03-20 Don Porter + + * doc/SetVar.3: + * doc/TraceVar.3: + * doc/UpVar.3: + * generic/tcl.h (Tcl_VarTraceProc): + * generic/tcl.decls (Tcl_GetVar2, Tcl_SetVar2, Tcl_TraceVar2) + (Tcl_UnsetVar2, Tcl_UntraceVar2, Tcl_UpVar2, Tcl_VarTraceInfo2) + (Tcl_GetVar2Ex, TclSetVar2Ex): + * generic/tclCmdMZ.c (TraceVarProc): + * generic/tclEnv.c (EnvTraceProc): + * generic/tclEvent.c (VwaitVarProc): + * generic/tclInt.decls (TclLookupVar,TclPrecTraceProc): + * generic/tclLink.c (LinkTraceProc): + * generic/tclUtil.c (TclPrecTraceProc): + * generic/tclVar.c (CallTraces, MakeUpvar, VarErrMsg, TclLookupVar, + (Tcl_GetVar2, Tcl_SetVar2, Tcl_TraceVar2, Tcl_UnsetVar2) + (Tcl_UntraceVar2, Tcl_UpVar2, Tcl_VarTraceInfo2, Tcl_GetVar2Ex) + (TclSetVar2Ex): Updated interfaces of generic/tclVar.c according to + TIP 27. In particular, the "part2" arguments were CONSTified. + [Patch 532642] + * generic/tclDecls.h: + * generic/tclIntDecls.h: make genstubs + +2002-03-15 Donal K. Fellows + + * tests/compile.test (compile-12.3): Test to detect bug 530320. + * generic/tclCompile.c (TclCompileTokens): Fixed buffer overrun + reported in bug 530320. + +2002-03-14 Mo DeJong + + * win/configure: Regen. + * win/configure.in: Add configure time test for SEH support in the + compiler. + * win/tclWin32Dll.c (ESP, EBP, TclpCheckStackSpace, + (_except_checkstackspace_handler): + * win/tclWinChan.c (ESP, EBP, Tcl_MakeFileChannel, + (_except_makefilechannel_handler): + * win/tclWinFCmd.c (ESP, EBP, DoRenameFile, DoCopyFile, + (_except_dorenamefile_handler, _except_docopyfile_handler): Implement + SEH support under gcc using inline asm. Tcl and Tk should now compile + with Mingw 1.1. [Patch 525746] + +2002-03-14 Mo DeJong + + * win/tclWinFCmd.c (DoRenameFile, DoCopyFile): Handle an SEH exception + with EXCEPTION_EXECUTE_HANDLER instead of restarting the faulting + instruction with EXCEPTION_CONTINUE_EXECUTION. Bug 466102 provides an + example of how restarting could send Tcl into an infinite loop. [Patch + 525746] + +2002-03-11 Mo DeJong + + * win/tclWinFCmd.c (DoRenameFile, DoCopyFile, DoDeleteFile, + (DoRemoveJustDirectory): Make sure we don't pass NULL or "" as a path + name to Win32 API functions since this was crashing under Windows 98. + +2002-03-11 Don Porter + + * library/tcltest/tcltest.tcl: + * library/tcltest/pkgIndex.tcl: Bumped tcltest package to 2.0.2. + +2002-03-11 Mo DeJong + + * library/tcltest/tcltest.tcl (getMatchingFiles): Pass a proper list + to foreach to avoid munging a Windows patch like D:\Foo\Bar into + D:FooBar before the glob. + +2002-03-11 Mo DeJong + + * generic/tclEncoding.c: Fix typo in comment. + * generic/tclIO.c (DoReadChars, ReadBytes, ReadChars): Use NULL value + instead of pointer set to NULL to make things more clear. Reorder + arguments so that they match the function signatures. Cleanup little + typos and add more descriptive comment. + +2002-03-08 Mo DeJong + + * win/README: Update to indicate that Mingw 1.1 is required to build + Tcl. Add section describing new msys based build process. Update + Cygwin build instructions so users know where to find Mingw 1.1. + +2002-03-08 Jeff Hobbs + + * win/tclWinFCmd.c (DoCopyFile): correctly set retval to TCL_OK. + +2002-03-07 Mo DeJong + + * win/tclWin32Dll.c (TclpCheckStackSpace): + * win/tclWinFCmd.c (DoRenameFile, DoCopyFile): Replace hard coded + constants with Win32 symbolic names. Move control flow statements out + of __try blocks since the documentation indicates it is frowned upon. + +2002-03-07 Don Porter + + * doc/interp.n: + * generic/tclInterp.c (Tcl_InterpObjCmd,SlaveObjCmd, + (SlaveRecursionLimit): + * generic/tclTest.c: + * tests/interp.test: Added the [interp recursionlimit] command to + set/query the recursion limit of an interpreter. Proposal and + implementation from Stephen Trier. [TIP 87, Patch 522849] + +2002-03-06 Donal K. Fellows + + * generic/tcl.h, tools/tcl.wse.in, unix/configure.in, + * unix/tcl.spec, win/README.binary, win/configure.in, README: + Bumped patchlevel; this might need to change in the future, but it + will help us distinguish between the CVS version and the most + recent released version. + +2002-03-06 Miguel Sofer + + * generic/tclInt.h: for unshared objects, TclDecrRefCount now frees + the internal rep before the string rep - just like the non-macro + Tcl_DecrRefCount/TclFreeObj [Bug 524802]. + +2002-03-06 Donal K. Fellows + + * doc/lsearch.n: Documentation of new features, plus examples. + * tests/lsearch.test: Tests of new features. + * generic/tclCmdIL.c (Tcl_LsearchObjCmd): TIP#80 support. See + http://purl.org/tcl/tip/80 for details. + +2002-03-05 Jeff Hobbs + + *** 8.4a4 TAGGED FOR RELEASE *** + + * unix/tclUnixChan.c: initial remedy for [Bug 525783] flush problem + introduced by TIP #35. This may not satisfy true serial channels, but + it restores the correct flushing of std* channels on exit. + + * unix/README: added --enable-langinfo doc. + + * unix/tcl.spec: + * tools/tcl.wse.in: fixed URL refs to use www.tcl.tk or SF. + +2002-03-04 Jeff Hobbs + + * README: + * mac/README: + * unix/Makefile.in: + * unix/README: + * win/README: + * win/README.binary: updated to use www.tcl.tk URL. + + * unix/Makefile.in: added older ChangeLogs to dist target. + + * tests/io.test: + * tests/encoding.test: corrected iso2022 encoding results. + added encoding-24.* + * generic/tclEncoding.c (EscapeFromUtfProc): corrected output of + escape codes as per RFC 1468. [Patch 474358] (taguchi) + (TclFinalizeEncodingSubsystem): corrected potential double-free + when encodings were finalized on exit. [Bug 219314, 524674] + +2002-03-01 Jeff Hobbs + + * library/encoding/iso2022-jp.enc: + * library/encoding/iso2022.enc: + * tools/encoding/iso2022-jp.esc: + * tools/encoding/iso2022.esc: gave $B precedence over $@, + based on comments (point 1) in [Bug 219283] (RFC 1468) + + * tests/encoding.test: added encoding-23.* tests + * generic/tclIO.c (FilterInputBytes): reset the TCL_ENCODING_START + flags in the ChannelState when using 'gets'. [Bug 523988] + Also reduced the value of ENCODING_LINESIZE from 30 to 20 as this + seems to improve the performance of 'gets' according to tclbench. + +2002-02-28 Jeff Hobbs + + * generic/tclCmdMZ.c (TraceCommandProc): ensure that TraceCommandInfo + structure was also deleted when a command was deleted to prevent a + mem leak. + + * generic/tclBasic.c (Tcl_CreateObjTrace): set tracePtr->flags + correctly. + + * generic/tclTimer.c (TimerExitProc): remove remaining events in + tls on thread exit. + +2002-02-28 Miguel Sofer + + * generic/tclNamesp.c: allow cached fully-qualified namespace names to + be usable from different namespaces within the same interpreter + without forcing a new lookup [Patch 458872]. + +2002-02-28 Miguel Sofer + + * generic/tclExecute.c: Replaced a few direct stack accesses with the + POP_OBJECT() macro [Bug 507181] (Don Porter). + +2002-02-27 Don Porter + + * doc/GetIndex.3: + * generic/tcl.decls (Tcl_GetIndexFromObjStruct): + * generic/tclIndexObj.c (Tcl_GetIndexFromObjStruct): Revised the + prototype of the Tcl_GetIndexFromObjStruct to take its struct + table as a (CONST VOID *) argument, better describing what it is, + maintaining source compatibility, and adding CONST correctness + according to TIP 27. Thanks to Joe English for an elegant + solution. [Bug 520304] + + * generic/tclDecls.h: make genstubs + + * generic/tclMain.c (Tcl_Main,StdinProc): Corrected some reference + count management errors on the interactive command Tcl_Obj found by + Purify. Thanks to Jeff Hobbs for the report and assistance. + +2002-02-27 Jeff Hobbs + + * generic/tclBasic.c (Tcl_EvalTokensStandard): corrected mem leak + in error case. + + * generic/tclTest.c (TestStatProc[123]): correct harmless UMRs. + + * generic/tclLink.c (Tcl_LinkVar): correct mem leak in error case. + +2002-02-27 Andreas Kupries + + * tests/socket.test (2.7): Accepted and applied patch for [Bug 523470] + provided by Don Porter to avoid timing + problems in that test. + + * unix/tclUnixChan.c (TclpOpenFileChannel): Added code to regonize + "/dev/tty" (by name) and to not handle it as tty / serial line. This + is the controlling terminal and is special. Setting it into raw mode + as is done for other tty's is a bad idea. This is a hackish fix for + expect [Bug 520624]. The fix has limitation: Tcl_MakeFileChannel + handles tty's specially too, but is unable to recognize /dev/tty as it + only gets a file descriptor, and no name for it. + +2002-02-26 Jeff Hobbs + + * generic/tclCmdAH.c (StoreStatData): corrected mem leak. + + * generic/tclCmdMZ.c (Tcl_RegsubObjCmd): prevent obj leak in remedial + regsub case. + + * generic/tclFileName.c (Tcl_TranslateFileName): decr refcount for + error case to prevent mem leak. + + * generic/tclVar.c (Tcl_ArrayObjCmd): removed extra obj allocation. + + * unix/tclUnixSock.c (Tcl_GetHostName): added an extra gethostbyname + check to guard against failure with truncated names returned by uname. + + * unix/configure: + * unix/tcl.m4 (SC_SERIAL_PORT): added sys/modem.h check and defined + _XOPEN_SOURCE_EXTENDED for HP-11 to get updated header decls. + + * unix/tclUnixChan.c: added Unix implementation of TIP #35, serial + port support. [Patch 438509] (schroedter) + +2002-02-26 Miguel Sofer + + * generic/tclCmpCmds.c: (bugfix to the bugfix, hopefully the last) + Bugfix to the new [for] compiling code: was setting a exceptArray + parameter using another param which wasn't yet initialised, thus + filling it with noise. + +2002-02-25 Andreas Kupries + + * mac/tclMacSock.c (TcpGetOptionProc): Changed to recognize the option + "-error". Essentially ignores the option, always returning an empty + string. + +2002-02-25 Jeff Hobbs + + * doc/Alloc.3: + * doc/LinkVar.3: + * doc/ObjectType.3: + * doc/PkgRequire.3: + * doc/Preserve.3: + * doc/TCL_MEM_DEBUG.3: Updated documentation to describe the ckalloc, + ckfree, ckrealloc, attemptckalloc, and attemptckrealloc macros, and + to accurately describe when and how they are used. [Bug 497459] (dgp) + + * generic/tclHash.c (AllocArrayEntry, AllocStringEntry): Before + invoking ckalloc when creating a Tcl_HashEntry, check that the amount + of memory being allocated is at least as large as + sizeof(Tcl_HashEntry). The previous code was allocating memory regions + that were one or two bytes short. [Bug 521950] (dejong) + +2002-02-25 Miguel Sofer + + * generic/tclBasic.c (Tcl_EvalEx): avoiding a buffer overrun reported + by Joe English, and restoring tcl7.6 behaviour for [subst]: badly + terminated nested scripts will raise an error and not be evaluated. + [Bug 495207] + +2002-02-25 Don Porter + + * unix/tclUnixPort.h: corrected strtoll prototype mismatch on Tru64. + * compat/strtod.c (strtod): simplified #includes + * compat/strtol.c (strtol): gather result in a long before returning + as a long: necessary on platforms where sizeof(int) != sizeof(long). + +2002-02-25 Daniel Steffen + + * unix/tclLoadDyld.c: updated to use Mac OS X 10.1 dyld APIs that have + more libdl-like semantics. [Bug 514392] + +2002-02-25 Miguel Sofer + + * generic/tclCompCmds: fixing a bug in patch dated 2002-02-22, in the + code for [for] and [while]. Under certain conditions, for long bodies, + the exception range parameters were badly computed. Tests forthcoming: + I still can't reproduce the conditions in the testsuite (!), although + the bug (with assorted segfault or panic!) can be triggered from the + console or with the new parse.bench in tclbench. + +2002-02-25 Donal K. Fellows + + * compat/strtoul.c, compat/strtol.c, compat/strtod.c: Added UCHAR, + CONST and #includes to clean up GCC output. + +2002-02-23 Don Porter + + * compat/strtoull.c (strtoull): + * compat/strtoll.c (strtoll): + * compat/strtoul.c (strtoul): Fixed failure to handle leading sign + symbols '+' and '-' and '0X' and raise overflow errors. [Bug 440916] + Also corrects prototype and errno problems. + +2002-02-23 Mo DeJong + + * configure: Regen. + * unix/tcl.m4 (SC_CONFIG_CFLAGS): Link with -n32 instead of -32 when + building on IRIX64-6.* system. [Bug 521707] + +2002-02-22 Don Porter + + * generic/tclInt.h: + * generic/tclObj.c: renamed global variable emptyString -> + tclEmptyString because it is no longer static. + * generic/tclPkg.c: Fix for panic when library is loaded on a + platform without backlinking without proper use of stubs. [Bug 476537] + +2002-02-22 Jeff Hobbs + + * tests/regexpComp.test: updated regexp-11.[1-4] to match changes + in regexp.test for new regsub syntax + + * unix/configure: + * unix/tcl.m4: added --enable-64bit support for AIX-4 (using -q64 + flag) when using IBM's xlc compiler. + + * tests/safe.test: updated safe-8.5 and safe-8.7 + * library/safe.tcl (CheckFileName): removed the limit on + sourceable file names (was only *.tcl or tclIndex files with no + more than one dot and 14 chars). There is enough internal + protection in a safe interpreter already. Fixes [Tk Bug 521560]. + +2002-02-22 Miguel Sofer + + * generic/tclCompCmds: [FR 465811]. Optimising [if], [for] and + [while] for constant conditions; in addition, [for] and [while] are + now compiled with the "loop rotation" optimisation (thanks to Kevin + Kenny). + +2002-02-22 Donal K. Fellows + + --- TIP#76 CHANGES --- + * generic/tclCmdMZ.c (Tcl_RegsubObjCmd): Final-argument-less + [regsub] returns the modified string. + * doc/regsub.n: Updated docs. + * tests/regexp.test: Updated and added tests. + + * compat/strtoll.c (strtoll): + * compat/strtoull.c (strtoull): + * unix/tclUnixPort.h: + * win/tclWinPort.h: Const-ing 64-bit compatability declarations. + Note that the return pointer is non-const because it is entirely + legal for the functions to be called from somewhere that owns the + string being passed. Fixes problem reported by Larry Virden. + +2002-02-21 David Gravereaux + + * win/mkd.bat (removed): + * win/coffbase.txt (new): + * win/makefile.bc: + * win/makefile.vc: Changed the 'setup' target to stop using the + mkd.bat file and just make the directory right in the rule. Same + change to makefile.bc. configure.in nor Makefile.in use it. + + coffbase.txt will be the master list for our "prefered base addresses" + set by the linker. This should improve load-time (NT only) by avoiding + relocations. Submissions to the list by extension authors are + encouraged. + + Added a 'tidy' target to compliment 'clean' and 'hose' to remove just + the outputs. Also removed the $(winlibs) macro as it wasn't being + used. + + Stuff left to do: + 1) get the winhelp target to stop building in the tools/ directory. + 2) stop using rmd.bat + 3) add more dependacy rules. + + * win/tclAppInit.c: Reverted back to -r1.6, as the header file change + to tclPort.h won't allow for easy embedded support outside of the + source dist. Thanks to Don Porter for pointing this out to me. + +2002-02-21 David Gravereaux + + * win/makefile.vc: + * win/rules.vc: Added a new "loimpact" option that sets the + -ws:aggressive linker option. Off by default. It's said to keep the + heap use low at the expense of alloc speed. + + * win/tclAppInit.c: Changed #include "tcl.h" to be tclPort.h to remove + the raw windows.h include. tclPort.h brings in windows.h already and + lessens the pre-compiled-header mush and the randomly useless #pragma + comment (lib,...) references throughout the big windows.h tree (as + observed at high linker warning levels). + +2002-02-21 Donal K. Fellows + + * generic/tcl.h: Better guessing of LP64/ILP32 architecture, but + now sensitive to presence of (suitable) + +2002-02-20 Don Porter + + * generic/tcl.decls (Tcl_RegExpRange,Tcl_GetIndexFromObjStruct): + Overlooked a few source incompatibilities. Now using CONST84. + * generic/tclDecls.h: make genstubs + * generic/tcl.h (Tcl_CmdObjTraceProc): silence warning from Sun + Workshop compiler. + +2002-02-20 David Gravereaux + + * win/buildall.vc.bat: + * win/makefile.vc: + * win/rules.vc: General clean-ups. Added compiler and linker tests for + a) the pentium 0x0F errata, b) optimizing (not all have this), and c) + linker v6 section alignment confusion. All these are tested first to + make sure any D4002 or LNK1117 warnings aren't displayed. The pentium + 0x0F errata is a recommended switch. The v5 linker's section alignment + default is 512, but the v6 linker was changed to 4096 in an attempt to + speed loading on Win98. I changed the default to always be 512 across + both linkers, unless linking statically, then 4096 is used for the + claimed speed effect. Using a 512 alignment saves 12k bytes of dead + space in the DLL. + + Added IA64 B-stepping errata switch when the compiler supports it. + + Added profiling to $(lflags) when requested and also removed the + explict -entry option as the default works fine as is. + + Removed win/tclWinInit.c from the special case section to let it use + the common implicit rule as the $(EXTFLAGS) macro it had was never + referenced anywhere. + +2002-02-20 Donal K. Fellows + + * generic/tcl.h: Added code to guess the correct settings for + TCL_WIDE_INT_IS_LONG and TCL_WIDE_INT_TYPE when configure doesn't tell + us them, as can happen with extensions. + +2002-02-19 Donal K. Fellows + + * doc/format.n: Updated docs to list the specification. + * generic/tclCmdAH.c (Tcl_FormatObjCmd): Made behaviour on 64-bit + platforms correctly meet the specification, that %d works with the + native word-sized integer, instead of trying to guess (wrongly) from + the value being passed. + +2002-02-19 Don Porter + + * changes: First draft of updated changes for 8.4a4 release. + +2002-02-15 Jeff Hobbs + + * unix/tclUnixPort.h: add strtoll/strtoull declarations for platforms + that do not define them. + + * generic/tclIndexObj.c (STRING_AT): removed ptrdiff_t cast and use of + VOID* in default case (GNU-ism). + +2002-02-15 Kevin Kenny + + * compat/strtoll.c: + * compat/strtoul.c: + * compat/strtoull.c: + * generic/tclIOUtil.c: + * generic/tclPosixStr.c: + * generic/tclTest.c: + * generic/tclTestObj.c: + * tests/get.test: + * win/Makefile.vc: Further tweaks to the TIP 72 patch to make it + compile under VC++. + +2002-02-15 Andreas Kupries + + * tclExecute.c: + * tclIOGT.c: + * tclIndexObj.c: Touchups to the TIP 72 patch to make it compileable + under Windows again. The changes are not complete, there is one nasty + regarding _stati64 + +2002-02-15 Donal K. Fellows + + +----------------------+ + | TIP #72 IMPLEMENTED. | + +----------------------+ + + There are a lot of changes from this TIP, so please see + http://tip.tcl.tk/72.html for discussion of backward-compatability + issues, but the main ones modifications are in: + + * generic/tcl.h: New types. + * generic/tcl.decls: New public functions. + * generic/tclExecute.c: 64-bit aware bytecode engine. + * generic/tclBinary.c: 64-bit handling in [binary] command. + * generic/tclScan.c: 64-bit handling in [scan] command. + * generic/tclCmdAH.c: 64-bit handling in [file] and [format] + commands. + * generic/tclBasic.c: New "wordSize" entry in ::tcl_platform. + * generic/tclFCmd.c: Large-file support (with many consequences.) + * generic/tclIO.c: Large-file support (with many consequences.) + * compat/strtoll.c, compat/strtoull.c: New support functions. + * unix/tcl.m4, unix/configure: 64-bit support and greatly enhanced + cacheing. + + Most other changes, including all those in doc/* and test/* as well as + the majority in the platform directories, follow on from these. + + Also coming out of the woodwork: + * generic/tclIndex.c: Better support for Cray PVP. + * win/tclWinMtherr.c: Better Borland support. + + Note that, in a number of places through the Unix part of the platform + support, there are Tcl_Platform* references. These are expanded into + the correct way to call that particular underlying function, i.e. with + or without a '64' suffix, and should be used by people working on the + core in preference to the API functions they overlay so that the code + remains portable depending on the presence or absence of 64-bit + support on the underlying platform. + + ***POTENTIAL INCOMPATIBILITY***: Extracted from the TIP + + SUMMARY OF INCOMPATIBILITIES AND FIXES + ====================================== + + The behaviour of expressions containing constants that appear positive + but which have a negative internal representation will change, as + these will now usually be interpreted as wide integers. This is always + fixable by replacing the constant with int(constant). + + Extensions creating new channel types will need to be altered as + different types are now in use in those areas. The change to the + declaration of Tcl_FSStat and Tcl_FSLstat (which are the new preferred + API in any case) are less serious as no non-alpha releases have been + made yet with those API functions. + + Scripts that are lax about the use of the l modifier in format and + scan will probably need to be rewritten. This should be very uncommon + though as previously it had absolutely no effect. + + Extensions that create new math functions that take more than one + argument will need to be recompiled (the size of Tcl_Value changes), + and functions that accept arguments of any type (TCL_EITHER) will need + to be rewritten to handle wide integer values. (I do not expect this + to affect many extensions at all.) + +2002-02-14 Andreas Kupries + + * generic/tclIOCmd.c (Tcl_GetsObjCmd): Trivial fix for [Bug 517503], a + memory leak reported by Miguel Sofer . + The leak happens if an error occurs for "set var [gets $chan]" and + leak one empty object. + +2002-02-12 David Gravereaux + + * djgpp/ (new directory) + * djgpp/Makefile (new): + * unix/tclAppInit.c: + * unix/tclMtherr.c: + * unix/tclUnixFCmd.c: + * unix/tclUnixFile.c: + * unix/tclUnixInit.c: + * unix/tclUnixPort.h: Early stage of DJGPP support for building Tcl + on DOS. Dynamic loading isn't working, yet. Requires watt32 for the + TCP/IP stack. No autoconf, yet. Barely tested, but makes a working exe + that runs Tcl in protected-mode, flat memory. [exec] and pipes will + need the most work as multi-tasking on DOS has to be carefully. + +2002-02-10 Kevin Kenny + + * doc/CrtObjCmd.3: + * doc/CrtTrace.3: + * generic/tcl.decls: + * generic/tcl.h: + * generic/tclBasic.c: + * generic/tclInt.h: + * generic/tclTest.c: + * tests/basic.test: Added Tcl_CreateObjTrace, + Tcl_GetCommandInfoFromToken and Tcl_SetCommandInfoFromToken. + (TIPs #32 and #79.) + + * generic/tclDecls.h: + * generic/tclStubInit.c: Regenerated Stubs tables. + +2002-02-08 Jeff Hobbs + + * unix/configure: + * unix/tcl.m4: added -pthread for FreeBSD to EXTRA_CFLAGS and + LDFLAGS. Also triggered nodots only for FreeBSD-3. + Added AC_DEFINE(_POSIX_PTHREAD_SEMANTICS) for Solaris. + + * unix/tclUnixPort.h: + * unix/tclUnixThrd.c: added thread-safe versions of readdir, + localtime, gmtime and inet_ntoa for threaded build. (jgdavidson) + + * generic/tclScan.c (Tcl_ScanObjCmd): prevented ckfree being + called on a pointer to NULL. + +2002-02-07 Don Porter + + * doc/DString.3: + * doc/Encoding.3: + * doc/GetCwd.3: + * doc/SplitPath.3: + * doc/Translate.3: + * doc/Utf.3: + * generic/tcl.decls: + * generic/tcl.h: + * generic/tclEncoding.c: + * generic/tclEnv.c: + * generic/tclFileName.c: + * generic/tclIOUtil.c: + * generic/tclUtf.c: + * generic/tclUtil.c: + * mac/tclMacInit.c: + * unix/tclUnixFile.c: + * unix/tclUnixInit.c: + * unix/tclUnixPipe.c: + * win/tclWin32Dll.c: + * win/tclWinFCmd.c: + * win/tclWinFile.c: + * win/tclWinInit.c: Partial TIP 27 rollback. Following routines + restored to return (char *): Tcl_DStringAppend, + Tcl_DStringAppendElement, Tcl_JoinPath, Tcl_TranslateFileName, + Tcl_ExternalToUtfDString, Tcl_UtfToExternalDString, + Tcl_UniCharToUtfDString, Tcl_GetCwd, Tcl_WinTCharToUtf. Also + restored Tcl_WinUtfToTChar to return (TCHAR *) and + Tcl_UtfToUniCharDString to return (Tcl_UniChar *). Modified + some callers. This change recognizes that Tcl_DStrings are + de-facto white-box objects. + + * generic/tclDecls.h: + * generic/tclPlatDecls.h: make genstubs + + * generic/tclCmdMZ.c: corrected use of C++-style comment. + +2002-02-06 Jeff Hobbs + + * tests/scan.test: + * generic/tclScan.c (Tcl_ScanObjCmd): corrected scan 0x... %x handling + that didn't accept the 0x as a prelude to a base 16 number. [Bug + 495213] + + * generic/tclCompCmds.c (TclCompileRegexpCmd): made early check + for bad RE to stop checking further. + + * generic/tclCmdMZ.c (Tcl_RegsubObjCmd): added special case to + search for simple 'string map' style regsub calls. + Delayed creation of resultPtr object until an initial match is + made, as the input string object can then be reused for no matches. + (Tcl_StringObjCmd): optimization improvements to the STR_MAP + algorithm for zero-length and nocase cases. + + * tests/regexp.test: + * tests/regexpComp.test: extra code coverage tests. + + * tests/string.test: added 10.18 and 10.19 extra tests. + + * generic/regc_locale.c (casecmp): slight performance improvement. + +2002-02-05 Don Porter + + * library/http/http.tcl: + * library/http/pkgIndex.tcl: Corrected use of http::error when + ::error was intended. Bump to http 2.4.2. + +2002-02-04 Andreas Kupries + + * unix/tclUnixChan.c (FileOutputProc): Fixed [bug 465765] reported by + Dale Talcott . Avoid writing + nothing into a file as STREAM based implementations will consider this + a EOF (if the file is a pipe). Not done in the generic layer as this + type of writing is actually useful to check the state of a socket. + + * doc/open.n: Fixed [Bug 511540], added cross-reference to 'pid' as + the command to use to retrieve the pid of a command pipeline created + via 'open'. + +2002-02-01 Jeff Hobbs + + * generic/tclCmdMZ.c (Tcl_RegexpObjCmd): handle quirky about case + earlier to avoid shimmering problem. + +2002-02-01 Andreas Kupries + + * tests/io.test: io-39.22 split into two tests, one platform + dependent, the other not. -eofchar is not empty on the windows + platform. + +2002-02-01 Vince Darley + + * generic/tclTest.c: fix to picky windows compiler problem with the + 'MainLoop' function declaration. + +2002-01-31 Andreas Kupries + + * win/tclWinFCmd.c: TIP 27: Applied patch fixing CONST warnings on + behalf of Don Porter . + +2002-01-30 Don Porter + + * generic/tcl.decls: + * generic/tcl.h: + * generic/tclInt.h: For each interface identified in the TIP 27 + changes below as a POTENTIAL INCOMPATIBILITY, the source of the + incompatibility has been parameterized so that it can be removed. When + compiling extension code against the Tcl header files, use the + compiler flag -DUSE_NON_CONST to remove the irresolvable source + incompatibilities introduced by the TIP 27 changes. Resolvable changes + are left for extension authors to resolve. + * generic/tclDecls.h: make genstubs + +2002-01-30 Vince Darley + + * doc/FileSystem.3: added documentation for 3 public functions which + had been overlooked. Fixes [Bug 507701] + * unix/mkLinks: make mklinks + +2002-01-29 Jeff Hobbs + + * tests/regexpComp.test: + * generic/tclCompCmds.c (TclCompileRegexpCmd): enhanced to support + -nocase and -- options. + +2002-01-28 Mo DeJong + + * unix/tcl.m4 (SC_LOAD_TCLCONFIG): + * win/tcl.m4 (SC_LOAD_TCLCONFIG): Set TCL_LIB_SPEC, TCL_STUB_LIB_SPEC, + and TCL_STUB_LIB_PATH to the values of TCL_BUILD_LIB_SPEC, + TCL_BUILD_STUB_LIB_SPEC, and TCL_BUILD_STUB_LIB_PATH when tclConfig.sh + is loaded from the build directory. A Tcl extension should make use of + the non-build versions of these variables since they will work in both + cases. This modification was described in TIP #34. + +2002-01-28 Jeff Hobbs + + * win/tclWinReg.c (regConnectRegistryProc,RecursiveDeleteKey) + (DeleteKey,GetKeyNames,GetType,GetValue,OpenSubKey,SetValue): + redid the CONSTification as previous changes caused failing tests. + + * tests/regexpComp.test (new): + * generic/tclInt.h: + * generic/tclBasic.c: added TclCompileRegexpCmd entry + * generic/tclCompCmds.c (TclCompileStringCmd): corrected to return + TCL_OUT_LINE_COMPILE instead of TCL_ERROR for parsing errors, so + it only throws the error for runtime compile, in case the user + modifies 'string'. + (TclCompileRegexpCmd): first try at a byte-compiled regexp + command. It handles static strings and ^$ bounded static strings. + (TclCompileAppendCmd): made TclPushVarName call always use + TCL_CREATE_VAR as numWords is always > 2 at that point. + + * generic/tclExecute.c (TclExecuteByteCode:INST_LIST): correct + possibly dangerous decr in macro call. + + * win/tclWinInit.c (TclpFindVariable): CONSTification touch-up + + * win/tclWinReg.c (OpenSubKey): corrected bug introduced in + CONSTification that dropped pointer reference. + + * ChangeLog.2000 (new file): + * ChangeLog: broke changes from 2000 into ChangeLog.2000 to reduce + size of the main ChangeLog. + +2002-01-28 David Gravereaux + + * generic/tclPlatDecls.h: Added preprocessor logic to force a typedef + of TCHAR when __STDC__ is defined when using the uncommon -Za compiler + switch with the microsoft compiler. + +2002-01-27 Don Porter + + * doc/package.n: Documented global namespace context for script + evaluation by [package require]. + +2002-01-27 Daniel Steffen + + * generic/tclInt.decls: + * generic/tclIntPlatDecls.h: + * mac/tclMacChan.c: + * mac/tclMacFCmd.c: + * mac/tclMacFile.c: + * mac/tclMacInit.c: + * mac/tclMacLoad.c: + * mac/tclMacResource.c: + * mac/tclMacSock.c: TIP 27 CONSTification induced changes + + * tests/event.test: + * tests/main.test: added catches/constraints to test that use features + that don't exist on the mac. + +2002-01-25 Mo DeJong + + Make -eofchar and -translation options read only for server sockets. + [Bug 496733] + + * generic/tclIO.c (Tcl_GetChannelOption, Tcl_SetChannelOption): + Instead of returning nothing for the -translation option on a server + socket, always return "auto". Return the empty string enclosed in + quotes for the -eofchar option on a server socket. Fixup -eofchar + usage message so that it matches the implementation. + * tests/io.test: Add -eofchar tests and -translation tests to ensure + options are read only on server sockets. + * tests/socket.test: Update tests to account for -eofchar and + -translation option changes. + +2002-01-25 Don Porter + + * compat/strstr.c (strstr): + * generic/tclCmdAH.c (Tcl_FormatObjCmd): + * generic/tclCmdIL.c (InfoNameOfExecutableCmd): + * generic/tclEnv.c (ReplaceString): + * generic/tclFileName.c (ExtractWinRoot): + * generic/tclIO.c (FlushChannel,Tcl_BadChannelOption): + * generic/tclStringObj.c (AppendUnicodeToUtfRep): + * generic/tclThreadTest.c (TclCreateThread): + * generic/tclUtf.c (Tcl_UtfPrev): + * mac/tclMacFCmd.c (TclpObjListVolumes): + * mac/tclMacResource.c (TclMacRegisterResourceFork) + (BuildResourceForkList): + * win/tclWinInit.c (AppendEnvironment): Sought out and eliminated + instances of CONST-casting that are no longer needed after the + TIP 27 effort. + + * Following is [Patch 501006] + * generic/tclInt.decls (Tcl_AddInterpResolvers, Tcl_Export) + (Tcl_FindNamespace, Tcl_GetInterpResolvers, Tcl_ForgetImport) + (Tcl_Import, Tcl_RemoveInterpResolvers): + * generic/tclNamesp.c (Tcl_Export, Tcl_Import, Tcl_ForgetImport) + (Tcl_FindNamespace): + * generic/tclResolve.c (Tcl_AddInterpResolvers,Tcl_GetInterpResolvers, + (Tcl_RemoveInterpResolvers): Updated APIs in generic/tclResolve.c and + generic/tclNamesp.c according to the guidelines of TIP 27. + * generic/tclIntDecls.h: make genstubs + + * Following is [Patch 505630] + * doc/AddErrorInfo.3: + * generic/tcl.decls (Tcl_LogCommandInfo): + * generic/tclBasic.c (Tcl_LogCommandInfo): Updated interfaces + of generic/tclBasic.cc according to TIP 27. + * generic/tclDecls.h: make genstubs + + * Following is [Patch 506818] + * doc/Hash.3: + * generic/tcl.decls (Tcl_HashStats): + * generic/tclHash.c (Tcl_HashStats): Updated APIs of generic/tclHash.c + according to guidelines of TIP 27. + * generic/tclDecls.h: make genstubs + * generic/tclVar.c (Tcl_ArrayObjCmd): Updated callers. + + * Following is [Patch 506807] + * doc/ObjectType.3: + * generic/tcl.decls (Tcl_GetObjType): + * generic/tclObj.c (Tcl_GetObjType): Updated APIs of generic/tclObj.c + according to guidelines of TIP 27. + * generic/tclDecls.h: make genstubs + + * Following is [Patch 507304] + * doc/Encoding.3: + * generic/tcl.decls (Tcl_WinUtfToTChar,Tcl_WinTCharToUtf): + * win/tclWin32Dll.c (Tcl_WinUtfToTChar,Tcl_WinTCharToUtf): + Updated interfaces in win/tclWin32Dll.c according to TIP 27. + * generic/tclPlatDecls.h: make genstubs + * generic/tclIOUtil.c (TclpNativeToNormalized): + * win/tclWinFCmd.c (TclpObjNormalizePath): + * win/tclWinFile.c (TclpFindExecutable,TclpMatchInDirectory) + (NativeIsExec,NativeStat): + * win/tclWinLoad.c (TclpLoadFile): + * win/tclWinPipe.c (TclpOpenFile,ApplicationType): + * win/tclWinReg.c (regConnectRegistryProc,RecursiveDeleteKey,DeleteKey) + (GetKeyNames,GetType,GetValue,OpenSubKey,SetValue): + * win/tclWinSerial.c (SerialSetOptionProc): Update callers. + + * Following is [Patch 505072] + * doc/Concat.3: + * doc/Encoding.3: + * doc/Filesystem.3: + * doc/Macintosh.3: + * doc/OpenFileChnl.3 + * doc/SetResult.3: + * doc/SetVar.3: + * doc/SplitList.3: + * doc/SplitPath.3: + * doc/Translate.3: + * generic/tcl.h (Tcl_FSMatchInDirectoryProc): + * generic/tclInt.h (TclpMatchInDirectory): + * generic/tcl.decls (Tcl_Concat,Tcl_GetStringResult,Tcl_GetVar, + (Tcl_GetVar2,Tcl_JoinPath,Tcl_Merge,Tcl_OpenCommandChannel,Tcl_SetVar) + (Tcl_SetVar2,Tcl_SplitList,Tcl_SplitPath,Tcl_TranslateFileName) + (Tcl_ExternalToUtfDString,Tcl_GetEncodingName,Tcl_UtfToExternalDString) + (Tcl_GetDefaultEncodingDir,Tcl_SetDefaultEncodingDir) + (Tcl_FSMatchInDirectory,Tcl_MacEvalResource,Tcl_MacFindResource): + * generic/tclInt.decls (TclCreatePipeline,TclGetEnv,TclpGetCwd, + (TclpCreateProcess): + * mac/tclMacFile.c (TclpGetCwd): + * generic/tclEncoding.c (Tcl_GetDefaultEncodingDir) + (Tcl_SetDefaultEncodingDir,Tcl_GetEncodingName) + (Tcl_ExternalToUtfDString,Tcl_UtfToExternalDString, OpenEncodingFile) + (LoadEscapeEncoding): + * generic/tclFileName.c (DoTildeSubst,Tcl_JoinPath,Tcl_SplitPath, + (Tcl_TranslateFileName): + * generic/tclIOUtil.c (Tcl_FSMatchInDirectory): + * generic/tclPipe.c (FileForRedirect,TclCreatePipeline) + (Tcl_OpenCommandChannel): + * generic/tclResult.c (Tcl_GetStringResult): + * generic/tclUtil.c (Tcl_Concat,Tcl_SplitList,Tcl_Merge): + * generic/tclVar.c (Tcl_GetVar,Tcl_GetVar2,Tcl_SetVar,Tcl_SetVar2): + * mac/tclMacResource.c (Tcl_MacEvalResource,Tcl_MacFindResource): + Updated interfaces of generic/tclEncoding, generic/tclFilename.c, + generic/tclIOUtil.c, generic/tclPipe.c, generic/tclResult.c, + generic/tclUtil.c, generic/tclVar.c and mac/tclMacResource.c according + to TIP 27. Tcl_TranslateFileName rewritten as wrapper around + VFS-aware version. + ***POTENTIAL INCOMPATIBILITY*** + Includes source incompatibilities: argv arguments of Tcl_Concat, + Tcl_JoinPath, Tcl_OpenCommandChannel, Tcl_Merge; argvPtr arguments of + Tcl_SplitList and Tcl_SplitPath. + * generic/tclDecls.h: + * generic/tclIntDecls.h: make genstubs + + * generic/tclCkalloc.c (MemoryCmd): + * generic/tclClock.c (FormatClock): + * generic/tclCmdAH.c (Tcl_CaseObjCmd,Tcl_EncodingObjCmd,Tcl_FileObjCmd): + * generic/tclCmdIL.c (InfoLibraryCmd,InfoPatchLevelCmd, + (InfoTclVersionCmd): + * generic/tclCompCmds.c (TclCompileForeachCmd): + * generic/tclCompCmds.h (TclCompileForeachCmd): + * generic/tclCompile.c (TclFindCompiledLocal): + * generic/tclEnv.c (TclSetupEnv,TclSetEnv,Tcl_PutEnv,TclGetEnv, + (EnvTraceProc): + * generic/tclEvent.c (Tcl_BackgroundError): + * generic/tclIO.c (Tcl_BadChannelOption,Tcl_SetChannelOption): + * generic/tclIOCmd.c (Tcl_ExecObjCmd,Tcl_OpenObjCmd): + * generic/tclIOSock.c (TclSockGetPort): + * generic/tclIOUtil.c (SetFsPathFromAny): + * generic/tclLink.c (LinkTraceProc): + * generic/tclMain.c (Tcl_Main): + * generic/tclNamesp.c (TclTeardownNamespace): + * generic/tclProc.c (TclCreateProc): + * generic/tclTest.c (TestregexpObjCmd,TesttranslatefilenameCmd, + (TestchmodCmd,GetTimesCmd,TestsetCmd,TestOpenFileChannelProc1, + (TestOpenFileChannelProc2,TestOpenFileChannelProc3,AsyncHandlerProc, + (TestpanicCmd): + * generic/tclThreadTest.c (ThreadErrorProc,ThreadEventProc): + * generic/tclUtil.c (TclPrecTraceProc): + * mac/tclMacFCmd.c (GetFileSpecs): + * mac/tclMacFile.c (TclpMatchInDirectory): + * mac/tclMacInit.c (TclpInitLibraryPath,Tcl_SourceRCFile): + * mac/tclMacOSA.c (tclOSAStore,tclOSALoad): + * mac/tclMacResource.c (Tcl_MacEvalResource): + * unix/tclUnixFCmd.c (TclpObjNormalizePath): + * unix/tclUnixFile.c (TclpMatchInDirectory,TclpGetUserHome,TclpGetCwd, + (TclpReadLink): + * unix/tclUnixInit.c (TclpInitLibraryPath,TclpSetVariables, + (Tcl_SourceRCFile): + * unix/tclUnixPipe.c (TclpOpenFile,TclpCreateTempFile, + (TclpCreateProcess): + * win/tclWinFile.c (TclpGetCwd,TclpMatchInDirectory): + * win/tclWinInit.c (TclpInitLibraryPath,Tcl_SourceRCFile, + (TclpSetVariables): + * win/tclWinPipe.c (TclpCreateProcess): Updated callers. + +2002-01-24 Don Porter + + * generic/tclIOUtil.c (SetFsPathFromAny): Corrected tilde-substitution + of pathnames where > 1 separator follows the ~. [Bug 504950] + +2002-01-24 Jeff Hobbs + + * library/http/pkgIndex.tcl: + * library/http/http.tcl: don't add port in default case to handle + broken servers. http bumped to 2.4.1 [Bug 504508] + +2002-01-23 Andreas Kupries + + * unix/mkLinks: Regenerated. + * doc/CrtChannel.3: + * doc/ChnlStack.3: Moved documentation for 'Tcl_GetTopChannel' from + 'CrtChannel' to 'ChnlStack'. Added documentation of + 'Tcl_GetStackedChannel'. [Bug 506147] reported by Mark Patton + + +2002-01-23 Don Porter + + * win/tclWinFile.c (NativeAccess,NativeStat,NativeIsExec, + (TclpGetUserHome): + * win/tclWinPort.h (TclWinSerialReopen): + * win/tclWinSerial.c (TclWinSerialReopen): + * win/tclWinSock.c (Tcl_OpenTcpServer): Corrections to earlier TIP + #27 changes. Thanks to Andreas Kupries for the feedback. + * generic/tclPlatDecls.h: make genstubs + + * doc/GetHostName.3: + * doc/GetOpnFl.3: + * doc/OpenTcp.3: + * tcl.decls (Tcl_GetHostName,Tcl_GetOpenFile,Tcl_OpenTcpClient, + (Tcl_OpenTclServer): + * mac/tclMacSock.c (CreateSocket,Tcl_OpenTcpClient,Tcl_OpenTcpServer, + (Tcl_GetHostName,GetHostFromString): + * unix/tclUnixChan.c (CreateSocket,CreateSocketAddress, + (Tcl_OpenTcpClient,Tcl_OpenTcpServer,Tcl_GetOpenFile): + * unix/tclUnixSock.c (Tcl_GetHostName): + * win/tclWinSock.c (CreateSocket,CreateSocketAddress, + (Tcl_OpenTcpClient,Tcl_OpenTcpServer,Tcl_GetHostName): + Updated socket interfaces according to TIP 27. + * generic/tclCmdIL.c (InfoHostnameCmd): Updated callers. + * generic/tclDecls.h: make genstubs + +2002-01-21 David Gravereaux + + * generic/tclLoadNone.c: TclpLoadFile() didn't match proto of typedef + Tcl_FSLoadFileProc. OK'd by vincentdarley. [Patch 502488] + +2002-01-21 Andreas Kupries + + * generic/tclIO.c (WriteChars): Fix for [Bug 506297], reported by + Martin Forssen . The encoding chosen in + the script exposing the bug writes out three intro characters when + TCL_ENCODING_START is set, but does not consume any input as + TCL_ENCODING_END is cleared. As some output was generated the + enclosing loop calls UtfToExternal again, again with START set. Three + more characters in the out and still no use of input ... To break this + infinite loop we remove TCL_ENCODING_START from the set of flags after + the first call (no condition is required, the later calls remove an + unset flag, which is a no-op). This causes the subsequent calls to + UtfToExternal to consume and convert the actual input. + +2002-01-21 Don Porter + + * generic/tclTest.c: Converted declarations of TestReport file system + to more portable form. [Bug 501417]. + + * generic/tcl.decls (Tcl_TraceCommand,Tcl_UntraceCommand, + (Tcl_CommandTraceInfo): + * generic/tclCmdMZ.c (Tcl_TraceCommand,Tcl_UntraceCommand, + (Tcl_CommandTraceInfo): Updated APIs in generic/tclCmdMZ.c + according to the guidelines of TIP 27. + * generic/tclDecls.h: make genstubs + +2002-01-18 Don Porter + + * win/tclWinChan.c: + * win/tclWinFCmd.c: + * win/tclWinFile.c: Overlooked callers of Tcl_FSGetNativePath + + * win/tclWinDde.c: + * win/tclWinReg.c: Overlooked callers of Tcl_GetIndexFromObj + +2002-01-18 Daniel Steffen + + * generic/tclThreadTest.c: + * mac/tclMacChan.c: + * mac/tclMacFCmd.c: + * mac/tclMacFile.c: + * mac/tclMacLoad.c: + * mac/tclMacResource.c: TIP 27 CONSTification broke the mac build in a + number of places. + +2002-01-17 Andreas Kupries + + * generic/tclIOCmd.c (Tcl_GetsObjCmd): Fixed [Bug 504642] as reported + by Brian Griffin , using his patch. + Before the patch the generic I/O layer held an unannounced reference + to the interp result to store the read line into. This unfortunately + has disastrous results if the channel driver executes a Tcl script to + perform its operation, this freeing the interp result. In that case we + are dereferencing essentially a dangling reference. It is not truly + dangling because the object is in the free list, but this only causes + us to smash the free list and have the error occur later somewhere + else. The patch simply creates a new object for the line and later + sets it into the interp result when we are done with reading. + +2002-01-16 Mo DeJong + + * unix/tcl.m4 (SC_LOAD_TCLCONFIG): + * win/tcl.m4 (SC_LOAD_TCLCONFIG): Subst TCL_DBGX into + TCL_STUB_LIB_FILE and TCL_STUB_LIB_FLAG variables so that an extension + does not need to subst TCL_DBGX into its makefile. [Tk Bug 504356] + +2002-01-16 Don Porter + + * doc/FileSystem.3: + * doc/GetCwd.3: + * doc/GetIndex.3: + * generic/tcl.decls (Tcl_GetIndexFromObj, Tcl_GetIndexFromObjStruct, + (Tcl_GetCwd, Tcl_FSFileAttrStrings, Tcl_FSGetNativePath, + (Tcl_FSGetTranslatedStringPath): + * generic/tcl.h (Tcl_FSFileAttrStringsProc): + * generic/tclFCmd.c (TclFileAttrsCmd): + * generic/tclIOUtil.c (Tcl_GetCwd,NativeFileAttrStrings, + (Tcl_FSFileAttrStrings,Tcl_FSGetTranslatedStringPath, + (Tcl_FSGetNativePath): + * generic/tclIndexObj.c (Tcl_GetIndexFromObj,Tcl_GetIndexFromObjStruct): + More TIP 27 updates in tclIOUtil.c and tclIndexObj.c that were + overlooked before. [Patch 504671] + ***POTENTIAL INCOMPATIBILITY*** + Includes a source incompatibility in the tablePtr arguments of the + Tcl_GetIndexFromObj* routines. + * generic/tclDecls.h: make genstubs + + * generic/tclBinary.c (Tcl_BinaryObjCmd): + * generic/tclClock.c (Tcl_ClockObjCmd): + * generic/tclCmdAH.c (Tcl_EncodingObjCmd, Tcl_FileObjCmd): + * generic/tclCmdIL.c (Tcl_InfoObjCmd,Tcl_LsearchObjCmd,Tcl_LsortObjCmd): + * generic/tclCmdMZ.c (Tcl_TraceObjCmd,Tcl_RegexpObjCmd,Tcl_RegsubObjCmd, + (Tcl_StringObjCmd,Tcl_SubstObjCmd,Tcl_SwitchObjCmd, + (TclTraceCommandObjCmd,TclTraceVariableObjCmd): + * generic/tclCompCmds.c (TclCompileStringCmd): + * generic/tclEvent.c (Tcl_UpdateObjCmd): + * generic/tclFileName.c (Tcl_GlobObjCmd): + * generic/tclIO.c (Tcl_FileEventObjCmd): + * generic/tclIOCmd.c (Tcl_SeekObjCmd,Tcl_ExecObjCmd,Tcl_SocketObjCmd, + (Tcl_FcopyObjCmd): + * generic/tclInterp.c (Tcl_InterpObjCmd,SlaveObjCmd): + * generic/tclNamesp.c (Tcl_NamespaceObjCmd): + * generic/tclPkg.c (Tcl_PackageObjCmd): + * generic/tclTest.c (Tcltest_Init,TestencodingObjCmd,TestgetplatformCmd, + (TestlocaleCmd,TestregexpObjCmd,TestsaveresultCmd, + (TestGetIndexFromObjStructObjCmd,TestReportFileAttrStrings): + * generic/tclTestObj.c (TestindexObjCmd,TeststringObjCmd): + * generic/tclTimer.c (Tcl_AfterObjCmd): + * generic/tclVar.c (Tcl_ArrayObjCmd): + * mac/tclMacFCmd.c (SetFileFinderAttributes): + * unix/tclUnixChan.c (TclpOpenFileChannel): + * unix/tclUnixFCmd.c (tclpFileAttrStrings): + * unix/tclUnixFile.c (TclpObjAccess,TclpObjChdir,TclpObjStat, + (TclpObjLstat): + * win/tclWinFCmd.c (tclpFileAttrStrings): Updated callers. + + * doc/RegExp.3: + * doc/Utf.3: + * generic/tcl.decls: + * generic/tclInt.decls: + * generic/tclRegexp.c: + * generic/tclUtf.c: Updated APIs in generic/tclUtf.c and + generic/tclRegexp.c according to the guidelines of TIP 27. + [Patch 471509] + + * generic/regc_locale.c (element,cclass): + * generic/tclCmdMZ.c (Tcl_StringObjCmd): + * generic/tclFileName.c (TclpGetNativePathType,SplitMacPath): + * generic/tclIO.c (ReadChars): + * mac/tclMacLoad.c (TclpLoadFile): + * win/tclWinFile.c (TclpGetUserHome): Updated callers. + + * generic/tclDecls.h: + * generic/tclIntDecls.h: make genstubs + + * doc/ParseCmd.3 (Tcl_ParseVar): + * generic/tcl.decls (Tcl_ParseVar): + * generic/tclParse.c (Tcl_ParseVar): + * generic/tclTest.c (TestparsevarObjCmd): Updated APIs in + generic/tclParse.c according to the guidelines of TIP 27. Updated + callers. [Patch 501046] + * generic/tclDecls.h: make genstubs + + * generic/tcl.decls (Tcl_RecordAndEval): + * generic/tclDecls.h: make genstubs + * generic/tclHistory.c (Tcl_RecordAndEval): Updated APIs in + generic/tclHistory.c according to the guidelines of TIP 27. + [Patch 504091] + + * doc/CrtSlave.3: + * generic/tcl.decls (Tcl_CreateAlias, Tcl_CreateAliasObj, + (Tcl_CreateSlave, Tcl_GetAlias, Tcl_GetAliasObj, Tcl_GetSlave): + * generic/tclInterp.c (Tcl_CreateAlias, Tcl_CreateAliasObj, + (Tcl_CreateSlave, Tcl_GetAlias, Tcl_GetAliasObj, Tcl_GetSlave): + Updated APIs in the file generic/tclInterp.c according to the + guidelines of TIP 27. [Patch 501371] + ***POTENTIAL INCOMPATIBILITY*** + Includes a source incompatibility in the targetCmdPtr arguments of + the Tcl_GetAlias* routines. + + * generic/tclDecls.h: make genstubs + +2002-01-15 Don Porter + + * doc/SetErrno.3 (Tcl_ErrnoMsg): Corrected documentation for + Tcl_ErrnoMsg; it takes an integer argument. Thanks to Georgios + Petasis. [Bug 468183] + + * doc/AddErrInfo.3 (Tcl_PosixError): + * doc/Eval.3 (Tcl_EvalFile): + * doc/FileSystem.c (Tcl_FSOpenFileChannel,Tcl_FSOpenFileChannelProc): + * doc/OpenFileChnl.3 (Tcl_OpenFileChannel): + * doc/SetErrno.3 (Tcl_ErrnoId,Tcl_ErrnoMsg): + * doc/Signal.3 (Tcl_SignalId,Tcl_SignalMsg): + * generic/tcl.decls (Tcl_ErrnoId,TclErrnoMsg,Tcl_EvalFile, + (Tcl_OpenFileChannel,Tcl_PosixError,Tcl_SignalId,Tcl_SignalMsg, + (Tcl_FSOpenFileChannel): + * generic/tcl.h (Tcl_FSOpenFileChannelProc): + * generic/tclIO.c (FlushChannel): + * generic/tclIOUtil.c (Tcl_OpenFileChannel,Tcl_EvalFile,TclGetOpenMode, + (Tcl_PosixError,Tcl_FSOpenFileChannel): + * generic/tclInt.decls (TclGetOpenMode): + * generic/tclInt.h (TclOpenFileChannelProc_,TclGetOpenMode, + (TclpOpenFileChannel): + * generic/tclPipe.c (TclCleanupChildren): + * generic/tclPosixStr.c (Tcl_ErrnoId,Tcl_ErrnoMsg,Tcl_SignalId, + (Tcl_SignalMsg): + * generic.tclTest.c (PretendTclpOpenFileChannel, + (TestOpenFileChannelProc1,TestOpenFileChannelProc2, + (TestOpenFileChannelProc3,TestReportOpenFileChannel): + * mac/tclMacChan.c (TclpOpenFileChannel): + * unix/tclUnixChan.c (TclpOpenFileChannel): + * win/tclWinChan.c (TclpOpenFileChannel): Updated APIs in + generic/tclIOUtil.c and generic/tclPosixStr.c according to the + guidelines of TIP 27. Updated callers. [Patch 499196] + + * generic/tclDecls.h: + * generic/tclIntDecls.h: make genstubs + + * doc/CrtChannel.3: + * doc/OpenFileChnl.3: + * generic/tcl.decls: + * generic/tclIO.h: + * generic/tclIO.c (DoWrite, Tcl_RegisterChannel, Tcl_GetChannel, + (Tcl_CreateChannel, Tcl_GetChannelName, CloseChannel, Tcl_Write, + (Tcl_WriteRaw, Tcl_Ungets, Tcl_BadChannelOption, Tcl_GetChannelOption, + (Tcl_SetChannelOption, Tcl_GetChannelNamesEx, Tcl_ChannelName): + Updated APIs in the file generic/tclIO.c according to the guidelines + of TIP 27. Several minor documentation corrections as well. [Patch + 503565] + * generic/tclDecls.h: make genstubs + + * generic/tcl.h (Tcl_DriverOutputProc, Tcl_DriverGetOptionProc, + (Tcl_DriverSetOptionProc): + * generic/tclIOGT.c (TransformOutputProc, TransformGetOptionProc, + (TransformSetOptionProc): + * mac/tclMacChan.c (FileOutput, StdIOOutput): + * man/tclMacSock.c (TcpGetOptionProc, TcpOutput): + * unix/tclUnixChan.c (FileOutputProc, TcpGetOptionProc, TcpOutputProc, + (TtyGetOptionProc, TtySetOptionProc): + * unix/tclUnixPipe.c (PipeOuputProc): + * win/tclWinChan.c (FileOutputProc): + * win/tclWinConsole.c (ConsleOutputProc): + * win/tclWinPipe.c (PipeOuputProc): + * win/tclWinSerial.c (SerialOutputProc, SerialGetOptionProc, + (SerialSetOptionProc): + * win/tclWinSock.c (TcpGetOptionProc, TcpOutput): Updated channel + driver interface according to the guidelines of TIP 27. See also [Bug + 500348]. + + * doc/CrtChannel.3: + * generic/tcl.h: + * generic/tclIO.c: + * generic/tclIO.h: + * generic/tclInt.h: + * tools/checkLibraryDoc.tcl: + Moved Tcl_EolTranslation enum declaration from generic/tcl.h to + generic/tclInt.h (renamed to TclEolTranslation). It is not used + anywhere in Tcl's public interface. + +2002-01-14 Don Porter + + * doc/GetIndex.3: + * doc/WrongNumArgs.3: + * generic/tcl.decls (Tcl_GetIndexFromObj, Tcl_GetIndexFromObjStruct, + (Tcl_WrongNumArgs): + * generic/tclIndexObj.c (Tcl_GetIndexFromObj, Tcl_GetIndexFromObjStruct, + (Tcl_WrongNumArgs): Updated APIs in the file generic/tclIndexObj.c + according to the guidelines of TIP 27. [Patch 501491] + * generic/tclDecls.h: make genstubs + +2002-01-11 Mo DeJong + + * unix/configure: Regen. + * unix/configure.in: + * win/configure: Regen. + * win/configure.in: Use ${libdir} instead of ${exec_prefix}/lib + to properly support the --libdir option to configure. [Bug 489370] + +2002-01-11 Andreas Kupries + + * win/tclWinSerial.c (SerialSetOptionProc): Applied patch for [Bug + 500348] supplied by Rolf Schroedter . The + function modified the contents of the the 'value' string and now does + not do this anymore. This is a followup to the change made on + 2001-12-17. + +2002-01-11 David Gravereaux + + * win/makefile.vc: Removed -GD compiler option. It was intended for + future use, but MS is again changing the future at their whim. The + D4002 warning was harmless though, but someone using VC .NET logged it + as a concern. [Bug 501565] + +2002-01-11 Mo DeJong + + * unix/Makefile.in: Burn Tcl build directory into tcltest executable + to avoid crashes caused by ld loading a previously installed version + of the tcl shared library. [Bug 218110] + +2002-01-10 Don Porter , + Kevin Kenny + + * unix/tclLoadDld.c (TclpLoadFile): syntax error: unbalanced parens. + Kevin notes that it's far from clear that this file is ever included + in an actual build; Linux without dlopen appears to be a nonexistent + configuration. + +2002-01-08 Don Porter , + Kevin Kenny + + * doc/StaticPkg.3 (Tcl_StaticPackage): + * generic/tcl.decls (Tcl_StaticPackage): + * generic/tclDecls.h (Tcl_StaticPackage): + * generic/tclInt.decls (TclGuessPackageName): + * generic/tclInt.h (TclGuessPackageName): + * generic/tclLoad.c (Tcl_StaticPackage): + * generic/tclLoadNone.c (TclGuessPackageName): + * mac/tclMacLoad.c (TclGuessPackageName): + * unix/tclLoadAout.c (TclGuessPackageName): + * unix/tclLoadDl.c (TclGuessPackageName): + * unix/tclLoadDld.c (TclGuessPackageName): + * unix/tclLoadDyld.c (TclGuessPackageName): + * unix/tclLoadNext.c (TclGuessPackageName): + * unix/tclLoadOSF.c (TclGuessPackageName): + * unix/tclLoadShl.c (TclGuessPackageName): + * win/tclWinLoad.c (TclGuessPackageName): Updated APIs in the files + */tcl*Load*.c according to the guidelines of TIP 27. [Patch 501096] + +2002-01-09 Don Porter + + * generic/tclTest.c (MainLoop): + * tests/main.test (Tcl_Main-1.{3,4,5,6}): Corrected some non-portable + tests from the new Tcl_Main changes. Thanks to Kevin Kenny. + +2002-01-07 Don Porter + + * generic/tclEvent.c (TclInExit): + * generic/tclIOUtil.c (SetFsPathFromAbsoluteNormalized, + (SetFsPathFromAny,Tcl_FSNewNativePath,DupFsPathInternalRep): + * generic/tclListObj.c (TclLsetList,TclLsetFlat): Added some type + casts to satisfy picky compilers. + + * generic/tclMain.c: Bug fix: neglected the NULL case in + TclGetStartupScriptFileName(). Broke Tk/wish. + +2002-01-05 Don Porter + + * doc/Tcl_Main.3: + * generic/tclMain.c: Substantial rewrite and expanded documentation + of Tcl_Main to correct a number of bugs and flaws: + + * Interactive Tcl_Main can now enter a main loop, exit that + loop and continue interactive operations. The loop may even + exit in the midst of interactive command typing without loss + of the partial command. [Bugs 486453, 474131] + * Tcl_Main now gracefully handles deletion of its master + interpreter. + * Interactive Tcl_Main can now operate with non-blocking stdin + * Interactive Tcl_Main can now detect EOF on stdin even in + mid-command. [Bug 491341] + * Added VFS-aware internal routines for managing the startup + script selection. + * Tcl variable 'tcl_interactive' is now linked to C variable + 'tty' so that one can disable/enable interactive prompts at + the script level when there is no startup script. This is + meant for use by the test suite. + * Consistent use of the Tcl libraries standard channels as + returned by Tcl_GetStdChannel(); as opposed to the channels + named 'stdin', 'stdout', and 'stderr' in the master interp, + which can be different or unavailable. + * Tcl_Main now calls Tcl_Exit() if evaluation of [exit] in the + master interpreter returns, assuring Tcl_Main does not + return. + * Documented Tcl_Main's absence from public stub table + * Documented that Tcl_Main does not return. + * Documented Tcl variables set by Tcl_Main. + * All prompts are done from a single procedure, Prompt. + * Use of Tcl_Obj-enabled interfaces everywhere. + + * generic/tclInt.decls (TclGetStartupScriptPath, + (TclSetStartupScriptPath): New internal VFS-aware routines for + managing the startup script of Tcl_Main. + * generic/tclIntDecls.h: + * generic/tclStubInit.c: make genstubs + + * generic/tclTest.c (TestsetmainloopCmd,TestexitmainloopCmd, + (Tcltest_Init,TestinterpdeleteCmd): + * tests/main.test (new): Added new file to test suite that thoroughly + tests generic/tclMain.c; added some new test commands for testing + Tcl_SetMainLoop(). + +2002-01-04 Don Porter + + * doc/Alloc.3: + * doc/Concat.3: + * doc/CrtMathFnc.3: + * doc/Hash.3: + * doc/Interp.3: + * doc/LinkVar.3: + * doc/ObjectType.3: + * doc/PkgRequire.3: + * doc/Preserve.3: + * doc/SetResult.3: + * doc/SplitList.3: + * doc/SplitPath.3: + * doc/TCL_MEM_DEBUG.3: Updated documentation to describe the ckalloc, + ckfree, ckrealloc, attemptckalloc, and attemptckrealloc macros, and to + accurately describe when and how they are used. [Bug 497459] + + * generic/tclThreadJoin.c (TclRememberJoinableThread,TclJoinThread): + Replaced Tcl_Alloc and Tcl_Free calls with ckalloc and ckfree so that + memory debugging is supported. + +2002-01-04 Daniel Steffen + + * mac/tclMacTime.c (TclpGetTZName): fix for daylight savings TZName + bug + +2002-01-03 Don Porter + + * doc/FileSystem.3: + * generic/tclIOUtil.c: Updated some old uses of "fileName" to new VFS + terminology, "pathPtr". + +2002-01-03 Donal K. Fellows + + * tests/basic.test (basic-39.4): Greatly simplified test while still + leaving it so that it crashes when run without the fix to the + [foreach] implementation. + * generic/tclCmdAH.c (Tcl_ForeachObjCmd): Stopped [Bug 494348] from + happening by not trying to be so clever with cacheing; if nothing + untoward is happening anyway, the less efficient technique will only + add a few instruction cycles (one function call and a few + derefs/assigns per list per iteration, with no change in the number of + tests) and if something odd *is* going on, the code is now far more + robust. + + * tests/basic.test (basic-39.4): Reproducable script from [Bug 494348] + +2002-01-02 Donal K. Fellows + + * tests/util.test (Wrapper_Tcl_StringMatch,util-5.*): Rewrote so the + test is performed with the right internal function since [string + match] no longer uses Tcl_StringCaseMatch internally. + + * tests/string.test (string-11.51): + * generic/tclUtf.c (Tcl_UniCharCaseMatch): + * generic/tclUtil.c (Tcl_StringCaseMatch): Fault with matching + case-insensitive non-ASCII patterns containing upper case characters. + [Bug 233257] + + ****************************************************************** + *** CHANGELOG ENTRIES FOR 2001 IN "ChangeLog.2001" *** + *** CHANGELOG ENTRIES FOR 2000 IN "ChangeLog.2000" *** + *** CHANGELOG ENTRIES FOR 1999 AND EARLIER IN "ChangeLog.1999" *** + ******************************************************************