sl@0: 2000-12-14 Don Porter sl@0: sl@0: * generic/tclExecute.c: sl@0: * tests/expr-old.test: Re-wrote Tcl's [expr rand()] and sl@0: [expr srand($seed)] implementations, fixing a range error sl@0: on some 64-bit platforms. Added tests that detect the bug. sl@0: The rewrite changes the seed -> sequence map on 64-bit sl@0: platforms, only for seed >= 2^31, a slight incompatibility. sl@0: [Bug 121072, Patch 102781] sl@0: sl@0: 2000-12-10 Don Porter sl@0: sl@0: * library/init.tcl: sl@0: * library/msgcat/msgcat.tcl: sl@0: * library/msgcat/pkgIndex.tcl: sl@0: * library/opt/optparse.tcl: sl@0: * library/opt/pkgIndex.tcl: Where [uplevel] is used in a proc sl@0: to evaluate a Tcl built-in command in the caller's context, sl@0: the built-in commands are now fully namespace-qualified. This sl@0: prevents problems when the caller context is in a namespace where sl@0: the built-in command name has been used by a command in the sl@0: namespace. (For example, [::ns::set] might be called instead sl@0: of the intended [::set]). [Bug #119422, Patch #102545] sl@0: sl@0: 2000-12-09 jeff hobbs sl@0: sl@0: * win/tclWinTime.c (CalibrationThread): added lint return value to sl@0: prevent compiler warning. [Bug #125005] sl@0: sl@0: * docs/scan.n: sl@0: * tests/scan.test: sl@0: * generic/tclScan.c (Tcl_ScanObjCmd): changed %o and %x to use sl@0: strtoul instead of strtol to correctly preserve scan<>format sl@0: conversion of large integers. [Patch #102663, Bug #124600] sl@0: sl@0: * generic/tclExecute.c (TclExecuteByteCode): Commited patch fixing sl@0: handling of {!} in expressions. [Patch #102702] sl@0: sl@0: 2000-12-08 jeff hobbs sl@0: sl@0: * library/init.tcl: Added support for PATHEXT variable in sl@0: auto_execok, recognizing the proper set of executable extensions sl@0: on Windows. [Patch #102719] sl@0: sl@0: 2000-12-08 Andreas Kupries sl@0: sl@0: * generic/tclEncoding.c (LoadTableEncoding): Changed dangerous sl@0: code to something less critical. This fixes bug 119417, part A sl@0: without affecting the speed when loading encodings. sl@0: sl@0: 2000-12-08 Donal K. Fellows sl@0: sl@0: * doc/open.n: Added xref to fconfigure and advice on the opening sl@0: of binary files. Should help prevent a recurrence of bugs like sl@0: #124558 sl@0: sl@0: 2000-12-07 jeff hobbs sl@0: sl@0: * generic/tcl.h: added note about need to updated sl@0: library/dde/pkgIndex.tcl with minor version increment. sl@0: sl@0: * library/dde/pkgIndex.tcl: updated to use 84 version to reflect sl@0: the makefile. Should probably be updated to use its real version sl@0: at some point. [Patch #102560, Bug #119421] sl@0: sl@0: 2000-12-06 eric melski sl@0: sl@0: * generic/tcl.h (attemptckalloc): Fixed typo for #define of sl@0: attemptckalloc (was defined to Tcl_AttempDbCkalloc, should have sl@0: been Tcl_AttemptDbCkalloc). [Bug: 124384] sl@0: sl@0: * generic/tclCkalloc.c: Added sl@0: TCL_MEM_DEBUG versions of Tcl_AttemptDbCkrealloc and sl@0: Tcl_AttemptDbCkalloc. [Bug: 124384]. sl@0: sl@0: 2000-11-24 Donal K. Fellows sl@0: sl@0: * generic/tclExecute.c (TclExecuteByteCode): Logical negation "!" sl@0: can now handle string booleans, provided those values are placed sl@0: in variables. sl@0: sl@0: * tests/expr.test (expr-13.17): Check that [expr {!$var}] can sl@0: negate the string-versions of booleans "yes", "false", etc. sl@0: sl@0: * library/tcltest/tcltest.tcl (getMatchingFiles, sl@0: getMatchingDirectories): sl@0: * tools/man2html.tcl (doDir): sl@0: * tools/man2help.tcl (doDir): sl@0: * library/package.tcl (tclPkgUnknown,tclMacPkgSearch): sl@0: * library/safe.tcl (AddSubDirs): [glob] uses -directory instead of sl@0: unsafe [file join] to fix Bug #123313 sl@0: sl@0: * generic/tclIndexObj.c: sl@0: * generic/tclTestObj.c (TestindexobjCmd): Changed internal sl@0: representation of index objects to fix Bug #119082; fix sl@0: shouldn't be visible to outside world... sl@0: sl@0: * generic/tclTest.c (TestGetIndexFromObjStructObjCmd): sl@0: * tests/indexObj.test: (indexObj-6.*) Added to test for presence sl@0: of Bug #119082. sl@0: sl@0: 2000-11-23 Donal K. Fellows sl@0: sl@0: * generic/tclCmdIL.c (Tcl_LsortObjCmd): Fixed memory leak from Bug sl@0: #119398 sl@0: sl@0: * library/init.tcl (unknown): Added specific level parameters to sl@0: all uplevel invokations to boost performance; didn't dare touch sl@0: the "namespace inscope" stuff though, since it looks sensitive sl@0: to me! Should fix Bug #123217, though testing is tricky... sl@0: sl@0: 2000-11-21 Andreas Kupries sl@0: sl@0: * All of the changes below are described in TIP #7 ~ Specification sl@0: and result from the application of the patch contained sl@0: therein. Creator of the patch is Kevin Kenny sl@0: . The patch used here is actually a bit sl@0: different. Two MS specific constant values (format FOOui64) were sl@0: replaced with a more portable formatting of the values and an sl@0: additional cast to LONGLONG. My cross-compiling gcc was unable to sl@0: process the original form. The SF Id of the patch is 102459. sl@0: sl@0: * tclWinTime.c: Add to the static data a set of variables that sl@0: manage the phase-locked techniques, including a sl@0: ''CRITICAL_SECTION'' to guard them so that multi-threaded code sl@0: is stable. sl@0: sl@0: * tclWinTime.c: Modify ''TclpGetSeconds'' to call ''TclpGetTime'' sl@0: and return the 'seconds' portion of the result. This change is sl@0: necessary to make sure that the two times are consistent near sl@0: the rollover from one second to another. sl@0: sl@0: * tclWinTime.c: Modify ''TclpGetClicks'' to use TclpGetTime to sl@0: determine the click count as a number of microseconds. sl@0: sl@0: * tclWinTime.c: Modify ''TclpGetTime'' to return the time as sl@0: M*Q+B, where Q is the result of ''QueryPerformanceCounter'', and sl@0: M and B are variables maintained by the phase-locked loop to sl@0: keep the result as close as possible to the system clock. The sl@0: ''TclpGetTime'' call will also launch the phase-lock management sl@0: in a separate thread the first time that it is invoked. If the sl@0: performance counter is unavailable, or if its frequency is not sl@0: one of the two common 8254-compatible rates, then sl@0: ''TclpGetTime'' will return the result of ''ftime'' as it does sl@0: in Tcl 8.3.2. sl@0: sl@0: * tclWinTime.c: Add the clock calibration procedure. The sl@0: calibration is somewhat complex; to save space, the reader is sl@0: referred to the reference implementation for the details of how sl@0: the time base and frequency are maintained. sl@0: sl@0: * tclWinNotify.c: Modify ''Tcl_Sleep'' to test that the process sl@0: has, in fact, slept for the requisite time by calling sl@0: ''TclpGetTime'' and comparing with the desired time. Otherwise, sl@0: roundoff errors may cause the process to awaken early. sl@0: sl@0: * tclWinTest.c: Add a ''testwinclock'' command. This command sl@0: returns a four element list comprising the seconds and sl@0: microseconds portions of the system clock and the seconds and sl@0: microseconds portions of the Tcl clock. sl@0: sl@0: * winTime.test: Add to the test suite a test that makes sure that sl@0: the Tcl clock stays within 1.1 ms of the system clock over the sl@0: duration of the test. sl@0: sl@0: 2000-11-21 Donal K. Fellows sl@0: sl@0: * doc/global.n: sl@0: * doc/upvar.n: sl@0: * doc/variable.n: Improved documentation to mention that variables sl@0: so created are listed in [info locals] and added a few more sl@0: cross-links between these commands. Fixes bug #119387 sl@0: sl@0: 2000-11-17 Donal K. Fellows sl@0: sl@0: * tests/safe.test: (safe-4.3): sl@0: * generic/tclVar.c (TclLookupVar): Changed again. Now passes all sl@0: the tests, though one needed modifying since it required the sl@0: wrong answer. (Why on earth do we have inline modification of sl@0: argument strings? This sort of thing is horrendous to debug and sl@0: doesn't work well in a multithreaded environment!) Fixes bug sl@0: 119192. sl@0: sl@0: * tests/var.test: (var-1.19) If my attempts to fix the problem sl@0: aren't right yet, my attempts to describe it look pretty good to sl@0: me... sl@0: sl@0: 2000-11-16 Andreas Kupries sl@0: sl@0: * win/tclWinPort.h (line 69): Changed reference to winsock2.h into sl@0: winsock.h. This was a leftover from a foray into using winsock sl@0: version 2 (History lesson from Scott Redman and Jeff sl@0: Hobbs). This code was no problem when compiling Tcl itself, but sl@0: could trip extensions. Fixes bug 122568. sl@0: sl@0: 2000-11-15 jeff hobbs sl@0: sl@0: * unix/Makefile.in: removed bp.c references (hasn't existed in a sl@0: long time). Corrected 'make dist' to make dist with unversioned sl@0: library directories (same as out of cvs), so make install works sl@0: correctly with either source tree. sl@0: sl@0: 2000-11-15 jeff hobbs sl@0: sl@0: * generic/tclVar.c (TclLookupVar): reverted fix below as it broke sl@0: all other array unset error reporting. Bug-119192 is still sl@0: open. sl@0: sl@0: 2000-11-15 Donal K. Fellows sl@0: sl@0: * generic/tclVar.c (TclLookupVar): Changed references to part2 to sl@0: use elName instead in various error message generating spots, so sl@0: as to fix Bug-119192. sl@0: sl@0: 2000-11-03 David Gravereaux sl@0: sl@0: * win/.cvsignore: Removed 'configure' from the glob list now sl@0: that it's included. sl@0: sl@0: 2000-11-03 Jeff Hobbs sl@0: sl@0: 8.4a2 RELEASE sl@0: sl@0: * unix/Makefile.in (install-libraries, dist): sl@0: * win/makefile.vc (install-libraries): sl@0: * win/Makefile.in (install-libraries): updated to install sl@0: unversioned library directories into versioned directories. sl@0: sl@0: * tools/tcl.wse.in: updated for unversioning of library dirs sl@0: sl@0: * unix/mkLinks: updated mkLinks with latest doc updates sl@0: sl@0: * doc/Tcl_Main.3: added docs for Tcl_SetMainLoop sl@0: sl@0: * generic/tclStubInit.c: sl@0: * generic/tclDecls.h: sl@0: * generic/tcl.decls: added Tcl_SetMainLoop proc that allows people sl@0: to set a main loop that will run for tclsh. sl@0: * generic/tcl.h: added Tcl_MainLoopProc typedef sl@0: * generic/tclMain.c (Tcl_SetMainLoop, StdinProc, Prompt): new sl@0: StdinProc and Prompt static procs and Tcl_SetMainLoop stubs proc. sl@0: The first two handle a fileevent based prompt (taken from sl@0: tkMain.c). Tcl_SetMainLoop enables the interactive setting of a sl@0: main loop procedure. This enables Tk to be a loadable package. sl@0: sl@0: 2000-11-02 David Gravereaux sl@0: sl@0: * generic/tclEvent.c: tclLibraryPath Tcl_Obj didn't have a way sl@0: to share its data among threads. This caused Tcl_Init() to sl@0: always fail in threads. Added a way to pass the data around sl@0: with a global char*. [BUG: 5301] sl@0: sl@0: 2000-11-02 Jeff Hobbs sl@0: sl@0: * unix/configure: sl@0: * unix/dltest/configure: sl@0: * win/configure: sl@0: * tools/configure: checked in configure scripts so people doing sl@0: CVS checkouts aren't required to have autoconf. Changes to sl@0: configure.in in the future will require the corresponding sl@0: configure script to also be re-autoconf'ed and checked in. sl@0: sl@0: * win/makefile.vc: sl@0: * win/tcl.m4: makefile fixes for Win64 support sl@0: sl@0: * generic/tclIndexObj.c (Tcl_GetIndexFromObjStruct): minor cast sl@0: changes. sl@0: sl@0: 2000-11-01 Jeff Hobbs sl@0: sl@0: * unix/tcl.m4: removed use of -lbsd and -ldl for AIX-5. sl@0: sl@0: * tests/subst.test: added tests for non-zero return code handling sl@0: by subst. sl@0: * generic/tclParse.c (Tcl_EvalEx): corrected handling of non-zero, sl@0: non-error return code cases for subst. [BUG: 119829] sl@0: sl@0: * generic/tclVar.c (TclVarTraceExists): Corrected excessive mem sl@0: use when info exists was called on a non-existent array element. sl@0: [BUG: 119213, 119336] sl@0: sl@0: 2000-10-30 David Gravereaux sl@0: sl@0: * win/configure.in: sl@0: * win/Makefile.in: sl@0: * win/makefile.vc: sl@0: * win/tcl.rc: sl@0: * win/tclsh.rc: Added logic to derive filenames better in the resource sl@0: scripts based on compile options. sl@0: sl@0: 2000-10-30 Jeff Hobbs sl@0: sl@0: * unix/tclUnixInit.c: added default encoding map from sl@0: "ja_JP.eucJP" to "euc-jp". (takahashi) sl@0: sl@0: * tests/clock.test: corrected clock-2.* test numbering sl@0: sl@0: * unix/configure.in (SC_TCL_LINK_LIBS): removed code that was sl@0: commented out (it had been moved to tcl.m4's SC_TCL_LINK_LIBS sl@0: already). sl@0: sl@0: * unix/tcl.m4: consolidated gettimeofday check for AIX. sl@0: sl@0: 2000-10-27 Jeff Hobbs sl@0: sl@0: * unix/configure.in: sl@0: * unix/tcl.m4: added support for AIX-5. sl@0: sl@0: * generic/tclIO.c (Tcl_NotifyChannel): removed #ifdef around code sl@0: for old channel structures, placed preserve/release around statePtr sl@0: * generic/tclIO.c (CloseChannel): the statePtr for a channel was sl@0: not being freed when the last channel in a stack was freed, sl@0: causing a mem leak. sl@0: sl@0: * unix/tclUnixChan.c: updated channel types to strict sl@0: TCL_CHANNEL_VERSION_2 style to avoid compiler warnings. They work sl@0: either way, but this avoids compiler warnings (that worries people). sl@0: sl@0: 2000-10-27 Jennifer Hom sl@0: sl@0: * library/tcltest1.0/tcltest.tcl: Removed a cd into the test sl@0: directory in runAllTests that screwed up the temporary directory sl@0: setting, effectively preventing users from running tests on sl@0: multiple platforms at the same time. sl@0: sl@0: 2000-10-26 David Gravereaux sl@0: sl@0: * win/tclWinFile.c (TclpMatchFilesTypes): NULL was being set to sl@0: "attr" which was a DWORD. Changed NULL to zero because a 'void *' sl@0: can't be set to a DWORD to avoid the compiler warning. sl@0: sl@0: 2000-10-24 Jennifer Hom sl@0: sl@0: * tests/all.tcl: Removed support for tcltest 1.0. sl@0: sl@0: * tests/tcltest.test: sl@0: * library/tcltest1.0/tcltest.tcl: sl@0: * library/tcltest1.0/pkgIndex.tcl: sl@0: * docs/tcltest.n: Moved tcltest2 code so that it's the standard sl@0: version of tcltest. Removed all tcltest2 files sl@0: (tests/tcltest2.test, library/tcltest1.0/tcltest2.tcl, sl@0: docs/tcltest2.n). sl@0: sl@0: 2000-10-20 Jeff Hobbs sl@0: sl@0: * win/tclWinFile.c (TclpMatchFilesTypes): made the stat call only sl@0: occur when necessary (for 'glob' command). Significantly speeds sl@0: up glob command from 8.3. [BUG: 6216] sl@0: sl@0: 2000-10-19 Jennifer Hom sl@0: sl@0: * library/tcltest1.0/tcltest2.tcl: sl@0: * tests/tcltest2 sl@0: * doc/tcltest2.n: Code and documentation cleanup. Modified sl@0: -verbose to take list of keywords as well as string of letters. sl@0: Removed Tcl version information from tcltest. Removed sl@0: tcltest::grep from tcltest package. Added optional 3rd directory sl@0: argument to makeFile/makeDirectory and removeFile/removeDirectory. sl@0: sl@0: * tests/basic.test: Changed references to tcltest::tclVersion to sl@0: hardcoded numbers. sl@0: * generic/tcl.h: Changed reference to tcltest2.tcl and tcltest.tcl sl@0: in comments to tests/basic.test. sl@0: sl@0: 2000-10-06 David Gravereaux sl@0: sl@0: * win/tclWinChan.c: moved Win2K bug case test with GetStdHandle() sl@0: from TclpGetDefaultStdChannel into Tcl_MakeFileChannel to enable sl@0: a more general method in detecting invalid OS handles rather than sl@0: just a specific known case. [BUG: 5971] sl@0: sl@0: 2000-10-06 Jeff Hobbs sl@0: sl@0: * tests/cmdAH.test: extra tests for 'file channels' that include sl@0: multiple interpreter tests and channel sharing sl@0: * generic/tclIO.c (Tcl_GetChannelNamesEx): corrected function (and sl@0: consequently 'file channels') to return channels that are actually sl@0: registered for this specific interp, rather than this thread. sl@0: sl@0: * doc/CrtChannel.3: fixed spelling mistakes sl@0: sl@0: 2000-09-29 Jennifer Hom sl@0: sl@0: * library/tcltest1.0/tcltest2.tcl: sl@0: * tests/tcltest2.test: sl@0: * doc/tcltest2.n: Modified the new form of the test command to sl@0: accept both attribute-value pairs and command line options. sl@0: Updated the tests and the documentation for this new format. sl@0: Also changed the option names for the test command. sl@0: sl@0: 2000-09-29 Jeff Hobbs sl@0: sl@0: * win/tclWinSerial.c (SerialGetOptionProc): corrected reporting of sl@0: space parity on Windows (Eason) [Bug 6057]. sl@0: sl@0: * win/Makefile.in: commented use of TESTFLAGS sl@0: * unix/Makefile.in: added TESTFLAGS to test target to sl@0: conform with Windows makefile and TEA style. sl@0: sl@0: * tests/stack.test: prevented possible crash on systems with low sl@0: default stacksize (Tru64, AIX) in infinite recursion test. A sl@0: solution to check remaining stack space in the core is best, but sl@0: hard to do in a cross-platform manner. sl@0: sl@0: * generic/tclIOGT.c (FLUSH_DELAY): renamed DELAY define to sl@0: FLUSH_DELAY to avoid defn conflict using Tru64's cc. sl@0: sl@0: 2000-09-28 Jeff Hobbs sl@0: sl@0: * tools/tcl.wse.in: added tclPlatDecls.h and tkPlatDecls.h to the sl@0: Windows .exe install. sl@0: sl@0: * tests/fCmd.test (fCmd-6.20): corrected test to remove sl@0: c:/tcl8975@ after creating it. sl@0: sl@0: * tests/fileName.test: cleaned up the testing of glob patterns for sl@0: c:/globTest (Windows) to directly create/remove directory. sl@0: sl@0: 2000-09-27 Jeff Hobbs sl@0: sl@0: * generic/tcl.decls: sl@0: * generic/tclIO.c: updated Tcl_IsChannelShared, sl@0: Tcl_IsChannelRegistered, Tcl_CutChannel, Tcl_SpliceChannel, sl@0: Tcl_IsChannelExisting, and Tcl_ClearChannelHandlers to conform to sl@0: the new stacked channel implementation. Their stub slots were sl@0: also moved to give preference to the new 8.3.2 stub functions. sl@0: This will cause an incompatability with 8.4a1 only. sl@0: (StopCopy): fixed a bug introduced by a partial fix in 8.3.2 that sl@0: didn't set nonBlocking correctly when resetting the flags for the sl@0: write side. [Bug: 6261] sl@0: sl@0: * doc/ChnlStack.3: sl@0: * doc/CrtChannel.3: sl@0: * generic/tcl.decls: sl@0: * generic/tcl.h: sl@0: * generic/tclDecls.h: sl@0: * generic/tclIO.c: sl@0: * generic/tclIO.h: sl@0: * generic/tclIOGT.c: sl@0: * generic/tclInt.decls: sl@0: * generic/tclIntDecls.h: sl@0: * generic/tclStubInit.c: sl@0: * generic/tclTest.c: sl@0: * tests/iogt.test: sl@0: * unix/Makefile.in: sl@0: * win/Makefile.in: sl@0: * win/makefile.vc: sl@0: * win/tclConfig.sh.in: sl@0: * win/tclWinChan.c: sl@0: * win/tclWinConsole.c: sl@0: * win/tclWinPipe.c: sl@0: * win/tclWinSerial.c: sl@0: * win/tclWinSock.c: Up-port of changes made in 8.3.2 to 8.4a2 code sl@0: base. Most of these changes relate to the rewrite of the stacked sl@0: channel implementation, with a few config related fixes. sl@0: sl@0: Following is an asynchronous include of the applicable ChangeLog sl@0: entries from 8.3.2. sl@0: sl@0: ******************************************************** sl@0: ** START OF ASYNCHRONOUS UP-PORT LOG (8.3.2 -> 8.4a2) ** sl@0: ******************************************************** sl@0: sl@0: 2000-08-07 Jeff Hobbs sl@0: sl@0: * doc/ChnlStack.3: sl@0: * doc/CrtChannel.3: updated the docs to be aware of the sl@0: TCL_CHANNEL_VERSION_2 style of Tcl channels. sl@0: sl@0: * generic/tclIO.c (Tcl_CreateChannel): added assertion to verify sl@0: that the new channel versioning will be binary compatible with sl@0: older channel drivers. sl@0: sl@0: 2000-08-05 Jeff Hobbs sl@0: sl@0: * generic/tclIOGT.c (TclChannelTransform): fixed segfault that sl@0: would occur when transforming a channel with a proc that did not sl@0: yet exist. (Kupries) sl@0: sl@0: * generic/tclTest.c (TestChannelCmd): added some lint init'ing of sl@0: statePtr and chan vars. sl@0: sl@0: 2000-07-26 Jeff Hobbs sl@0: sl@0: * merged core-8-3-1-io-rewrite back into core-8-3-1-branch. sl@0: The core-8-3-1-io-rewrite branch should now be considered defunct. sl@0: sl@0: * generic/tclStubInit.c: sl@0: * generic/tclDecls.h: sl@0: * generic/tcl.decls: sl@0: * generic/tcl.h: sl@0: * generic/tclIO.c: moved the Tcl_Channel* macros from tcl.h to sl@0: tclIO.c and made them proper stubbed functions. These are: sl@0: Tcl_ChannelName, Tcl_ChannelVersion, Tcl_ChannelBlockModeProc, sl@0: Tcl_ChannelCloseProc, Tcl_ChannelClose2Proc, Tcl_ChannelInputProc, sl@0: Tcl_ChannelOutputProc, Tcl_ChannelSeekProc, Tcl_ChannelSetOptionProc, sl@0: Tcl_ChannelGetOptionProc, Tcl_ChannelWatchProc, sl@0: Tcl_ChannelGetHandleProc, Tcl_ChannelFlushProc, sl@0: and Tcl_ChannelHandlerProc. These should be used to access the sl@0: Tcl_ChannelType structure instead of direct pointer dereferencing. sl@0: sl@0: * tests/iogt.test: added RCS string, marked tests 2.* to be sl@0: unixOnly due to underlying system differences. sl@0: sl@0: 2000-07-25 Andreas Kupries sl@0: sl@0: * tests/iogt.test: (line 866f) New tests iogt-6.[01], highlighting sl@0: buffering trouble when stacking and unstacking transformations. sl@0: iogt-6.0 is solved, see the changes below. iogt-6.1 remains, for sl@0: now, due to the perceived complexity of solutions. sl@0: sl@0: * generic/tclIO.h: (line 139f) struct Channel, added a buffer sl@0: queue, to hold data pushed back when stacking a transformation. sl@0: sl@0: * generic/tclIO.c: sl@0: (line 91f, line 7434f) New internal function 'CopyBuffer'. sl@0: Derived from 'CopyAndTranslateBuffer', with translation sl@0: removed. sl@0: (line 1025f, line 1212f): Initialization of new queue. sl@0: (line 1164f, Tcl_StackChannel): Pushback of input queue. sl@0: (line 1293f, Tcl_UnstackChannel): Discard input and pushback. sl@0: (line 3748f, Tcl_ReadRaw): Modified to use data in the push back sl@0: area before going to the driver. Uses 'CopyBuffer', s.a. sl@0: (line 4702f, GetInput): Modified to use data in the push back sl@0: area before going to the driver. sl@0: (line 4867f, Tcl_Seek): Modified to take pushback of the topmost sl@0: channel in a stack into account. sl@0: (line 5620f, Tcl_InputBuffered): See above. Added sl@0: 'Tcl_ChannelBuffered'. Analogue to 'Tcl_InputBuffered' but for sl@0: the buffer area in the channel. sl@0: sl@0: * generic/tcl.decls: New public API 'Tcl_ChannelBuffered'. S.a. sl@0: sl@0: 2000-07-17 Jeff Hobbs sl@0: sl@0: * unix/Makefile.in: sl@0: * win/Makefile.in: sl@0: * win/makefile.vc: added tclIOGT.c to objects list to compile. sl@0: sl@0: * generic/tclStubInit.c: sl@0: * generic/tclIntDecls.h: sl@0: * generic/tclInt.decls: commented out internal decls for sl@0: TclTestChannelCmd and TclTestChannelEventCmd as they were moved to sl@0: tclTest.c. Added new decls for TclChannelEventScriptInvoker and sl@0: TclChannelTransform. sl@0: sl@0: * generic/tclIO.c (CloseChannel): stopped masking out of the sl@0: TCL_READABLE|TCL_WRITABLE bits from the state flags in sl@0: CloseChannel, instead adding extra intelligence to sl@0: CheckChannelErrors with a new CHANNEL_RAW_MODE bit for special sl@0: behavior when called from Raw channel APIs. sl@0: sl@0: 2000-07-13 Jeff Hobbs sl@0: sl@0: * generic/tclIO.c (StackSetBlockMode): moved set of chanPtr sl@0: outside of blockModeProc check to avoid infinite loop when sl@0: blockModeProc was NULL (Kupries). updated TransformSeekProc to sl@0: not call Tcl_Seek directly (Kupries). sl@0: sl@0: * win/tclWinChan.c: updated fileChannelType to v2 channel struct sl@0: * win/tclWinConsole.c: updated consoleChannelType to v2 channel struct sl@0: * win/tclWinPipe.c: updated pipeChannelType to v2 channel struct sl@0: * win/tclWinSerial.c: updated serialChannelType to v2 channel struct sl@0: * win/tclWinSock.c: updated tcpChannelType to v2 channel struct sl@0: sl@0: 2000-07-11 Brent Welch sl@0: sl@0: * win/tclConfig.sh.in (TCL_LIBS): Cleaned up unix-specific sl@0: autoconf variables. sl@0: sl@0: 2000-07-11 Jeff Hobbs sl@0: sl@0: * tests/iogt.test: made tests [345].0 not run by default as they sl@0: were failing in the new design, but I'm not convinced that the sl@0: returned result isn't correct. sl@0: sl@0: * generic/tclDecls.h: sl@0: * generic/tclStubInit.c: sl@0: * generic/tcl.decls: added Tcl_GetTopChannel C API that returns sl@0: the current top channel of a channel stack. Tcl_GetChannel was sl@0: changed earlier to return the bottommost channel of a stack sl@0: because that is the one that is guaranteed to stay around the sl@0: longest, and this was needed to compensate for certain sl@0: operations that want to look at the state of the main channel. sl@0: Most channel APIs already compensate for grabbing the top, so it sl@0: shouldn't be needed often. sl@0: sl@0: * generic/tclIO.c (Tcl_StackChannel, Tcl_UnstackChannel): Added sl@0: flushing of buffers (Kupries), removed use of DownChannel macro, sl@0: added Tcl_GetTopChannel public API to get to the top channel of sl@0: the channel stack (necessary for TLS). Rewrote Tcl_NotifyChannel sl@0: for new channel design (Kupries). Did some code cleanup in the sl@0: transform code. tclIO.c must still be broken into bits (separate sl@0: out test code and giot code, create tclIO.h). sl@0: sl@0: 2000-07-10 Andreas Kupries sl@0: sl@0: * tests/iogt.test: Reverted some earlier changes as a fix by Jeff sl@0: revived the original and correct behaviour. IOW, the tests showed sl@0: a genuine error and I didn't see it :(. sl@0: sl@0: * generic/tclIO.c (Tcl_Read|Write_Raw): Changed to directly use sl@0: the drivers and not DoRead|DoWrite. The latter use the buffering sl@0: system, encoding and eol-translation and this wreaks havoc with sl@0: the data going through the transformations. Both procedures use sl@0: CheckForchannelErrors and let it believe that there is no sl@0: background copy in progress or else stacked channels could not sl@0: be used for that. sl@0: sl@0: * generic/tclIO.c (TclCopyChannel, CopyData): Moved access to the sl@0: topmost channel from the first to the second procedure to make sl@0: the decision about that at the last possible time (Callbacks can sl@0: change the stacking). sl@0: sl@0: test suite: failures of iogt-[345].0 sl@0: sl@0: 2000-07-06 Jeff Hobbs sl@0: sl@0: * tests/iogt.test: new tests for stacked channel stuff based off sl@0: new 'testchannel transform|unstack' code (Kupries IOGT extension). sl@0: * generic/tcl.decls: sl@0: * generic/tcl.h: sl@0: * generic/tclDecls.h: sl@0: * generic/tclStubsInit.c: sl@0: * generic/tclIO.c: complete rewrite of Tcl Channel code for sl@0: stacked channels. Channels are now designed to work in a more sl@0: stacked fashion with a shared ChannelState data structure. sl@0: sl@0: 2000-06-02 Jeff Hobbs sl@0: sl@0: * generic/tclIO.c (CloseChannel): removed the &ing out of sl@0: (TCL_READABLE|TCL_WRITABLE) from the flags, as CloseChannel does sl@0: this on the next pass through for the top channel, and it appeared sl@0: to be causing hangs by not allowing the final flush. sl@0: sl@0: 2000-06-01 Jeff Hobbs sl@0: sl@0: * generic/tclIO.c (CloseChannel): Rewrote CloseChannel code to sl@0: unstack a channel during the close process. Fixed a refcount bug sl@0: in Tcl_UnstackChannel. [Bug: 5623] sl@0: (CloseChannel): further extended CloseChannel in the stacked case sl@0: to effect certain operations on the next channel that would have sl@0: been done in Tcl_Close. Also added CHANNEL_CLOSED and removed sl@0: (TCL_READABLE|TCL_WRITABLE) bits from chanPtr->flags. Changed sl@0: final reset of the WatchProc to check the chanDownPtr's (next) sl@0: interestMask. sl@0: sl@0: ****************************************************** sl@0: ** END OF ASYNCHRONOUS UP-PORT LOG (8.3.2 -> 8.4a2) ** sl@0: ****************************************************** sl@0: sl@0: 2000-09-20 Jeff Hobbs sl@0: sl@0: * tests/socket.test: removed doTestsWithRemoteServer constraint sl@0: from socket-12.*. It requires 'exec', not a remote server. sl@0: Cleaned up some coding errors. sl@0: sl@0: 2000-09-20 Jennifer Hom sl@0: sl@0: * library/tcltest1.0/pkgIndex.tcl: Updated to load tcltest 2.0. sl@0: * library/tcltest1.0/tcltest2.tcl: New version of tcltest. sl@0: Cleanup of command line parsing: allows users to specify command sl@0: line arguments through an environment variable named sl@0: TCLTEST_OPTIONS [RFE: 3748], does not respond to incorrect sl@0: arguments, and forces usage of entire flag name when using command sl@0: line arguments. Defines accessor procs for all tcltest sl@0: variables. Allows users to use 'return' in test scripts. Allow sl@0: users to specify whether test files should be sourced or run in a sl@0: separate process. 'all.tcl' code moved to tcltest package. sl@0: 'test' proc modified to use attribute-value pairs. Allow users to sl@0: specify what return codes, output, and errors can be compared and sl@0: whether these values should be compared using regexp, glob, or sl@0: exact matching. makeDirectory & removeDirectory now operate with sl@0: respect to temporaryDirectory [Bug: 6001]. Test results from sl@0: tests run in slave interpreters are now included in test totals sl@0: [Bug: 1493]. Test files that return error values are now reported. sl@0: sl@0: * tests/all.tcl: Added code to check for the tcltest version sl@0: loaded; modified to figure out which tests to run based on the sl@0: tcltest version loaded. sl@0: * tests/tcltest.test: Modified to explicitly load version 1.0 of sl@0: tcltest. sl@0: * tests/tcltest2.test: New test suite for tcltest; includes all of sl@0: the old tests plus new ones reflecting changes made for version sl@0: 2.0. sl@0: * tests/cmdAH.test: Added singleTestInterp constraint to sl@0: cmdAH-31.2; this test does not run if tests aren't sourced into a sl@0: single interpreter. sl@0: * tests/socket.test: Fixed two tests that were referencing sl@0: variables outside of scope. sl@0: sl@0: * tools/tcl.wse.in: Added code to install tcltest2.tcl. sl@0: sl@0: * doc/tcltest2.n: New documentation for tcltest version 2.0. sl@0: Removes documentation for tcltest namespace variables. Adds sl@0: documentation for new tcltest procs. sl@0: sl@0: * unix/mkLinks: Added code to link to tcltest2.n. sl@0: sl@0: * generic/tcl.h: Added comment to modify tcltest2.tcl as well as sl@0: tcltest.tcl for version changes. sl@0: sl@0: 2000-09-19 Eric Melski sl@0: sl@0: * generic/tclCmdMZ.c (Tcl_RegexpObjCmd): When using -all, all sl@0: attempts after the first to match the regexp against the string sl@0: should include the TCL_REG_NOTBOL flag, to avoid erroneously sl@0: matching ^ in the middle of the string. Added code to set this sl@0: flag after the first pass through the matching loop. [Bug: 6284]. sl@0: sl@0: 2000-09-19 David Gravereaux sl@0: sl@0: * doc/Eval.3: Added a note about the script argument to Tcl_Eval() sl@0: should be in UTF-8 or risk implied conversion errors when possible sl@0: combinations of upper ascii can be valid UTF-8 special codes. sl@0: sl@0: 2000-09-17 Eric Melski sl@0: sl@0: * tests/cmdIL.test: Added a test for fix for [Bug: 6212]. sl@0: sl@0: * generic/tclCmdIL.c (Tcl_LsortObjCmd): Applied patch from [Bug: sl@0: 6212], which corrected an error in the handling of the -index option. sl@0: sl@0: 2000-09-14 Eric Melski sl@0: sl@0: * doc/Alloc.3: Added entries for Tcl_AttemptAlloc, Tcl_AttempRealloc. sl@0: sl@0: * doc/StringObj.3: Added entry for Tcl_AttemptSetObjLength. sl@0: sl@0: * generic/tclDecls.h: sl@0: * generic/tclStubInit.c: Regen'ed stubs files from new tcl.decls. sl@0: sl@0: * generic/tcl.decls: Added stubs for the Tcl_Attempt* memory sl@0: allocators and for Tcl_AttemptSetObjLength. sl@0: sl@0: * generic/tcl.h: Added #define's for attemptckalloc, sl@0: attemptckrealloc, which map to the Tcl_Attempt* memory allocators. sl@0: sl@0: * generic/tclCkalloc.c: Added non-panic'ing versions of Tcl_Alloc, sl@0: Tcl_Realloc, etc.; these are called Tcl_AttemptAlloc, sl@0: Tcl_AttemptRealloc, etc. These are used by sl@0: Tcl_AttemptSetObjLength and the string obj append functions. sl@0: sl@0: * generic/tclStringObj.c: Modified string growth algorithm to use sl@0: doubling algorithm as long as possible, and only fall back when sl@0: that fails. Added Tcl_AttemptSetObjLength, and modified sl@0: AppendUnicodeToUnicodeRep, AppendUtfToUtfRep, and sl@0: Tcl_AppendStringsToObjVA to support this. sl@0: sl@0: 2000-09-07 David Gravereaux sl@0: sl@0: * win/.cvsignore: changed the glob patterns a bit to exclude VC++ sl@0: project conversion backups. sl@0: sl@0: * win/tclWinPipe.c: Stage-1 bug fix for TR#2460 "exec leaks memory". sl@0: Added more logic around the close-down of the pipe reader thread so sl@0: as to avoid, at all cost, a TerminateThread. Most cases with exec sl@0: are fixed, but I don't consider 2460 done yet. Closing down the sl@0: read side of a pipe before the child process, doesn't really fit sl@0: the windows model. [BUG: 2460] sl@0: sl@0: 2000-09-07 Jeff Hobbs sl@0: sl@0: * doc/trace.n: minor doc cleanup sl@0: sl@0: 2000-09-06 André Pönitz sl@0: sl@0: * doc/*.n: added or changed "SEE ALSO:" section sl@0: sl@0: 2000-09-06 Jeff Hobbs sl@0: sl@0: * win/tclWinLoad.c (TclpLoadFile): added special message for sl@0: ERROR_PROC_NOT_FOUND exception in loading a dll. sl@0: * win/tclWinError.c: changed ERROR_PROC_NOT_FOUND to map from sl@0: ESRCH (POSIX: no such process) to EINVAL because there is no good sl@0: mapping for "procedure not found". sl@0: sl@0: * README: sl@0: * generic/tcl.h: sl@0: * library/tcltest1.0/tcltest.tcl: sl@0: * tools/tcl.wse.in: sl@0: * tools/tcltk-man2html.tcl: sl@0: * unix/configure.in: sl@0: * unix/tcl.spec: sl@0: * win/README.binary: sl@0: * win/configure.in: updated patchlevel to 8.4a2 sl@0: sl@0: * unix/tclUnixPipe.c (TclpCreateProcess): Removed WNOHANG from sl@0: Tcl_WaitPid call in error case of process creation on Unix, as it sl@0: would lead to defunct processes. [Bug: 6148] sl@0: sl@0: * tests/string.test: extended string repeat tests sl@0: * generic/tclCmdMZ.c (Tcl_StringObjCmd): changed STR_REPEAT to sl@0: preallocate the full space of the final string, avoided repeated sl@0: appends. sl@0: sl@0: * doc/source.n: sl@0: * doc/Eval.3: added extra note about how to safe use ^Z in code, sl@0: as it is now a cross-platform (was just Windows) EOF char. sl@0: sl@0: 2000-09-05 Jeff Hobbs sl@0: sl@0: * generic/tclHash.c: fixed pedantic warning of incorrectly placed sl@0: #endif sl@0: sl@0: * generic/tclExecute.c (TclExecuteByteCode): INST_STR_INDEX fixed sl@0: pedantic cast warning. sl@0: Corrected support for building with -DTCL_COMPILE_STATS. sl@0: Added efficiency check of object equality. sl@0: sl@0: 2000-08-29 Eric Melski sl@0: sl@0: * generic/tclStringObj.c: Applied patch from Gerhard Hintermayer sl@0: to provide a more conservative string growth algorithm for strings sl@0: larger than one megabyte; this allows more efficient use of memory sl@0: for very large strings. sl@0: sl@0: 2000-08-25 Eric Melski sl@0: sl@0: * tests/trace.test: Extended array tracing tests. sl@0: sl@0: * doc/trace.n: Clarified information about when array traces will sl@0: be fired. sl@0: sl@0: * generic/tclVar.c (Tcl_ArrayObjCmd): Corrected call to CallTraces sl@0: (for TCL_TRACE_ARRAY) to only be called when the variable is sl@0: either an array or is undefined, to ensure that array traces do sl@0: not fire for scalar variables. sl@0: sl@0: 2000-08-24 Eric Melski sl@0: sl@0: * doc/man.macros: Tweaked tab settings for .SO (Standard Options) sl@0: sections, based on suggestion from Peter Spjuth. sl@0: sl@0: 2000-08-24 Mo DeJong sl@0: sl@0: * unix/README: Update to account for removal of --enable-gcc. sl@0: * unix/configure.in: sl@0: * unix/tcl.m4 (SC_ENABLE_GCC): Remove --enable-gcc option. sl@0: * win/README: Add note about building with Cygwin. sl@0: * win/configure.in: sl@0: * win/tcl.m4 (SC_ENABLE_GCC): Remove --enable-gcc option. sl@0: Remove quick hack that provided cross compile support for sl@0: windows builds. sl@0: sl@0: 2000-08-24 Eric Melski sl@0: sl@0: Overall change: Added support for command rename/delete traces sl@0: and new trace syntax, from patch from Vince Darley. Added support sl@0: for array traces for variables. [RFE: 5048, 5967]. sl@0: sl@0: * doc/trace.n: Updated documentation for new syntax; flagged old sl@0: syntax as deprecated; added documentation for command sl@0: rename/delete traces and variable array traces. sl@0: sl@0: * tests/trace.test: Updated tests for new trace syntax; new tests sl@0: for command rename/delete traces; new tests for array traces. sl@0: sl@0: * generic/tclVar.c: Support for new trace syntax; support for sl@0: TCL_TRACE_ARRAY. sl@0: sl@0: * generic/tclStubInit.c: sl@0: * generic/tclDecls.h: sl@0: * generic/tcl.decls: Stub functions for command rename/delete traces. sl@0: sl@0: * generic/tcl.h: sl@0: * generic/tclInt.h: sl@0: * generic/tclBasic.c: Support for command traces. sl@0: sl@0: * generic/tclCmdMZ.c (TclTraceVariableObjCmd): Patched to support sl@0: new [trace] syntax: sl@0: trace {add|remove|list} {variable|command} name ops command sl@0: Added support for command traces (rename, delete operations). sl@0: Added support for TCL_TRACE_ARRAY at Tcl level (array operation sl@0: for variable traces). sl@0: sl@0: 2000-08-20 Eric Melski sl@0: sl@0: * generic/tclVar.c: Added check for non-arrays for [array statistics] sl@0: command (patch from Mark Patton). sl@0: sl@0: 2000-08-19 David Gravereaux sl@0: sl@0: * generic/tclPlatDecls.h: without a previous '#include ', sl@0: tclPlatDecls.h can't be parsed due to a missing definition of TCHAR. sl@0: Added a check to include it when not defined. sl@0: sl@0: ***POSSIBLE OBSCURE BUG*** could be caused when the compile flags sl@0: for the core happen to be different than a project who uses these sl@0: publics regarding -D_MBCS and -D_UNICODE. This added check might sl@0: have to be revisited later with a better understanding of the sl@0: reprocusions. I think TCHAR should be replaced with it's expansion. sl@0: sl@0: 2000-08-18 David Gravereaux sl@0: sl@0: * win/.cvsignore (added): provides a cleaner build environment with sl@0: graphical CVS clients. sl@0: sl@0: 2000-08-15 Eric Melski sl@0: sl@0: * library/tcltest1.0/tcltest.tcl: Set debug level in sl@0: tcltest::restoreState to 2, for consistancy with the debug level sl@0: in tcltest::saveState [Bug: 4505]. sl@0: sl@0: 2000-08-14 Eric Melski sl@0: sl@0: * win/makefile.vc: sl@0: * win/Makefile.in: sl@0: * unix/Makefile.in: Added tclPlatDecls.h to the list of installed sl@0: headers, for more complete stubs support. [Bug: 5241]. sl@0: sl@0: * generic/tcl.h: Added #include "tclPlatDecls.h" to get sl@0: platform-specific stubs declarations (Tcl_WinTCharToUtf, etc) sl@0: [Bug: 5241]. sl@0: sl@0: * README: Updated link for instructions on compiling Tcl from sl@0: sources to point to correct location sl@0: (http://dev.scriptics.com/doc/... instead of sl@0: http://dev.scriptics.com/support/...). sl@0: sl@0: 2000-08-11 Eric Melski sl@0: sl@0: * generic/tclEnv.c (TclUnsetEnv): Changed declaration of length sl@0: variable from "unsigned int" to "int", to match usage when passed sl@0: to TclpFindVariable [Bug: 6126]. sl@0: sl@0: 2000-08-10 Eric Melski sl@0: sl@0: * library/msgcat1.0/pkgIndex.tcl: Bumped version number to 1.2 sl@0: [Bug: 6100]. sl@0: sl@0: * library/msgcat1.0/msgcat.tcl: Removed erroneous [package forget] sl@0: in msgcat namespace initializer. Bumped version number to 1.2 sl@0: [Bug: 6100]. sl@0: sl@0: 2000-08-10 David Gravereaux sl@0: sl@0: * generic/tclObj.c: r1.15 accidentally changed a global mutex sl@0: name tclObjMutex to ObjMutex. Put the correct name back. sl@0: sl@0: 2000-08-07 Eric Melski sl@0: sl@0: * tests/indexObj.test: Added tests using the [testwrongnumargs] sl@0: command to test Tcl_WrongNumArgs. sl@0: sl@0: * generic/tclTest.c (TestWrongNumArgsObjCmd): Added test function sl@0: for the Tcl_WrongNumArgs function. sl@0: sl@0: * generic/tclIndexObj.c (Tcl_WrongNumArgs): Corrected algorithm to sl@0: not insert a space before the message component when objc == 0 sl@0: [Bug: 6078]. sl@0: sl@0: 2000-07-27 Mo DeJong sl@0: sl@0: * win/configure.in: TCL_STUB_LIB_FLAG should not sl@0: include ${TCL_DBGX} in win/tclConfig.sh, fix that. sl@0: sl@0: 2000-07-25 David Gravereaux sl@0: sl@0: * doc/Async.3: sl@0: * generic/tclAsync.c: sl@0: * generic/tclInt.decls: sl@0: * generic/tclIntPlatDecls.h: sl@0: * generic/tclStubInit.c: sl@0: * generic/tclTest.c: sl@0: * mac/tclMacPort.h: sl@0: * unix/tclUnixPort.h: sl@0: * win/tclWinInit.c: Thread-safe rewrite for tclAsync.c. Added sl@0: notifier alerting on all platforms as it was only working on Win sl@0: before. Removed older Win hacks that would end-up waking the sl@0: wrong notifier in the presence of a threaded build. All tests sl@0: pass as before. New test cases will be added soon for the new sl@0: behavior. [BUG: 5791] sl@0: sl@0: 2000-07-25 Eric Melski sl@0: sl@0: * generic/tclVar.c (CallTraces): Added check for VAR_TRACE_ACTIVE sl@0: on the array containing the variable before executing traces on sl@0: that array, to conform with normal variable traces and the sl@0: documentation, which states that while executing a trace, other sl@0: traces on that variable are disabled. [Bug: 6049]. sl@0: sl@0: * win/tclWinPipe.c (BuildCommandLine): Added Tcl_DStringFree call sl@0: to prevent potential memory leaks [Bug: 6041]. sl@0: sl@0: 2000-07-24 Eric Melski sl@0: sl@0: * doc/msgcat.n: Added documentation about the selection of the sl@0: default locale on Windows. sl@0: sl@0: 2000-07-23 Joe English sl@0: * doc/AddErrInfo.3: sl@0: * doc/ChnlStack.3: sl@0: * doc/Exit.3: sl@0: * doc/GetIndex.3: sl@0: * doc/Notifier.3: sl@0: * doc/Object.3: sl@0: * doc/RegExp.3: sl@0: * doc/SetResult.3: sl@0: * doc/SplitList.3: sl@0: * doc/Thread.3: Added missing entries to NAME section. sl@0: sl@0: * doc/AddErrInfo.3: sl@0: * doc/CrtObjCmd.3: sl@0: * doc/RecEvalObj.3: Changed Tcl_EvalObj to Tcl_EvalObjEx sl@0: sl@0: 2000-07-21 Eric Melski sl@0: sl@0: * generic/tclStubInit.c: sl@0: * generic/tclObj.c: sl@0: * generic/tclInt.h: sl@0: * generic/tclHash.c: sl@0: * generic/tclDecls.h: sl@0: * generic/tcl.h: sl@0: * generic/tcl.decls: sl@0: * doc/Hash.3: Reapplied patch from Paul Duffin to extend hash tables sl@0: to allow custom key types, such as Tcl_Obj *'s, and others. sl@0: sl@0: * doc/binary.n: Noted that the example in the introduction assumes a sl@0: 32-bit system [Bug: 6035]. sl@0: sl@0: 2000-07-21 Mo DeJong sl@0: sl@0: * win/configure.in: Define ${prefix} and ${exec_prefix} like sl@0: unix/configure.in. Fix or add TCL_SRC_DIR, TCL_STUB_LIB_FILE, sl@0: TCL_STUB_LIB_FLAG, TCL_BUILD_STUB_LIB_SPEC, TCL_STUB_LIB_SPEC, sl@0: TCL_BUILD_STUB_LIB_PATH, TCL_STUB_LIB_PATH. sl@0: sl@0: 2000-07-20 Eric Melski sl@0: sl@0: * generic/tclStubInit.c: sl@0: * generic/tclObj.c: sl@0: * generic/tclInt.h: sl@0: * generic/tclHash.c: sl@0: * generic/tclDecls.h: sl@0: * generic/tcl.h: sl@0: * generic/tcl.decls: sl@0: * doc/Hash.3: Reverted patch from Paul Duffin to extend hash tables sl@0: to allow custom key types, such as Tcl_Obj *'s, and others; it sl@0: seems to break Tk. sl@0: sl@0: 2000-07-19 Eric Melski sl@0: sl@0: * generic/tclStubInit.c: sl@0: * generic/tclObj.c: sl@0: * generic/tclInt.h: sl@0: * generic/tclHash.c: sl@0: * generic/tclDecls.h: sl@0: * generic/tcl.h: sl@0: * generic/tcl.decls: sl@0: * doc/Hash.3: Applied patch from Paul Duffin to extend hash tables sl@0: to allow custom key types, such as Tcl_Obj *'s, and others. sl@0: sl@0: * tests/pkgMkIndex.test: Added tests for pkg_compareExtension. sl@0: sl@0: * library/package.tcl: Enhanced pkg_compareExtension to handle sl@0: Unixes which tack the version number on to the end of library sl@0: names (eg, foo.so.1.2); such filenames will be correctly matched. sl@0: (Patch from Vince Darley). sl@0: sl@0: * win/makefile.vc: Applied patch from Don Porter to provide better sl@0: nmake support for NT/Alpha [RFE: 5938]. sl@0: sl@0: 2000-07-18 Mo DeJong sl@0: sl@0: * unix/configure.in: sl@0: * unix/tcl.m4: sl@0: * win/tcl.m4: Properly quote arguments to m4 macros. This allows sl@0: Tcl to work with the new version of autoconf. sl@0: sl@0: 2000-07-18 Eric Melski sl@0: sl@0: * tests/opt.test: Removed references to Lfirst, Lrest functions. sl@0: sl@0: * library/opt0.4/optparse.tcl: Applied patch from Chris Nelson, sl@0: which replaces the [Lfirst] function with an inline [lindex ... 0] sl@0: and [Lrest] with [lrange ... 1 end], for better performance. sl@0: [RFE: 6019] sl@0: sl@0: sl@0: 2000-07-18 Eric Melski sl@0: sl@0: * compat/string.h: Fixed function prototypes for strpbrk and sl@0: strtok [Bug: 6020]. sl@0: sl@0: 2000-07-17 David Gravereaux sl@0: sl@0: * win/tclWinChan.c: Win2K OS bug with sl@0: GetStdHandle(STD_OUTPUT_HANDLE) giving the wrong answer. This sl@0: made TclpGetDefaultStdChannel grab what it thought was a valid sl@0: native stdout handle. Added a new WriteFile() test to make sure sl@0: it's really valid. This OS bug doesn't affect the shells. Only sl@0: -subsystem:windows (aka WinMain) application that dynamically sl@0: load tclXX.dll [BUG: 5971] sl@0: sl@0: 2000-07-17 Eric Melski sl@0: sl@0: * library/msgcat1.0/msgcat.tcl: sl@0: * doc/msgcat.n: sl@0: * tests/msgcat.test: Applied patches from Chris Nelson, to provide sl@0: the mcmset function, which allows the translator to set multiple sl@0: string translations in a single function call, rather than sl@0: requiring many calls to mcset. [RFE: 6000, 5993]. In addition, sl@0: these patches correct mcload to use utf-8 encoding on when reading sl@0: message catalog files, and provides for better default behavior sl@0: for determining the locale on a Windows system. sl@0: sl@0: 2000-07-17 Mo DeJong sl@0: sl@0: * unix/tcl.m4 (SC_ENABLE_GCC): Don't set CC=gcc sl@0: before running AC_PROG_CC if CC is already set. sl@0: sl@0: 2000-07-13 André Pönitz sl@0: sl@0: * doc/lappend.n: sl@0: * doc/lindex.n: sl@0: * doc/linsert.n: sl@0: * doc/list.n: sl@0: * doc/llength.n: sl@0: * doc/lrange.n: sl@0: * doc/lreplace.n: sl@0: * doc/lsearch.n: sl@0: * doc/lsort.n: Added SEE ALSO sections. sl@0: sl@0: 2000-07-07 Mo DeJong sl@0: sl@0: * win/configure.in: Fix definition of sl@0: TCL_SRC_DIR so that it matches the Unix version. sl@0: * win/tclConfig.sh.in: Removed duplicate variables. sl@0: sl@0: 2000-07-06 Eric Melski sl@0: sl@0: * tests/msgcat.test: sl@0: * library/msgcat1.0/msgcat.tcl: Applied patch from Christian sl@0: Krone, to provide extended args support for msgcat::unknown, which sl@0: is used for strings without a known translation in the current sl@0: locale [Bug: 5984]. sl@0: sl@0: 2000-06-29 Eric Melski sl@0: sl@0: * doc/msgcat.n: Doc's for mcmax function. sl@0: sl@0: * library/msgcat1.0/msgcat.tcl: Applied patches from Laurent sl@0: Duperval, to add mcmax function, which computes the length of the sl@0: longest of several translated strings. Bumped version number to 1.1. sl@0: sl@0: 2000-06-27 Eric Melski sl@0: sl@0: * tests/stringObj.test: Tweaked tests to avoid hardcoded sl@0: high-ASCII characters (which will fail in multibyte locales); sl@0: instead used \uXXXX syntax. [Bug: 3842]. sl@0: sl@0: 2000-06-26 Eric Melski sl@0: sl@0: * doc/package.n: Corrected information about [package forget] sl@0: arguments [Bug: 5418]. sl@0: sl@0: 2000-06-23 Eric Melski sl@0: sl@0: * doc/Hash.3: Added documentation patch for Tcl_Obj *'s as keys in sl@0: Tcl hash tables [RFE: 5934]. sl@0: sl@0: * generic/tcl.h: sl@0: * generic/tclHash.c: Applied patch from [RFE: 5934], which extends sl@0: Tcl hash tables to allow Tcl_Obj *'s as the key. sl@0: sl@0: 2000-06-20 Eric Melski sl@0: sl@0: * tests/opt.test: sl@0: * library/opt0.4/optparse.tcl: Applied patch from [Bug: 5922], which sl@0: corrected an incorrect use of [string match]. sl@0: sl@0: * unix/tclConfig.sh.in: sl@0: * win/tclConfig.sh.in: Applied patch from [Bug: 5921], which corrects a sl@0: typo in the comments in these files. sl@0: sl@0: 2000-06-19 Eric Melski sl@0: sl@0: * doc/RegExp.3: Replaced instances of "Tcl_GetRegExpInfo" with sl@0: "Tcl_RegExpGetInfo", the correct name of the function [Bug: 5901]. sl@0: sl@0: 2000-06-13 Eric Melski sl@0: sl@0: * win/tcl.m4: sl@0: * win/configure.in: sl@0: * win/Makefile.in: Applied patch from [RFE: 5844], to extend sl@0: support for mingw compile environment on Windows. sl@0: sl@0: * win/tclWinDde.c: sl@0: * win/tclWinInit.c: sl@0: * win/tclWinNotify.c: sl@0: * win/tclWinPipe.c: sl@0: * win/tclWinReg.c: sl@0: * win/tclWinThrd.c: Applied patch from [Bug: 5794], to fix sl@0: compiler warnings when using mingw on Windows. sl@0: sl@0: 2000-05-31 Jeff Hobbs sl@0: sl@0: * tests/set-old.test: sl@0: * doc/unset.n: sl@0: * generic/tclVar.c (Tcl_UnsetObjCmd): added -nocomplain and -- sl@0: options to unset, to allow for a silent unset operation. sl@0: sl@0: 2000-05-31 Eric Melski sl@0: sl@0: * generic/tclVar.c (Tcl_ArrayObjCmd): Added support for regexp and sl@0: exact matching for [array names] command. [RFE: 3684]. sl@0: sl@0: * doc/array.n: Added documentation for [array names sl@0: -exact/-regexp/-glob] [RFE: 3684]. sl@0: sl@0: * tests/set-old.test: Added tests for [array names sl@0: -exact/-regexp/-glob] [RFE: 3684]. sl@0: sl@0: 2000-06-06 Jeff Hobbs sl@0: sl@0: 8.4a1 RELEASE sl@0: sl@0: * generic/tclExecute.c (TclExecuteByteCode INST_STR_CMP): added sl@0: test of iResult return from memcmp, as memcmp isn't required to sl@0: return only -1,0,1. sl@0: sl@0: 2000-06-03 Jeff Hobbs sl@0: sl@0: * generic/tclIndexObj.c (Tcl_GetIndexFromObjStruct): Corrected sl@0: caching of the index ptr to account for offsets != sizeof(char *). sl@0: [Bug: 5153] sl@0: sl@0: 2000-05-29 Sandeep Tamhankar sl@0: sl@0: * tests/http.test sl@0: * doc/http.n sl@0: * library/http2.3/http.tcl: Fixed bug 5741, where unsuccessful sl@0: geturl calls sometimes leaked memory and resources (sockets). sl@0: Also, switched around some of the logic so that http::wait never sl@0: throws an exception. This is because in an asynchronous geturl, sl@0: the command callback will probably end up doing all the error sl@0: handling anyway, and in an asynchronous situation, the user sl@0: expects to check the state when the transaction completes, as sl@0: opposed to being thrown an exception. For the http package, this sl@0: menas the user can check http::status for "error" and http::error sl@0: for the error message after doing the http::wait. sl@0: sl@0: 2000-05-27 Jeff Hobbs sl@0: sl@0: * tests/info.test: sl@0: * doc/info.n: sl@0: * generic/tclIOUtil.c (Tcl_EvalFile): sl@0: * generic/tclCmdIL.c (InfoScriptCmd): added ability to set the sl@0: info script return value [info script ?newFileName?]. This will sl@0: be beneficial for virtual file system programs. [Bug: 4225] sl@0: sl@0: 2000-05-26 Jeff Hobbs sl@0: sl@0: * generic/tclCmdMZ.c (Tcl_RegsubObjCmd): reworked to operate in sl@0: Unicode, tweaked for performance. sl@0: (Tcl_StringObjCmd) changed STR_FIRST/STR_LAST error message to sl@0: something more understandable, reworked STR_FIRST, STR_LAST, sl@0: STR_MAP, STR_MATCH, STR_RANGE, STR_REPLACE to operate in Unicode. sl@0: Removed inneffectual STR_RANGE "special" ByteArray support. sl@0: Optimized STR_MAP algorithm, especially optimized for one-pair case. sl@0: Fixed possible mem overrun in STR_INDEX bytearray case. sl@0: sl@0: * generic/tclCompExpr.c: changed INST_STREQ -> INST_STR_EQ, sl@0: INST_STRNEQ -> INST_STR_NEQ sl@0: * generic/tclCompile.c: added streq, strneq, strcmp, strlen & sl@0: strmatch to the compiled stats instructionTable sl@0: * generic/tclCompile.h: added instructions INST_STR_CMP, sl@0: INST_STR_INDEX, INST_STR_MATCH sl@0: * generic/tclCompCmds.c: added byte compiler support for sl@0: [string compare|match|index]. sl@0: * generic/tclExecute.c: sl@0: Changed INST_STR_(N)EQ to return an Int object and not bother sl@0: trying to reuse the top stack object. sl@0: Added INST_STR_CMP, INST_STR_INDEX, INST_STR_MATCH bytecode ops. sl@0: Extended evalstats output info with Tcl_IsShared stat info. sl@0: sl@0: * generic/tclInt.h: sl@0: * generic/tclObj.c (Tcl_DbIsShared): added support for checking sl@0: result of Tcl_IsShared in evalstats (TCL_COMPILE_STATS). sl@0: sl@0: * generic/tclStringObj.c (Tcl_AppendUnicodeToObj): removed dead code. sl@0: (AppendUnicodeToUnicodeRep) removed overallocation by extra sl@0: sizeof(Tcl_UniChar) multiplier. sl@0: sl@0: * tests/string.test: added string map tests for the one-pair case, sl@0: corrected tests to reflect improved error messages in first/last. sl@0: Added tests against mem overrun in string index bytearray case. sl@0: sl@0: 2000-05-23 Eric Melski sl@0: sl@0: * generic/tclInt.h: Added function prototypes for sl@0: TclCompileStringCmd and TclCompileReturnCmd. sl@0: sl@0: * generic/tclCompile.h: Added definition of INST_STRLEN opcode and sl@0: updated LAST_INST_OPCODE value. sl@0: sl@0: * generic/tclBasic.c: Added information about TclCompileStringCmd sl@0: and TclCompileReturnCmd to BuiltInCmds table. sl@0: sl@0: * generic/tclExecute.c (TclExecuteByteCode): Added support for the sl@0: INST_STRLEN opcode. sl@0: sl@0: * generic/tclCompCmds.c sl@0: (TclCompileStringCmd): Basic implementation of byte-compiled sl@0: [string] command. Not all subcommands are implemented; those sl@0: that are not an out-line compiled. sl@0: sl@0: (TclCompileReturnCmd): Byte-compiled implementation of [return] sl@0: command. Only "simple" returns are byte-compiled; in particular, sl@0: if the -code, -errorinfo or -errorcode flags are used, the command sl@0: is not byte-compiled. sl@0: sl@0: 2000-05-22 Jeff Hobbs sl@0: sl@0: * doc/scan.n: sl@0: * doc/array.n: minor doc fixes [Bug: 5396] sl@0: sl@0: * generic/tclEnv.c: cast cleanup [Bug: 5624] sl@0: * win/tclWinConsole.c: cast and header cleanup [Bug: 5625] sl@0: * win/tclWinSerial.c: cast cleanup [Bug: 5626] sl@0: * win/tclWinFCmd.c: cast cleanup [Bug: 5627] sl@0: sl@0: 2000-05-19 Jeff Hobbs sl@0: sl@0: * generic/tclTest.c: sl@0: * generic/tclIO.c: moved channel test commands from tclIO.c to sl@0: tclTest.c. sl@0: * generic/tclIO.h: new file, split out from tclIO.c to allow test sl@0: commands to be moved to tclTest.c. sl@0: sl@0: * generic/tclStubInit.c: sl@0: * generic/tclIntDecls.h: sl@0: * generic/tclInt.decls: removed TclTestChannel*Cmd from internal sl@0: stubs table and added TclChannelEventScriptInvoker to the internal sl@0: stubs table so it can be used from the test code. sl@0: sl@0: 2000-05-18 Eric Melski sl@0: sl@0: * tests/clock.test: Added test for "2 days 2 hours ago" style sl@0: specifications. sl@0: sl@0: * generic/tclDate.c: Regenerated from tclGetDate.y. sl@0: sl@0: * generic/tclGetDate.y: Tweaked grammar to properly handle the sl@0: "ago" keyword when it follows multiple relative unit specifiers, sl@0: as in "2 days 2 hours ago". [Bug: 5497]. sl@0: sl@0: 2000-05-18 Jeff Hobbs sl@0: sl@0: * win/{tcl.m4,Makefile.in,configure.in}: added support for mingw sl@0: compile env and cross-compiling. [Bug: 5499] sl@0: sl@0: * generic/tclClock.c (FormatClock): correct code to handle locale sl@0: specific return values from strftime, if any. [Bug: 3345] sl@0: sl@0: * unix/tclUnixInit.c (TclpSetInitialEncodings): attempt to sl@0: correct setlocale calls for XIM support and locale issues. sl@0: [BUG: 5422 3345 4236 2522 2521] sl@0: sl@0: 2000-05-17 Jeff Hobbs sl@0: sl@0: * library/init.tcl (auto_import): added check to see if a valid sl@0: pattern was coming in, to avoid simple error cases [Bug: 3326] sl@0: sl@0: * doc/regsub.n: correct regsub docs [Bug: 5346] sl@0: sl@0: 2000-05-15 Eric Melski sl@0: sl@0: * library/history.tcl: Corrected an off-by-one error in HistIndex, sl@0: which was causing [history redo] to start its search at the wrong sl@0: event index. [Bug: 1269]. sl@0: sl@0: 2000-05-10 Jeff Hobbs sl@0: sl@0: * generic/tclPosixStr.c (Tcl_SignalMsg): clarified #defines for sl@0: Linux on Sparc to compile correctly. [Bug: 5364] sl@0: sl@0: * doc/namespace.n: sl@0: * tests/namespace.test: sl@0: * generic/tclNamesp.c (Tcl_NamespaceObjCmd): added 'namespace sl@0: exists' command. [Bug: 4665] sl@0: sl@0: * doc/source.n: sl@0: * doc/Eval.3: sl@0: * tests/source.test: sl@0: * generic/tclIOUtil.c (Tcl_EvalFile): added explicit \32 (^Z) sl@0: eofchar (affects Tcl_EvalFile in C, "source" in Tcl). This was sl@0: implicit on Windows already, and is now cross-platform to allow sl@0: for scripted documents. sl@0: sl@0: 2000-05-09 Andreas Kupries sl@0: operating as proxy for David Gravereaux sl@0: sl@0: * win/tclWinThrd.c (TclpInitLock, TclpMasterLock): Added missing sl@0: initialization of joinLock. sl@0: sl@0: 2000-05-09 Eric Melski sl@0: sl@0: * tests/lsearch.test: sl@0: * doc/lsearch.n: sl@0: * generic/tclCmdIL.c (Tcl_LsearchObjCmd): Extended [lsearch] to sl@0: support sorted list searching and typed list searching. [RFE: 4098]. sl@0: sl@0: 2000-05-08 Jeff Hobbs sl@0: sl@0: * doc/expr.n: sl@0: * tests/expr.test: sl@0: * tests/expr-old.test: added tests for 'eq' and 'ne' sl@0: * generic/tclExecute.c: sl@0: * generic/tclCompile.h: added INST_STREQ and INST_STRNEQ opcodes sl@0: that do strict string comparisons. sl@0: * generic/tclCompExpr.c: added 'eq' and 'ne' string comparison sl@0: operators. sl@0: * generic/tclParseExpr.c (GetLexeme): added 'eq' and 'ne' expr sl@0: parse terms (string (in)equality check). sl@0: sl@0: * generic/tclCmdIL.c (Tcl_LinsertObjCmd): made use of sl@0: Tcl_DuplicateObj where code was otherwise duplicated. Made sl@0: special case of inserting one element at the end work again (where sl@0: index == len). sl@0: (Tcl_LreplaceObjCmd): moved Tcl_DuplicateObj call lower and sl@0: cleaned up use of other arguments. sl@0: sl@0: * generic/tclObj.c (Tcl_DuplicateObj): simplified code to call sl@0: TclInitStringRep, which the code was just duplicating in part. sl@0: sl@0: * doc/Utf.3: sl@0: * generic/tclStubInit.c: sl@0: * generic/tcl.decls: sl@0: * generic/tclDecls.h: sl@0: * generic/tclUtf.c: Added new functions Tcl_UniCharNcasecmp and sl@0: Tcl_UniCharCaseMatch (unicode parallel to Tcl_StringCaseMatch) sl@0: * generic/tclUtil.c: rewrote Tcl_StringCaseMatch algorithm for sl@0: optimization and made Tcl_StringMatch just call Tcl_StringCaseMatch sl@0: * tests/string.test: extended string match tests sl@0: sl@0: 2000-05-08 Eric Melski sl@0: sl@0: * tests/set-old.test: sl@0: * doc/array.n: sl@0: * generic/tclVar.c: Added [array statistics] command [RFE: 4557] sl@0: sl@0: 2000-05-06 Andreas Kupries sl@0: operating as proxy for David Gravereaux sl@0: sl@0: * tclThreadJoin.c: Fixed several places with missing a & in sl@0: arguments to calls of Tcl_Mutex(Un)lock and sl@0: Tcl_ConditionNotify functions. sl@0: sl@0: 2000-05-02 Jeff Hobbs sl@0: sl@0: * README: sl@0: * generic/tcl.h: sl@0: * library/init.tcl: sl@0: * library/reg1.0/pkgIndex.tcl: sl@0: * library/tcltest1.0/tcltest.tcl: sl@0: * mac/README: sl@0: * tools/tcl.hpj.in: sl@0: * tools/tcl.wse.in: sl@0: * unix/README: sl@0: * unix/configure.in: sl@0: * unix/tcl.spec: sl@0: * win/README: sl@0: * win/README.binary: sl@0: * win/configure.in: sl@0: * win/makefile.vc: sl@0: * win/tcl.m4: updated patchlevel to 8.4a1 sl@0: sl@0: * tests/compile.test: sl@0: * tests/init.test: sl@0: * tests/proc.test: sl@0: * tests/proc-old.test: sl@0: * tests/rename.test: sl@0: * generic/tclProc.c: reworked error return for procedures with sl@0: incorrect args to be like the C Tcl_WrongNumArgs, where a "wrong # sl@0: args: ..." message is printed out with the args list. sl@0: sl@0: * unix/Makefile.in: add tclsh.ico and tcl.spec to dist target sl@0: sl@0: 2000-05-02 Andreas Kupries sl@0: sl@0: * Overall changes: sl@0: (1) Implementation of joinable threads for all platforms. sl@0: (2) Additional API's for channels. Required to allow the sl@0: thread extension to move channels between threads. sl@0: sl@0: * generic/tcl.decls (lines 1360f): Added Tcl_JoinThread, sl@0: Tcl_IsChannelShared, Tcl_IsChannelRegistered, Tcl_CutChannel, sl@0: Tcl_SpliceChannel, Tcl_IsChannelExisting and sl@0: Tcl_ClearChannelHandlers (slots 394 to 400). sl@0: sl@0: * generic/tclIO.c: Implemented Tcl_IsChannelRegistered, sl@0: Tcl_IsChannelShared, Tcl_CutChannel, Tcl_SpliceChannel, sl@0: Tcl_IsChannelExisting and Tcl_ClearChannelHandlers. sl@0: Tcl_CutChannel uses code from CloseChannel. Replaced this code sl@0: by a call to Tcl_CutChannel. Replaced several code fragments sl@0: adding channels to the channel list with calls to sl@0: Tcl_SpliceChannel. Removed now unused variables from sl@0: CloseChannel and Tcl_UnstackChannel. Tcl_ClearChannelHandlers sl@0: uses code from Tcl_Close. Replaced this code by a call to sl@0: Tcl_ClearChannelHandlers. Removed now unused variables from sl@0: Tcl_Close. Added the subcommands 'cut', 'forgetch', 'splice' and sl@0: 'isshared' to the test code sl@0: (TclTestChannelCmd). sl@0: sl@0: * unix/tclUnixThread.c: Implemented Tcl_JoinThread using the sl@0: pthread-functionality. sl@0: sl@0: * win/tclWinThrd.c: Fixed several small typos in comments. sl@0: Implemented Tcl_JoinThread using a platform independent sl@0: emulation layer (see generic/tclThreadJoin.c below). Added sl@0: 'joinLock' to serialize Tcl_CreateThread and TclpExitThread to sl@0: prevent a race for joinable threads. sl@0: sl@0: * mac/tclMacThrd.c: Implemented Tcl_JoinThread using a platform sl@0: independent emulation layer (see generic/tclThreadJoin.c sl@0: below). Due to the cooperative nature of threading on this sl@0: platform the race mentioned above is not present. sl@0: sl@0: * generic/tclThreadJoin.c: New file. Contains a platform sl@0: independent emulation layer helping in the implementation of sl@0: joinable threads for the win and mac platforms. sl@0: sl@0: * generic/tclInt.h: Added declarations for TclJoinThread, sl@0: TclRememberJoinableThread and TclSignalExitThread. These sl@0: procedures define the API of the emulation layer for joinable sl@0: threads (see generic/tclThreadJoin.c above). sl@0: sl@0: * win/Makefile.in: sl@0: * win/makefile.vc: Added generic/tclTheadJoin.o to the rules. sl@0: sl@0: * mac/: I don't know to which file generic/tclTheadJoin.o has to sl@0: be added to so that it compiles. Sorry. sl@0: sl@0: * unix/tclUnixChan.c: #ifdef'd the thread-local list of file sl@0: channels as it prevents us from transfering channels. To restore sl@0: this we may need an extended interface to drivers in the sl@0: future. Target: 9.0. Found while testing the new transfer of sl@0: channels. The information in this list for a channel was left sl@0: behind and then crashed the system during finalization. sl@0: sl@0: * generic/tclThreadTest.c: Added -joinable flag to 'testthread sl@0: create'. Added subcommand 'testthread join'. sl@0: sl@0: * doc/CrtChannel.3: Added documentation for Tcl_IsChannelRegistered, sl@0: Tcl_IsChannelShared, Tcl_CutChannel, Tcl_SpliceChannel, sl@0: Tcl_IsChannelExisting and Tcl_ClearChannelHandlers. sl@0: sl@0: * doc/Thread.3: Added documentation for Tcl_JoinThread. sl@0: sl@0: * tests/thread.test: Added tests for joining of threads. sl@0: sl@0: 2000-04-27 Eric Melski sl@0: sl@0: * doc/library.n: Added entries for auto_qualify and auto_import sl@0: [Bug: 1271]. sl@0: sl@0: * doc/Init.3: Manual entry for Tcl_Init [Bug: 1820]. sl@0: sl@0: * doc/expr.n: Added documentation for each of the math library sl@0: functions that expr supports [Bug: 1054]. sl@0: sl@0: 2000-04-26 Eric Melski sl@0: sl@0: * doc/memory.n: Man page for Tcl "memory" command, which is sl@0: created when TCL_MEM_DEBUG is defined at compile time. sl@0: sl@0: * doc/TCL_MEM_DEBUG.3: Man page with overall information about sl@0: TCL_MEM_DEBUG usage. sl@0: sl@0: * doc/DumpActiveMemory.3: Man page for Tcl_DumpActiveMemory, sl@0: Tcl_InitMemory, and Tcl_ValidateAllMemory [Bug: 1816, 1835]. sl@0: sl@0: * generic/tclCkalloc.c: Fixed some function headers. sl@0: sl@0: * unix/mkLinks: Regen'd with new mkLinks.tcl. sl@0: sl@0: * unix/mkLinks.tcl: Fixed indentation, made link setup more sl@0: intelligent (only do one existance test per man page, instead of sl@0: one per function). sl@0: sl@0: * doc/library.n: Fixed .SH NAME macro to include each function sl@0: documented on the page, so that mkLinks will know about the sl@0: functions listed there, and so that the Windows help file index sl@0: will get set up correctly [Bug: 1898, 5273]. sl@0: sl@0: 2000-04-26 Jeff Hobbs sl@0: sl@0: 8.3.1 RELEASE sl@0: sl@0: * README: sl@0: * mac/README: sl@0: * tools/tcl.wse.in: sl@0: * unix/README: sl@0: * unix/tcl.spec: sl@0: * win/README: sl@0: * win/README.binary: Updating URLs to reference dev.scriptics.com sl@0: sl@0: 2000-04-25 Jeff Hobbs sl@0: sl@0: * unix/Makefile.in: sl@0: * win/Makefile.in: sl@0: * win/makefile.vc: updated for http change and some cleanup sl@0: * library/http2.[13]: moved dir http2.1 to http2.3 to match version sl@0: sl@0: * doc/Utf.3: clarified docs for Tcl_(UniChar|Utf)AtIndex sl@0: sl@0: * unix/tclUnixThrd.c: removed {}s around PTHREAD_MUTEX_INITIALIZER sl@0: [Bug: 5254] sl@0: sl@0: * unix/tclLoadDyld.c (TclpLoadFile): removed use of interp->result sl@0: sl@0: 2000-04-25 Eric Melski sl@0: sl@0: * unix/mkLinks: sl@0: * doc/AddErrInfo.3: Added information about Tcl_LogCommandInfo sl@0: [Bug: 1818]. sl@0: sl@0: 2000-04-24 Eric Melski sl@0: sl@0: * unix/mkLinks: sl@0: * doc/OpenFileChnl.3: Added man entry for Tcl_Ungets [Bug: 1834]. sl@0: sl@0: * unix/mkLinks: sl@0: * doc/SourceRCFile.3: Man page for Tcl_SourceRCFile [Bug: 1833]. sl@0: sl@0: * unix/mkLinks: sl@0: * doc/ParseCmd.3: Added documentation for Tcl_ParseVar [Bug: 1828]. sl@0: sl@0: 2000-04-24 Jeff Hobbs sl@0: sl@0: * unix/tclUnixNotfy.c (Tcl_FinalizeNotifier, NotifierThreadProc): sl@0: added write of 'q' into triggerPipe for notifier in threaded case, sl@0: so that Tcl doesn't hang when children are still running [Bug: 4139] sl@0: sl@0: * unix/tclUnixThrd.c (Tcl_MutexLock): minor comment fixes. sl@0: sl@0: 2000-04-23 Jim Ingham sl@0: sl@0: These changes make some error handling marginally better for Mac sl@0: sockets. It is still somewhat flakey, however. sl@0: sl@0: * mac/tclMacSock.c (TcpClose): Add timeouts to the close - these sl@0: don't seem to be honored, however. sl@0: Use a separate PB for the release, since an async connect socket sl@0: will still be using the original buffer. sl@0: Make sure TCPRelease returns noErr before freeing the recvBuff. sl@0: If the call returns an error, then the buffer is not right. sl@0: * mac/tclMacSock.c (CreateSocket): Add timeouts to the async sl@0: create. These don't seem to trigger, however. Sigh... sl@0: * mac/tclMacSock.c (WaitForSocketEvent): If an TCP_ASYNC_CONNECT sl@0: socket errors out, then return EWOULDBLOCK & error out. sl@0: * mac/tclMacSock.c (NotifyRoutine): Added a NotifyRoutine for sl@0: experimenting with MacTCP. sl@0: sl@0: 2000-04-22 Jim Ingham sl@0: sl@0: * library/package.tcl (tclPkgUnknown): Fixed a typo in the Mac package sl@0: search part of tclPkgUnknown. sl@0: sl@0: 2000-04-21 Sandeep Tamhankar sl@0: sl@0: * library/http2.1/http.tcl: Fixed a newly introduced bug where if sl@0: there's a -command callback and something goes wrong, geturl threw sl@0: an exception, called the callback, and unset the token. I changed sl@0: it so that it will not call the callback when throwing an sl@0: exception (so the caller only finds out about a given error from sl@0: one place). Also, fixed http::ncode so that it actually gives you sl@0: back the http return code (i.e. 200, 404, etc.) instead of the sl@0: first digit of the version of HTTP being used (i.e. 1). sl@0: sl@0: 2000-04-21 Brent Welch sl@0: sl@0: * library/http2.1/http.tcl: More thrashing with the "server closes sl@0: without reading post data" scenario. Reverted to the previous sl@0: filevent configuratiuon, which seems to work better with small sl@0: amounts of post data. sl@0: sl@0: 2000-04-20 Jeff Hobbs sl@0: sl@0: * generic/tclAlloc.c: wrapped caddr_t define to not be done on Unix sl@0: * unix/tclUnixPort.h: added Tclp*Alloc defines to allow the use of sl@0: USE_TCLALLOC on Unix. [Bug: 4731] sl@0: sl@0: 2000-04-19 Jeff Hobbs sl@0: sl@0: * library/dde1.1/pkgIndex.tcl: sl@0: * library/reg1.0/pkgIndex.tcl: sl@0: * win/tclWinChan.c: sl@0: * win/tclWinThrd.c: converted CRLF to LF the */tcl.hpj.in files sl@0: were not converted, as it confuses hcw locally. [Bug: 5096] sl@0: sl@0: * win/Makefile.in: expanded cleanup target for help files sl@0: sl@0: * doc/Thread.3: minor macro cleanup sl@0: sl@0: * generic/tclFileName.c (SplitUnixPath): added support for QNX sl@0: node ids. sl@0: sl@0: 2000-04-18 Jeff Hobbs sl@0: sl@0: * README: sl@0: * generic/tcl.h: sl@0: * tools/tcl.wse.in: sl@0: * unix/configure.in: sl@0: * unix/tcl.spec: sl@0: * win/configure.in: sl@0: * win/README.binary: bumped version to 8.3.1 sl@0: sl@0: * win/tcl.hpj.in: updated copyright date sl@0: sl@0: * generic/tclEnv.c: environment support for Mac OS/X sl@0: * unix/tclUnixPort.h: environment support for Mac OS/X sl@0: * unix/tclLoadDyld.c: new file for Mac OS/X dl functions sl@0: * unix/Makefile.in: added install-strip target; bindir, libdir, sl@0: mandir, includedir vars; tclLoadDyld.c target [Bug: 2527] sl@0: sl@0: * unix/tclUnixChan.c (CreateSocket): force a socket back into sl@0: blocking mode (default state) after a -async connect succeeds. sl@0: [Bug: 4388] sl@0: sl@0: * generic/tclEvent.c (TclInitSubsystems): Moved tclLibraryPath to sl@0: thread-local storage to prevent thread-related race condition. sl@0: [Bug: 5033] sl@0: * unix/tclAppInit.c (main): removed #ifdef TCL_TEST that sets the sl@0: library path as it was unnecessary and conflicts with move of sl@0: tclLibraryPath to thread-local storage. sl@0: sl@0: 2000-04-18 Scott Redman sl@0: sl@0: * win/Makefile.in: sl@0: * win/tcl.rc: sl@0: * win/tclsh.rc: sl@0: * win/tclsh.ico: Modified copyright dates in Windows resource sl@0: files. Added an icon for tclsh.exe. sl@0: sl@0: 2000-04-17 Brent Welch sl@0: sl@0: * generic/tcl.h, generic/tclThreadTest.c, unix/tclUnixThrd.c, sl@0: win/tclWinThread.c, mac/tclMacThread.c: sl@0: Added Tcl_CreateThreadType and TCL_RETURN_THREAD_TYPE sl@0: macros for declaring the NewThread callback proc. sl@0: sl@0: 2000-04-14 Jeff Hobbs sl@0: sl@0: * unix/tclUnixChan.c (TtyParseMode): Only allow setting mark/space sl@0: parity on platforms that support it [Bug: 5089] sl@0: sl@0: * generic/tclBasic.c (Tcl_GetVersion): adjusted use of major/minor sl@0: to not conflict with global decl on some systems [Bug: 2882] sl@0: sl@0: * doc/AppInit.3: sl@0: * doc/Async.3: sl@0: * doc/BackgdErr.3: sl@0: * doc/CrtChannel.3: sl@0: * doc/CrtInterp.3: sl@0: * doc/CrtMathFnc.3: sl@0: * doc/DString.3: sl@0: * doc/Eval.3: sl@0: * doc/ExprLong.3: sl@0: * doc/GetInt.3: sl@0: * doc/GetOpnFl.3: sl@0: * doc/Interp.3: sl@0: * doc/LinkVar.3: sl@0: * doc/OpenFileChnl.3: sl@0: * doc/OpenTcp.3: sl@0: * doc/PkgRequire.3: sl@0: * doc/RecordEval.3: sl@0: * doc/SetResult.3: sl@0: * doc/SplitList.3: sl@0: * doc/StaticPkg.3: sl@0: * doc/TraceVar.3: sl@0: * doc/Translate.3: sl@0: * doc/UpVar.3: sl@0: * doc/load.n: removed or updated references to interp->result use. sl@0: sl@0: 2000-04-13 Jeff Hobbs sl@0: sl@0: * doc/regexp.n: doc clarification [Bug: 5037] sl@0: * doc/update.n: typo fix [Bug: 4996] sl@0: sl@0: * unix/tcl.m4 (SC_ENABLE_THREADS): enhanced the detection of sl@0: pthread_mutex_init [Bug: 4359] and (SC_CONFIG_CFLAGS) added sl@0: --enable-64bit-vis switch for Sparc VIS compilation [Bug: 4995] sl@0: sl@0: 2000-04-12 Jeff Hobbs sl@0: sl@0: * doc/dde.n: corrected dde poke docs. [Bug: 4991] sl@0: sl@0: 2000-04-11 Eric Melski sl@0: sl@0: * win/tclWinPipe.c: Added "CONST" keyword to declaration of char sl@0: *native in TclpCreateTempFile, to supress compiler warnings. sl@0: sl@0: 2000-04-10 Brent Welch sl@0: sl@0: * generic/tcl.h: Fixed Tcl_CreateThread declaration. sl@0: * library/tcltest1.0/tcltest.tcl: Fixed the "mainThread" sl@0: initialization to work with either testthread or the thread extension sl@0: * unix/tclUnixThrd.c: Fixed compiler warning when compiling sl@0: with -DTCL_THREADS sl@0: sl@0: 2000-04-10 Eric Melski sl@0: sl@0: * win/tclWinPipe.c (TclpCreateTempFile): Added conversion of sl@0: contents string from UTF to native encoding [Bug: 4030]. sl@0: sl@0: * tests/regexp.test: Added tests for infinite looping in [regexp sl@0: -all]. sl@0: sl@0: * generic/tclCmdMZ.c: Fixed infinite loop bug with [regexp -all] sl@0: [Bug: 4981]. sl@0: sl@0: * tests/*.test: Changed all occurances of "namespace import sl@0: ::tcltest" to "namespace import -force ::tcltest" [Bug: 3948]. sl@0: sl@0: 2000-04-09 Brent Welch sl@0: sl@0: * lib/httpd2.1/http.tcl: Worked on the "server closes before sl@0: reading post data" case, which unfortunately causes different sl@0: error cases on Solaris, which can read the reply, and Linux sl@0: and Windows, which cannot read anything. This is all in the sl@0: loop-back case - client and server on the same host. Also sl@0: unified the error handling so the "ioerror" status goes away sl@0: and errors are reflected in a more uniform way. Updated the sl@0: man page to document the behavior. sl@0: sl@0: 2000-04-09 Jeff Hobbs sl@0: sl@0: * tests/reg.test (matchexpected): corrected tests to use tcltest sl@0: constraint types to skip certain tests. sl@0: sl@0: * generic/tclBasic.c (Tcl_SetCommandInfo): comment fix sl@0: sl@0: * unix/tclUnixThrd.c (Tcl_CreateThread): moved TCL_THREADS ifdef sl@0: inside of func as it is declared for non-threads builds as well. sl@0: In the non-threads case, it always returns TCL_ERROR (couldn't sl@0: create thread). sl@0: sl@0: 2000-04-08 Andreas Kupries sl@0: sl@0: * Overall change: Definition of a public API for the creation of sl@0: new threads. sl@0: sl@0: * generic/tclInt.h (line 1802f): Removed the definition of sl@0: 'TclpThreadCreate'. (line 793f) Removed the definition of sl@0: 'Tcl_ThreadCreateProc'. sl@0: sl@0: * generic/tcl.h (line 388f): Readded the definition of sl@0: 'Tcl_ThreadCreateProc'. Added Win32 stuff send in by David sl@0: Graveraux to that too (__stdcall, sl@0: ...). Added macros for the default stacksize and allowed flags. sl@0: sl@0: * generic/tcl.decls (line 1356f): Added definition of sl@0: 'Tcl_CreateThread', slot 393 of the stub table. Two new sl@0: arguments in the public API, for stacksize and flags. sl@0: sl@0: * win/tclWinThrd.c: sl@0: * mac/tclMacThrd.c: Renamed TclpThreadCreate to Tcl_CreateThread, sl@0: added handling of the stacksize. Flags are currently ignored. sl@0: sl@0: * unix/tclUnixThrd.c: See above, but handles joinable sl@0: flag. Ignores the specified stacksize if the macro sl@0: HAVE_PTHREAD_ATTR_SETSTACKSIZE is not defined. sl@0: sl@0: * generic/tclThreadTest.c (line 363): See below. sl@0: sl@0: * unix/tclUnixNotfy.c (line 210): Adapted to the changes sl@0: above. Uses default stacksize and no flags now. sl@0: sl@0: * unic/tcl.m4 (line 382f): Added a check for sl@0: 'pthread_attr_setstacksize' to detect platforms not implementing sl@0: this feature of pthreads. If it is implemented, configure will sl@0: define the macro HAVE_PTHREAD_ATTR_SETSTACKSIZE (See sl@0: unix/tclUnixThrd.c too). sl@0: sl@0: * doc/Thread.3: Added Tcl_CreateThread and its arguments to the sl@0: list of described functions. Removed stuff about not providing a sl@0: public C-API for thread-creation. sl@0: sl@0: 2000-04-07 Jeff Hobbs sl@0: sl@0: * doc/binary.n: clarified docs on sign extension in binary scan sl@0: [Bug: 3466] sl@0: sl@0: * library/tcltest1.0/tcltest.tcl (initConstraints): removed win32s sl@0: references (no longer supported) sl@0: sl@0: * tests/fCmd.test: marked test 8.1 knownBug because it is sl@0: dangerous on poorly configured systems [Bug: 3881] sl@0: and added 8.2 to keep essence of 8.1 tested. sl@0: sl@0: 2000-04-05 Andreas Kupries sl@0: sl@0: * generic/tclIO.c (Tcl_UnstackChannel, line 1831): Forcing sl@0: interest mask to the correct value after an unstack and sl@0: re-initialization of the notifier via the watchProc. Without this sl@0: the first fileevent after an unstack will come through and be sl@0: processed, but no more. [Bug: ??]. sl@0: sl@0: 2000-03-04 Brent Welch sl@0: sl@0: * {win,unix}/Makefile.in: added dependency of tclStubInit.c on sl@0: tcl.decls and tclInt.decls sl@0: * generic/tclThread.c: Tweak so this compiles w/out TCL_THREADS sl@0: * generic/{tcl.decls,tclStubInit.c}: Just touched the tcl.decls and sl@0: regenerated the tclStubInit.c file sl@0: sl@0: 2000-03-29 Sandeep Tamhankar sl@0: sl@0: * library/http2.1/http.tcl: For the -querychannel option, sl@0: fconfigure the socket to be binary so that we don't translate sl@0: anything while reading the data. This is because we determine the sl@0: content length of the data on the channel by using seek (to the end sl@0: of the file) and tell on the file handle, and we need the sl@0: content-length to match the amount of data actually sent, and sl@0: translation can affect the number of bytes posted. sl@0: sl@0: 2000-04-03 Andreas Kupries sl@0: sl@0: * Overall change: Definition of public API's for the finalization sl@0: of conditions and mutexes. [Bug: 4199]. sl@0: sl@0: * generic/tclInt.h: Removed definitions of TclFinalizeMutex and sl@0: TclFinalizeCondition. sl@0: sl@0: * generic/tcl.decls: Added declarations of Tcl_MutexFinalize and sl@0: Tcl_ConditionFinalize. sl@0: sl@0: * generic/tclThread.c: Renamed TclFinalizeMutex to sl@0: Tcl_MutexFinalize. Renamed TclFinalizeCondition to sl@0: Tcl_ConditionFinalize. sl@0: sl@0: * generic/tclNotify.c: Changed usage of TclFinalizeMutex to sl@0: Tcl_MutexFinalize. sl@0: sl@0: * unix/tclUnixNotfy.c: sl@0: * generic/tclThreadTest.c: Changed usages of TclFinalizeCondition to sl@0: Tcl_ConditionFinalize. sl@0: sl@0: * generic/tcl.h: Added empty macros for Tcl_MutexFinalize and sl@0: Tcl_ConditionFinalize, to be used when the core is compiled sl@0: without threads. sl@0: sl@0: * doc/Thread.3: Added description the new API's. sl@0: sl@0: 2000-04-03 Jeff Hobbs sl@0: sl@0: * generic/tclCmdIL.c (InfoVarsCmd): checked for non-NULL procPtr sl@0: to prevent itcl info override crash [Bug: 4064] sl@0: sl@0: * tests/foreach.test: sl@0: * tests/namespace.test: sl@0: * tests/var.test: Added lsorts to avoid random sorted return sl@0: problems. [Bug: 2682] sl@0: sl@0: * tests/fileName.test: fixed 14.1 test fragility [Bug: 1482] sl@0: sl@0: * tools/man2help2.tcl: fixed winhelp cross-linking error [Bug: 4156] sl@0: improved translation to winhelp [Bug: 3679] sl@0: sl@0: * unix/Makefile.in (MAN_INSTALL_DIR): patch to accept --mandir sl@0: correctly [Bug: 4085] sl@0: sl@0: * unix/dltest/pkg[a-e].c: Cleaned up test packages [Bug: 2293] sl@0: sl@0: 2000-04-03 Eric Melski sl@0: sl@0: * unix/tclUnixFCmd.c (SetGroupAttribute): sl@0: * unix/tclUnixFCmd.c (SetOwnerAttribute): Added (uid_t) and (gid_t) sl@0: casts to avoid compiler warnings. sl@0: sl@0: 2000-03-31 Eric Melski sl@0: sl@0: * generic/tclGet.c (Tcl_GetDouble): Added additional conditions to sl@0: error test (previously only errno was checked, but the return sl@0: value of strtod() should be checked as well). [Bug: 4118]. sl@0: sl@0: * tests/exec.test: Added test for proper conversion of UTF data sl@0: when used with "<< $dataWithUTF" on exec's. sl@0: sl@0: * unix/tclUnixPipe.c (TclpCreateTempFile): Added sl@0: Tcl_UtfToExternalDString call, so that if there is UTF content in sl@0: the string it will be properly converted to the system encoding sl@0: before being written [Bug: 4030]. sl@0: (TclpCreateTempFile): Added a check on the return value of tmpnam; sl@0: some systems (Linux, for example) will start to return NULL after sl@0: tmpnam has been called TMP_MAX times; not checking for this can sl@0: have bad results (overwriting temp files, core dumps, etc.) sl@0: sl@0: 2000-03-30 Jeff Hobbs sl@0: sl@0: * generic/tclBasic.c (Tcl_DeleteCommandFromToken): Added comments sl@0: noting the need to pair ckalloc with ckfree. [Bug: 4262] sl@0: sl@0: * generic/tclInt.decls: sl@0: * generic/tclIntPlatDecls.h: sl@0: * generic/tclStubInit.c: sl@0: * win/tclWin32Dll.c: removed TclWinSynchSpawn (vestige of Win32s sl@0: support). sl@0: sl@0: * win/tclWinReg.c: made use of TclWinGetPlatformId instead of sl@0: getting info again sl@0: sl@0: * win/tclWinPort.h: sl@0: * win/Makefile.in: sl@0: * win/configure.in: sl@0: * win/tcl.m4: Added support for gcc/mingw on Windows [Bug: 4234] sl@0: sl@0: 2000-03-29 Jeff Hobbs sl@0: sl@0: * generic/tclCompile.c (TclCleanupByteCode): made ByteCode cleanup sl@0: more aware of TCL_BYTECODE_PRECOMPILED flagged structs (gen'd by sl@0: tbcload), to correctly clean them up. sl@0: sl@0: * generic/tclClock.c (FormatClock): moved check for empty format sl@0: earlier, commented 0 result return value sl@0: sl@0: 2000-03-29 Sandeep Tamhankar sl@0: sl@0: * library/http2.1/http.tcl: Removed an unnecessary fileevent sl@0: statement from the error processing part of the Write method. sl@0: Also, fixed two potential memory leaks in wait and reset, in which sl@0: the state array wasn't being unset before throwing an exception. sl@0: Prior to this version, Brent checked in a fix to catch a sl@0: fileevent statement that was sometimes causing a stack trace when sl@0: geturl was called with -timeout. I believe Brent's fix is sl@0: necessary because TLS closes bad sockets for secure connections, sl@0: and the fileevent was trying to act on a socket that no longer sl@0: existed. sl@0: sl@0: 2000-03-27 Jeff Hobbs sl@0: sl@0: * tests/httpd: removed unnecessary 'puts stderr "Post Dispatch"' sl@0: sl@0: * tests/namespace.test: sl@0: * generic/tclNamesp.c (Tcl_Export): added a uniq'ing test to the sl@0: export list so only one instance of each export pattern would sl@0: exist in the list. sl@0: sl@0: * generic/tclExecute.c (TclExecuteByteCode): optimized case for sl@0: the empty string in ==/!= comparisons sl@0: sl@0: 2000-03-27 Eric Melski sl@0: sl@0: * unix/tclUnixChan.c: Added (off_t) type casts in lseek() call sl@0: [Bug: 4409]. sl@0: sl@0: * unix/tclLoadAout.c: sl@0: * unix/tclUnixPipe.c: Added (off_t) type casts in lseek() calls sl@0: [Bug: 4410]. sl@0: sl@0: 2000-03-22 Sandeep Tamhankar sl@0: sl@0: * library/http2.1/http.tcl: Fixed a bug where string query data sl@0: that was bigger than queryblocksize would get duplicate characters sl@0: at block boundaries. sl@0: sl@0: 2000-03-22 Sandeep Tamhankar sl@0: sl@0: * library/http2.1/http.tcl: Fixed bug 4463, where we were getting sl@0: a stack trace if we tried to publish a project to a good host but sl@0: a port where there was no server listening. It turned out the sl@0: problem was a stray fileevent that needed to be cleared. Also, sl@0: fixed a bug where http::code could stack trace if called on a bad sl@0: token (one which didn't represent a successful geturl) by adding sl@0: an http element to the state array in geturl. sl@0: sl@0: 2000-03-21 Eric Melski sl@0: sl@0: * tests/clock.test: Modified some tests that were not robust with sl@0: respect to the time zone in which they were run and were thus sl@0: failing. sl@0: sl@0: * doc/clock.n: Clarified meaning of -gmt with respect to -base sl@0: when used with [clock scan] (-gmt does not affect the sl@0: interpretation of -base). sl@0: sl@0: 2000-03-19 Sandeep Tamhankar sl@0: sl@0: * library/http2.1/http.tcl: geturl used to throw an exception when sl@0: the connection failed; I accidentally returned a token with the sl@0: error info, breaking backwards compatibility. I changed it back sl@0: to throwing an exception, but unsetting the state array first sl@0: (thus still eliminating the original memory leak problem). sl@0: sl@0: 2000-03-19 Sandeep Tamhankar sl@0: sl@0: * library/http2.1/http.tcl: Added -querychannel option and altered sl@0: some of Brent's modifications to allow asynchronous posts (via sl@0: -command). Also modified -queryprogress so that it calls the sl@0: query callback as sl@0: to be consistent with -progress. Added -queryblocksize option sl@0: with default 8192 bytes for post blocksize. Fixed a bunch of sl@0: potential memory leaks for the case when geturl receives bad args sl@0: or can't open a socket, etc. Overall, the package really rocks sl@0: now. sl@0: sl@0: * doc/http.n: Added -queryblocksize, -querychannel, and sl@0: -queryprogress. Also, changed the description of -blocksize, sl@0: which states that the -progress callback will be called for each sl@0: block, to now qualify that with an "if -progress is specified". sl@0: sl@0: * tests/http.test: Added a querychannel test for synchronous and sl@0: asynchronous posts, altered the queryprogress test such that the sl@0: callback conforms to the -progress format. Also, had to use the sl@0: -queryblocksize option to do the post 16K at a time to match sl@0: Brent's expected results (and to test that -queryblocksize works). sl@0: sl@0: 2000-03-15 Brent Welch sl@0: sl@0: * library/http2.1/http.tcl: Added -queryprogress callback to sl@0: http::geturl and also changed it so that writing the post data sl@0: is event driven if the queryprogress callback or a timeout is given. sl@0: This allows a timeout to occur when writing lots of post data. sl@0: The queryprogress callback is called after each block of query sl@0: data is posted. It has the same signature as the -progress callback. sl@0: sl@0: 2000-03-06 Eric Melski sl@0: sl@0: * library/package.tcl: Applied patch from Bug: 2570; rather than sl@0: setting geometry of slave interp to 0x0 when Tk was loaded, it now sl@0: does "wm withdraw .". Both remove the main window from the sl@0: display, but the former caused some internal structures to get sl@0: initialized to zero, which caused crashes with some extensions. sl@0: sl@0: 2000-03-02 Jeff Hobbs sl@0: sl@0: * library/package.tcl (tclPkgUnknown): extended to allow sl@0: recognizes changes in the auto_path while sourcing in other sl@0: pkgIndex.tcl files sl@0: sl@0: * doc/FindExec.3: fixed doc for declaration of Tcl_FindExecutable sl@0: [Bug: 4275] sl@0: sl@0: * generic/tclFileName.c (Tcl_TranslateFileName): Applied patch sl@0: from Newman to significantly speedup file split/join on Windows sl@0: (replaces regexp with custom parser). [Bug: 2867] sl@0: sl@0: * win/README.binary: change mailing lists from @consortium.org sl@0: to @scriptics.com [Bug: 4173] sl@0: sl@0: 2000-02-28 Eric Melski sl@0: sl@0: * tests/clock.test: Added test for ISO bases < 100000 sl@0: sl@0: * generic/tclDate.c: (generated on Solaris) sl@0: * generic/tclGetDate.y: Changed condition for deciding if a number sl@0: is an ISO 8601 base from number >= 100000 to numberOfDigits >= 6. sl@0: Previously it would fail to recognize 000000 as an ISO base. sl@0: sl@0: 2000-02-14 Eric Melski sl@0: sl@0: * unix/Makefile.in: Added rpm target to generate Tcl binary RPM. sl@0: sl@0: * unix/tcl.spec: RPM specification file for a Tcl binary RPM for sl@0: Linux. sl@0: sl@0: 2000-02-10 Jeff Hobbs sl@0: sl@0: 8.3.0 RELEASE sl@0: sl@0: * changes: updated for 8.3.0 release sl@0: sl@0: * doc/load.n: added notes about dll load errors on Windows sl@0: sl@0: * unix/README: sl@0: * unix/Makefile.in (dist): removed porting.notes and porting.old sl@0: from distribution and CVS. The information was very outdated. Now sl@0: refer to http://dev.scriptics.com/services/support/platforms.html sl@0: sl@0: * tests/unixInit.test: fixed japanese LANG encoding test [Bug: 3549] sl@0: sl@0: * unix/configure.in: sl@0: * unix/tcl.m4: correct CFLAG_WARNING setting, sl@0: fixed gcc config for AIX, sl@0: added -export-dynamic to LDFLAGS for FreeBSD-3+ [Bug: 2998] sl@0: sl@0: * win/tclWinLoad.c (TclpLoadFile): improved error message for load sl@0: failures, could perhaps be even more intelligent. sl@0: sl@0: 2000-02-09 Jim Ingham sl@0: sl@0: * mac/tclMacSock.c: Don't panic when you get an error closing an async sl@0: socket. This doesn't seem to hurt anything, and we return the error so sl@0: the caller can do the right thing. sl@0: sl@0: New Files: sl@0: * mac/MW_TclHeader.h: sl@0: * mac/MW_TclTestHeader.h: sl@0: * mac/MW_TclTestHeader.pch: sl@0: * mac/MW_TclAppleScriptHeader.h: More convenient to use .h prefix files sl@0: in the preference panels... sl@0: sl@0: The above are curtesy of Daniel Steffen (steffen@math.mq.edu.au) sl@0: sl@0: 2000-02-08 Eric Melski sl@0: sl@0: * tests/clock.test: Added tests for "next monthname" constructs. sl@0: * generic/tclDate.c: sl@0: * generic/tclGetDate.y (Message): Added a grammar rule for "next sl@0: monthname" so that we can handle "next january" and similar sl@0: constructs (bug #4146). sl@0: sl@0: 2000-02-08 Jeff Hobbs sl@0: sl@0: * README: sl@0: * tools/tcl.wse.in: sl@0: * unix/configure.in: sl@0: * win/configure.in: sl@0: * win/README: sl@0: * win/README.binary: sl@0: * generic/tcl.h (TCL_RELEASE_SERIAL): Moved to 8.3.0 patchlevel sl@0: sl@0: * doc/library.n: sl@0: * library/auto.tcl: fixed crufty puts code and docs [Bug: 4122] sl@0: sl@0: * library/tcltest1.0/tcltest.tcl: correctly protected searchDirectory sl@0: list to allow dirnames with spaces sl@0: sl@0: * unix/tcl.m4: changed all -fpic to -fPIC sl@0: sl@0: * generic/tclDecls.h: sl@0: * generic/tcl.decls: change Tcl_GetOpenFile to use decl of 'int sl@0: forWriting' instead of 'int write' to avoid shadowing [Bug: 4121] sl@0: sl@0: * tests/httpold.test: changed test script to source in the httpd sl@0: server procs from httpd instead of having its own set. sl@0: sl@0: * tests/httpd: improved query support in test httpd to handle fix sl@0: in http.tcl. [Bug: 4089 change 2000-02-01] sl@0: sl@0: * unix/README: fixed notes about --enable-shared and add note sl@0: about --disable-shared. sl@0: sl@0: 2000-02-07 Eric Melski sl@0: sl@0: * tests/package.test: sl@0: * library/tclIndex: sl@0: * library/package.tcl: Renamed ::package namespace to ::pkg. sl@0: sl@0: 2000-02-03 Eric Melski sl@0: sl@0: * doc/Package.n: sl@0: * doc/packagens.n: Renamed Package.n -> packagens.n because Windows sl@0: can't deal with case-sensitive names. sl@0: sl@0: 2000-02-02 Jeff Hobbs sl@0: sl@0: * tests/regexp.test: added tests for -all and -inline switches sl@0: * doc/regexp.n: added docs for -all and -inline switches sl@0: * generic/tclCmdMZ.c (Tcl_RegexpObjCmd): added extra comments for sl@0: new -all and -inline switches to regexp command sl@0: sl@0: 2000-02-01 Eric Melski sl@0: sl@0: * library/init.tcl: Applied patch from rfe 1734 regarding sl@0: auto_load errors not setting error message and errorInfo properly. sl@0: sl@0: 2000-02-01 Jeff Hobbs sl@0: sl@0: * win/Makefile.in (install-*): reduced verbosity of install sl@0: sl@0: * generic/tclFileName.c (Tcl_JoinPath): improved support for special sl@0: QNX node id prefixes in pathnames [Bug: 4053] sl@0: sl@0: * library/http1.0/http.tcl: sl@0: * library/http2.1/http.tcl: The query data POSTed was newline sl@0: terminated when it shouldn't be altered [Bug: 4089] sl@0: sl@0: 2000-01-31 Eric Melski sl@0: sl@0: * tests/package.test: sl@0: * library/tclIndex: sl@0: * library/package.tcl: Added ::package namespace and sl@0: ::package::create function. sl@0: sl@0: * library/init.tcl: Fixed problem with auto_load and determining sl@0: if commands were loaded. sl@0: sl@0: * library/auto.tcl: "Fixed" issues with $ in files to be auto indexed. sl@0: sl@0: * doc/Package.n: New man page for package::create function. sl@0: sl@0: * doc/pkgMkIndex.n: Added additional information. sl@0: sl@0: * doc/library.n: Added additional qualification regarding auto_mkindex. sl@0: sl@0: 2000-01-28 Eric Melski sl@0: sl@0: * tests/pkg/magicchar2.tcl: sl@0: * tests/autoMkindex.test: Test for auto loader fix (bug #2480). sl@0: sl@0: * library/init.tcl: auto_load was using [info commands $name] to sl@0: determine if a given command was available; if the command name sl@0: had * or [] it, this would fail because info commands uses sl@0: glob-style matching. This is fixed. (Bug #2480). sl@0: sl@0: * tests/pkg/spacename.tcl: sl@0: * tests/pkgMkIndex.test: Tests for fix for bug #2360. sl@0: sl@0: * library/package.tcl: Fixed to extract only the first element of sl@0: the list returned by auto_qualify (bug #2360). sl@0: sl@0: * tests/pkg/magicchar.tcl: sl@0: * tests/autoMkindex.test: Test for fix for bug #2611. sl@0: sl@0: * library/auto.tcl: Fixed the regular expression that performs $ sl@0: escaping before sourcing a file to index. It was erroneously sl@0: adding \ escapes even to $'s that were already escaped, sl@0: effectively "un-escaping" those $'s. (bug #2611). sl@0: sl@0: 2000-01-27 Eric Melski sl@0: sl@0: * tests/autoMkindex.test: sl@0: * library/auto.tcl: Applied patch (with slight modification) from sl@0: bug #2701: auto_mkIndex uses platform dependent file paths. sl@0: Added test for fix. sl@0: sl@0: 2000-01-27 Jennifer Hom sl@0: sl@0: * library/tcltest1.0/tcltest.tcl: Changed NormalizePath to sl@0: normalizePath and exported it as a public proc. This proc sl@0: creates an absolute path given the name of the variable containing sl@0: the path to modify. The path is modified in place. sl@0: * library/tcltest1.0/pkgIndex.tcl: Added normalizePath. sl@0: * tests/all.tcl: Changed code to use normalizePath. sl@0: sl@0: 2000-01-27 Eric Melski sl@0: sl@0: * tests/pkg/samename.tcl: test file for bug #1983 sl@0: sl@0: * tests/pkgMkIndex.test: sl@0: * doc/pkgMkIndex.n: sl@0: * library/package.tcl: Per rfe #4097, optimized creation of direct sl@0: load packages to bypass computing the list of commands added by sl@0: the new package. Also made direct loading the default, and added sl@0: a -lazy option. sl@0: Fixed bug #1983, dealing with pkg_mkIndex incorrectly handling sl@0: situations with two procs by the same name but in different sl@0: namespaces (ie, foo::baz and bar::baz). sl@0: sl@0: 2000-01-26 Eric Melski sl@0: sl@0: * generic/tclNamesp.c: Undid fix for #956, which broke backwards sl@0: compatibility. sl@0: sl@0: * doc/variable.n: sl@0: * doc/trace.n: sl@0: * doc/namespace.n: sl@0: * doc/info.n: Added further information about differences between sl@0: "namespace which" and "info exists". sl@0: sl@0: * doc/SetErrno.3: Added descriptions of ErrnoId() and ErrnoMsg() sl@0: functions. sl@0: sl@0: 2000-01-25 Jeff Hobbs sl@0: sl@0: * unix/tcl.m4: modified EXTRA_CFLAGS to add -DHAVE_TZSET for sl@0: OSF1-V* and ULTRIX-4.* when not using gcc. Also added higher min sl@0: stack size for OSF1-V* when building with threads. [Bug: 4063] sl@0: sl@0: * generic/tclClock.c (FormatClock): inlined resultPtr, as it sl@0: conflicted with var creation for HAVE_TZSET #def [Bug: 4063] sl@0: sl@0: * generic/tclCmdIL.c (Tcl_LsortObjCmd): fixed potential leak sl@0: when calling lsort -command with bad command [Bug: 4067] sl@0: sl@0: * generic/tclFileName.c (Tcl_JoinPath): added support for special sl@0: QNX node id prefixes in pathnames [Bug: 4053] sl@0: sl@0: * doc/ListObj.3: clarified Tcl_ListObjGetElements docs [Bug: 4080] sl@0: sl@0: * doc/glob.n: clarified Mac path separator determination docs. sl@0: sl@0: * win/makefile.vc: added some support for building helpfile on Windows sl@0: sl@0: 2000-01-23 Jeff Hobbs sl@0: sl@0: * library/init.tcl (auto_execok): added 'start' to list of sl@0: recognized built-in commands for COMSPEC on NT. [Bug: 2858] sl@0: sl@0: * unix/tclUnixPort.h: moved include of lower since some sl@0: systems (UTS) require sys/types.h to be included first [Bug: 4031] sl@0: sl@0: * unix/tclUnixChan.c (CreateSocketAddress): changed comparison sl@0: with -1 to 0xFFFFFFFF, to ensure 32 bit comparison even on 64 bit sl@0: systems. [Bug: 3878] sl@0: sl@0: * generic/tclFileName.c: improved guessing of path separator sl@0: for the Mac. (Darley) sl@0: sl@0: * generic/tclInt.h: sl@0: * generic/tcl.decls: moved Tcl_ProcObjCmd to stubs table [Bug: 3827] sl@0: and removed 'register' from stub definition of sl@0: Tcl_AppendUnicodeToObj [Bug: 4038] sl@0: sl@0: 2000-01-21 Eric Melski sl@0: sl@0: * unix/mkLinks: sl@0: * doc/GetHostName.3: Man page for Tcl_GetHostName (bug #1817). sl@0: sl@0: * doc/lreplace.n: Corrected man page with respect to treatment of sl@0: empty lists, and "prettied up" the page. (bug #1705). sl@0: sl@0: 2000-01-20 Eric Melski sl@0: sl@0: * tests/namespace.test: Added test for undefined variables with sl@0: namespace which (bug #956). sl@0: sl@0: * generic/tclNamesp.c: Added check for undefined variables in sl@0: NamespaceWhichCmd (bug #956). sl@0: sl@0: * tests/var.test: Added tests for corrected variable behavior sl@0: (bug #981). sl@0: sl@0: * doc/upvar.n: Expanded explanation of upvar behavior with respect to sl@0: variable traces. (bugs 3917 1433 2110). sl@0: sl@0: * generic/tclVar.c: Changed behavior of variable command when name sl@0: refers to an element in an array (ie, "variable foo(x)") to always sl@0: return an error, regardless of existance of that element in the sl@0: array (now behavior is consistant with docs too) (bug #981). sl@0: sl@0: 2000-01-20 Jeff Hobbs sl@0: sl@0: * generic/tclCmdIL.c (InfoBodyCmd): made [info body] return a sl@0: string if the body has been bytecompiled. sl@0: * generic/tclBasic.c (Tcl_EvalObjEx): added pedantic check for sl@0: originating proc body of bytecompiled code, #def'd out as the sl@0: change for [info body] should make it unnecessary sl@0: sl@0: * unix/tclUnixNotfy.c (Tcl_InitNotifier): added cast for tsdPtr sl@0: sl@0: * tests/set.test: added test for complex array elem name compiling sl@0: * generic/tclCompCmds.c (TclCompileSetCmd): Fixed parsing of array sl@0: elements during compiling, and slightly optimised same [Bug: 3889] sl@0: sl@0: * doc/tclvars.n: added definitions for tcl_(non)wordchars sl@0: sl@0: * doc/vwait.n: added notes about requirement for vwait var being sl@0: globally scoped [Bug: 3329] sl@0: sl@0: * library/word.tcl: changed tcl_(non)wordchars settings to use sl@0: new unicode regexp char class escapes instead of char sequences sl@0: sl@0: 2000-01-14 Eric Melski sl@0: sl@0: * tests/var.test: Added a test for the array multiple delete sl@0: protection in Tcl_UnsetVar2. sl@0: sl@0: * generic/tclVar.c: Added protection in Tcl_UnsetVar2 against sl@0: attempts to multiply delete arrays when unsetting them (bug sl@0: #3453). This could happen if there was an unset trace on an array sl@0: element and the trace proc made a global or upvar link to the sl@0: array, and then the array was unset at the global level. See the sl@0: bug reference for more information. sl@0: sl@0: * unix/tclUnixTime.c: New clock format format. sl@0: sl@0: * compat/strftime.c: New clock format format. sl@0: sl@0: * generic/tclGetDate.y: New clock scan format. sl@0: sl@0: 2000-01-13 Jeff Hobbs sl@0: sl@0: * changes: updated changes file to reflect 8.3b2 mods sl@0: sl@0: * README: sl@0: * generic/tcl.h: sl@0: * tools/tcl.wse.in: sl@0: * unix/configure.in: sl@0: * unix/tcl.m4: sl@0: * win/README.binary: sl@0: * win/configure.in: updated to patchlevel 8.3b2 sl@0: sl@0: * generic/regexec.c: added var initialization to prevent compiler sl@0: warning sl@0: sl@0: 2000-01-13 Eric Melski sl@0: sl@0: * tests/cmdIL.test: Added tests for lsort -dictionary with sl@0: characters that occur between Z and a in ASCII. sl@0: sl@0: * generic/tclCmdIL.c: Modified DictionaryCompare function (used by sl@0: lsort -dictionary) to do upper/lower case equivalency before doing sl@0: character comparisons, instead of after. This fixes bug #1357, in sl@0: which lsort -dictionary [list ` AA c CC] and lsort -dictionary sl@0: [list AA c ` CC] gave different (and both wrong) results. sl@0: sl@0: 2000-01-12 Eric Melski sl@0: sl@0: * tests/clock.test: Added tests for "next " and sl@0: "" sl@0: Added tests for "monday 1 week ago", etc, from RFE #3671. sl@0: sl@0: * doc/tests/clock.test: Added numerous tests for clock scan. sl@0: sl@0: * doc/generic/tclGetDate.y: Fixed some shift/reduce conflicts in sl@0: clock grammar. sl@0: sl@0: * doc/doc/clock.n: Added documentation for new supported clock sl@0: scan formats and additional explanation of daylight savings time sl@0: correction algorithm. sl@0: sl@0: 2000-01-12 Jeff Hobbs sl@0: sl@0: * doc/file.n: sl@0: * tests/unixFCmd.test: sl@0: * unix/tclUnixFCmd.c: added support for symbolic permissions sl@0: setting in SetPermissionsAttribute (file attr $file -perm ...) sl@0: [Bug: 3970] sl@0: sl@0: * generic/tclClock.c: fixed support for 64bit handling of clock sl@0: values [Bug: 1806] sl@0: sl@0: * generic/tclThreadTest.c: upped a buffer size to hold double sl@0: sl@0: * tests/info.test: sl@0: * generic/tclCmdIL.c: fixed 'info procs ::namesp::*' behavior (Dejong) sl@0: sl@0: * generic/tclNamesp.c: made imported commands also import their sl@0: compile proc [Bug: 2100] sl@0: sl@0: * tests/expr.test: sl@0: * unix/Makefile.in: sl@0: * unix/configure.in: sl@0: * unix/tcl.m4: recognize strtod bug on Tru64 v5.0 [Bug: 3378] sl@0: and added tests to prevent unnecessary chmod +x in sources while sl@0: installing, as well as more intelligent setsockopt/gethostbyname sl@0: checks [Bug: 3366, 3389] sl@0: sl@0: * unix/tclUnixThrd.c: added compile time support (through use of sl@0: the TCL_THREAD_STACK_MIN define) for increasing the default stack sl@0: size for a thread. [Bug: 3797, 1966] sl@0: sl@0: 2000-01-11 Eric Melski sl@0: sl@0: * generic/tclGetDate.y: Added comments for the Convert function. sl@0: Added a fix for daylight savings time handling for relative time sl@0: spans of days, weeks or fortnights. (bug 3441, 3868). sl@0: sl@0: * generic/tclDate.c: Fixed compiler warning issues. sl@0: sl@0: 2000-01-10 Jeff Hobbs sl@0: sl@0: * compat/waitpid.c: use pid_t type instead of int [Bug: 3999] sl@0: sl@0: * tests/utf.test: fixed test that allowed \8 as octal value sl@0: * generic/tclUtf.c: changed Tcl_UtfBackslash to not allow sl@0: non-octal digits (8,9) in \ooo substs. [Bug: 3975] sl@0: sl@0: * generic/tcl.h: noted need to change win/tcl.m4 and sl@0: tools/tclSplash.bmp for minor version changes sl@0: sl@0: * library/http2.1/http.tcl: trim value for $state(meta) key sl@0: sl@0: * unix/tclUnixFile.c: fixed signature style on functions sl@0: sl@0: * unix/Makefile.in: made sure tcl.m4 would be installed with dist sl@0: sl@0: * unix/tcl.m4: added ELF support for NetBSD [Bug: 3959] sl@0: sl@0: 2000-01-10 Eric Melski sl@0: sl@0: * generic/tclGetDate.y: Added rules for ISO 8601 formats (BUG #847): sl@0: CCYY-MM-DD sl@0: CCYYMMDD sl@0: YY-MM-DD sl@0: YYMMDD sl@0: CCYYMMDDTHHMMSS sl@0: CCYYMMDD HHMMSS sl@0: CCYYMMDDTHH:MM:SS sl@0: Fixed "clock scan " to scan the number as an hour for the sl@0: current day, rather than a minute after 00:00 for the current day sl@0: (bug #2732). sl@0: sl@0: 2000-01-07 Eric Melski sl@0: sl@0: * generic/tclClock.c: Changed switch in Tcl_ClockObjCmd to use sl@0: enumerated values instead of constants. (ie, COMMAND_SCAN instead sl@0: of 3).