ChangeLog.2000
上传用户:rrhhcc
上传日期:2015-12-11
资源大小:54129k
文件大小:92k
- 2000-12-14 Don Porter <dgp@users.sourceforge.net>
- * generic/tclExecute.c:
- * tests/expr-old.test: Re-wrote Tcl's [expr rand()] and
- [expr srand($seed)] implementations, fixing a range error
- on some 64-bit platforms. Added tests that detect the bug.
- The rewrite changes the seed -> sequence map on 64-bit
- platforms, only for seed >= 2^31, a slight incompatibility.
- [Bug 121072, Patch 102781]
- 2000-12-10 Don Porter <dgp@users.sourceforge.net>
- * library/init.tcl:
- * library/msgcat/msgcat.tcl:
- * library/msgcat/pkgIndex.tcl:
- * library/opt/optparse.tcl:
- * library/opt/pkgIndex.tcl: Where [uplevel] is used in a proc
- to evaluate a Tcl built-in command in the caller's context,
- the built-in commands are now fully namespace-qualified. This
- prevents problems when the caller context is in a namespace where
- the built-in command name has been used by a command in the
- namespace. (For example, [::ns::set] might be called instead
- of the intended [::set]). [Bug #119422, Patch #102545]
- 2000-12-09 jeff hobbs <jhobbs@interwoven.com>
- * win/tclWinTime.c (CalibrationThread): added lint return value to
- prevent compiler warning. [Bug #125005]
- * docs/scan.n:
- * tests/scan.test:
- * generic/tclScan.c (Tcl_ScanObjCmd): changed %o and %x to use
- strtoul instead of strtol to correctly preserve scan<>format
- conversion of large integers. [Patch #102663, Bug #124600]
- * generic/tclExecute.c (TclExecuteByteCode): Commited patch fixing
- handling of {!<boolean>} in expressions. [Patch #102702]
- 2000-12-08 jeff hobbs <jhobbs@interwoven.com>
- * library/init.tcl: Added support for PATHEXT variable in
- auto_execok, recognizing the proper set of executable extensions
- on Windows. [Patch #102719]
- 2000-12-08 Andreas Kupries <a.kupries@westend.com>
- * generic/tclEncoding.c (LoadTableEncoding): Changed dangerous
- code to something less critical. This fixes bug 119417, part A
- without affecting the speed when loading encodings.
- 2000-12-08 Donal K. Fellows <fellowsd@cs.man.ac.uk>
- * doc/open.n: Added xref to fconfigure and advice on the opening
- of binary files. Should help prevent a recurrence of bugs like
- #124558
- 2000-12-07 jeff hobbs <jhobbs@interwoven.com>
- * generic/tcl.h: added note about need to updated
- library/dde/pkgIndex.tcl with minor version increment.
- * library/dde/pkgIndex.tcl: updated to use 84 version to reflect
- the makefile. Should probably be updated to use its real version
- at some point. [Patch #102560, Bug #119421]
- 2000-12-06 eric melski <ericm@ajubasolutions.com>
- * generic/tcl.h (attemptckalloc): Fixed typo for #define of
- attemptckalloc (was defined to Tcl_AttempDbCkalloc, should have
- been Tcl_AttemptDbCkalloc). [Bug: 124384]
- * generic/tclCkalloc.c: Added
- TCL_MEM_DEBUG versions of Tcl_AttemptDbCkrealloc and
- Tcl_AttemptDbCkalloc. [Bug: 124384].
- 2000-11-24 Donal K. Fellows <fellowsd@cs.man.ac.uk>
- * generic/tclExecute.c (TclExecuteByteCode): Logical negation "!"
- can now handle string booleans, provided those values are placed
- in variables.
- * tests/expr.test (expr-13.17): Check that [expr {!$var}] can
- negate the string-versions of booleans "yes", "false", etc.
- * library/tcltest/tcltest.tcl (getMatchingFiles,
- getMatchingDirectories):
- * tools/man2html.tcl (doDir):
- * tools/man2help.tcl (doDir):
- * library/package.tcl (tclPkgUnknown,tclMacPkgSearch):
- * library/safe.tcl (AddSubDirs): [glob] uses -directory instead of
- unsafe [file join] to fix Bug #123313
- * generic/tclIndexObj.c:
- * generic/tclTestObj.c (TestindexobjCmd): Changed internal
- representation of index objects to fix Bug #119082; fix
- shouldn't be visible to outside world...
- * generic/tclTest.c (TestGetIndexFromObjStructObjCmd):
- * tests/indexObj.test: (indexObj-6.*) Added to test for presence
- of Bug #119082.
- 2000-11-23 Donal K. Fellows <fellowsd@cs.man.ac.uk>
- * generic/tclCmdIL.c (Tcl_LsortObjCmd): Fixed memory leak from Bug
- #119398
- * library/init.tcl (unknown): Added specific level parameters to
- all uplevel invokations to boost performance; didn't dare touch
- the "namespace inscope" stuff though, since it looks sensitive
- to me! Should fix Bug #123217, though testing is tricky...
- 2000-11-21 Andreas Kupries <a.kupries@westend.com>
- * All of the changes below are described in TIP #7 ~ Specification
- and result from the application of the patch contained
- therein. Creator of the patch is Kevin Kenny
- <kennykb@crd.ge.com>. The patch used here is actually a bit
- different. Two MS specific constant values (format FOOui64) were
- replaced with a more portable formatting of the values and an
- additional cast to LONGLONG. My cross-compiling gcc was unable to
- process the original form. The SF Id of the patch is 102459.
- * tclWinTime.c: Add to the static data a set of variables that
- manage the phase-locked techniques, including a
- ''CRITICAL_SECTION'' to guard them so that multi-threaded code
- is stable.
- * tclWinTime.c: Modify ''TclpGetSeconds'' to call ''TclpGetTime''
- and return the 'seconds' portion of the result. This change is
- necessary to make sure that the two times are consistent near
- the rollover from one second to another.
- * tclWinTime.c: Modify ''TclpGetClicks'' to use TclpGetTime to
- determine the click count as a number of microseconds.
- * tclWinTime.c: Modify ''TclpGetTime'' to return the time as
- M*Q+B, where Q is the result of ''QueryPerformanceCounter'', and
- M and B are variables maintained by the phase-locked loop to
- keep the result as close as possible to the system clock. The
- ''TclpGetTime'' call will also launch the phase-lock management
- in a separate thread the first time that it is invoked. If the
- performance counter is unavailable, or if its frequency is not
- one of the two common 8254-compatible rates, then
- ''TclpGetTime'' will return the result of ''ftime'' as it does
- in Tcl 8.3.2.
- * tclWinTime.c: Add the clock calibration procedure. The
- calibration is somewhat complex; to save space, the reader is
- referred to the reference implementation for the details of how
- the time base and frequency are maintained.
- * tclWinNotify.c: Modify ''Tcl_Sleep'' to test that the process
- has, in fact, slept for the requisite time by calling
- ''TclpGetTime'' and comparing with the desired time. Otherwise,
- roundoff errors may cause the process to awaken early.
- * tclWinTest.c: Add a ''testwinclock'' command. This command
- returns a four element list comprising the seconds and
- microseconds portions of the system clock and the seconds and
- microseconds portions of the Tcl clock.
- * winTime.test: Add to the test suite a test that makes sure that
- the Tcl clock stays within 1.1 ms of the system clock over the
- duration of the test.
- 2000-11-21 Donal K. Fellows <fellowsd@cs.man.ac.uk>
- * doc/global.n:
- * doc/upvar.n:
- * doc/variable.n: Improved documentation to mention that variables
- so created are listed in [info locals] and added a few more
- cross-links between these commands. Fixes bug #119387
- 2000-11-17 Donal K. Fellows <fellowsd@cs.man.ac.uk>
- * tests/safe.test: (safe-4.3):
- * generic/tclVar.c (TclLookupVar): Changed again. Now passes all
- the tests, though one needed modifying since it required the
- wrong answer. (Why on earth do we have inline modification of
- argument strings? This sort of thing is horrendous to debug and
- doesn't work well in a multithreaded environment!) Fixes bug
- 119192.
- * tests/var.test: (var-1.19) If my attempts to fix the problem
- aren't right yet, my attempts to describe it look pretty good to
- me...
- 2000-11-16 Andreas Kupries <a.kupries@westend.com>
- * win/tclWinPort.h (line 69): Changed reference to winsock2.h into
- winsock.h. This was a leftover from a foray into using winsock
- version 2 (History lesson from Scott Redman and Jeff
- Hobbs). This code was no problem when compiling Tcl itself, but
- could trip extensions. Fixes bug 122568.
- 2000-11-15 jeff hobbs <jeff.hobbs@acm.org>
- * unix/Makefile.in: removed bp.c references (hasn't existed in a
- long time). Corrected 'make dist' to make dist with unversioned
- library directories (same as out of cvs), so make install works
- correctly with either source tree.
- 2000-11-15 jeff hobbs <jeff.hobbs@acm.org>
- * generic/tclVar.c (TclLookupVar): reverted fix below as it broke
- all other array unset error reporting. Bug-119192 is still
- open.
- 2000-11-15 Donal K. Fellows <fellowsd@cs.man.ac.uk>
- * generic/tclVar.c (TclLookupVar): Changed references to part2 to
- use elName instead in various error message generating spots, so
- as to fix Bug-119192.
- 2000-11-03 David Gravereaux <davygrvy@ajubasolutions.com>
- * win/.cvsignore: Removed 'configure' from the glob list now
- that it's included.
- 2000-11-03 Jeff Hobbs <hobbs@ajubasolutions.com>
- 8.4a2 RELEASE
- * unix/Makefile.in (install-libraries, dist):
- * win/makefile.vc (install-libraries):
- * win/Makefile.in (install-libraries): updated to install
- unversioned library directories into versioned directories.
- * tools/tcl.wse.in: updated for unversioning of library dirs
- * unix/mkLinks: updated mkLinks with latest doc updates
- * doc/Tcl_Main.3: added docs for Tcl_SetMainLoop
- * generic/tclStubInit.c:
- * generic/tclDecls.h:
- * generic/tcl.decls: added Tcl_SetMainLoop proc that allows people
- to set a main loop that will run for tclsh.
- * generic/tcl.h: added Tcl_MainLoopProc typedef
- * generic/tclMain.c (Tcl_SetMainLoop, StdinProc, Prompt): new
- StdinProc and Prompt static procs and Tcl_SetMainLoop stubs proc.
- The first two handle a fileevent based prompt (taken from
- tkMain.c). Tcl_SetMainLoop enables the interactive setting of a
- main loop procedure. This enables Tk to be a loadable package.
- 2000-11-02 David Gravereaux <davygrvy@ajubasolutions.com>
- * generic/tclEvent.c: tclLibraryPath Tcl_Obj didn't have a way
- to share its data among threads. This caused Tcl_Init() to
- always fail in threads. Added a way to pass the data around
- with a global char*. [BUG: 5301]
- 2000-11-02 Jeff Hobbs <hobbs@ajubasolutions.com>
- * unix/configure:
- * unix/dltest/configure:
- * win/configure:
- * tools/configure: checked in configure scripts so people doing
- CVS checkouts aren't required to have autoconf. Changes to
- configure.in in the future will require the corresponding
- configure script to also be re-autoconf'ed and checked in.
- * win/makefile.vc:
- * win/tcl.m4: makefile fixes for Win64 support
- * generic/tclIndexObj.c (Tcl_GetIndexFromObjStruct): minor cast
- changes.
- 2000-11-01 Jeff Hobbs <hobbs@ajubasolutions.com>
- * unix/tcl.m4: removed use of -lbsd and -ldl for AIX-5.
- * tests/subst.test: added tests for non-zero return code handling
- by subst.
- * generic/tclParse.c (Tcl_EvalEx): corrected handling of non-zero,
- non-error return code cases for subst. [BUG: 119829]
- * generic/tclVar.c (TclVarTraceExists): Corrected excessive mem
- use when info exists was called on a non-existent array element.
- [BUG: 119213, 119336]
- 2000-10-30 David Gravereaux <davygrvy@ajubasolutions.com>
- * win/configure.in:
- * win/Makefile.in:
- * win/makefile.vc:
- * win/tcl.rc:
- * win/tclsh.rc: Added logic to derive filenames better in the resource
- scripts based on compile options.
- 2000-10-30 Jeff Hobbs <hobbs@ajubasolutions.com>
- * unix/tclUnixInit.c: added default encoding map from
- "ja_JP.eucJP" to "euc-jp". (takahashi)
- * tests/clock.test: corrected clock-2.* test numbering
- * unix/configure.in (SC_TCL_LINK_LIBS): removed code that was
- commented out (it had been moved to tcl.m4's SC_TCL_LINK_LIBS
- already).
- * unix/tcl.m4: consolidated gettimeofday check for AIX.
- 2000-10-27 Jeff Hobbs <hobbs@ajubasolutions.com>
- * unix/configure.in:
- * unix/tcl.m4: added support for AIX-5.
- * generic/tclIO.c (Tcl_NotifyChannel): removed #ifdef around code
- for old channel structures, placed preserve/release around statePtr
- * generic/tclIO.c (CloseChannel): the statePtr for a channel was
- not being freed when the last channel in a stack was freed,
- causing a mem leak.
- * unix/tclUnixChan.c: updated channel types to strict
- TCL_CHANNEL_VERSION_2 style to avoid compiler warnings. They work
- either way, but this avoids compiler warnings (that worries people).
- 2000-10-27 Jennifer Hom <jenn@ajubasolutions.com>
- * library/tcltest1.0/tcltest.tcl: Removed a cd into the test
- directory in runAllTests that screwed up the temporary directory
- setting, effectively preventing users from running tests on
- multiple platforms at the same time.
- 2000-10-26 David Gravereaux <davygrvy@ajubasolutions.com>
- * win/tclWinFile.c (TclpMatchFilesTypes): NULL was being set to
- "attr" which was a DWORD. Changed NULL to zero because a 'void *'
- can't be set to a DWORD to avoid the compiler warning.
- 2000-10-24 Jennifer Hom <jenn@ajubasolutions.com>
- * tests/all.tcl: Removed support for tcltest 1.0.
-
- * tests/tcltest.test:
- * library/tcltest1.0/tcltest.tcl:
- * library/tcltest1.0/pkgIndex.tcl:
- * docs/tcltest.n: Moved tcltest2 code so that it's the standard
- version of tcltest. Removed all tcltest2 files
- (tests/tcltest2.test, library/tcltest1.0/tcltest2.tcl,
- docs/tcltest2.n).
- 2000-10-20 Jeff Hobbs <hobbs@ajubasolutions.com>
- * win/tclWinFile.c (TclpMatchFilesTypes): made the stat call only
- occur when necessary (for 'glob' command). Significantly speeds
- up glob command from 8.3. [BUG: 6216]
- 2000-10-19 Jennifer Hom <jenn@ajubasolutions.com>
- * library/tcltest1.0/tcltest2.tcl:
- * tests/tcltest2
- * doc/tcltest2.n: Code and documentation cleanup. Modified
- -verbose to take list of keywords as well as string of letters.
- Removed Tcl version information from tcltest. Removed
- tcltest::grep from tcltest package. Added optional 3rd directory
- argument to makeFile/makeDirectory and removeFile/removeDirectory.
- * tests/basic.test: Changed references to tcltest::tclVersion to
- hardcoded numbers.
- * generic/tcl.h: Changed reference to tcltest2.tcl and tcltest.tcl
- in comments to tests/basic.test.
- 2000-10-06 David Gravereaux <davygrvy@ajubasolutions.com>
- * win/tclWinChan.c: moved Win2K bug case test with GetStdHandle()
- from TclpGetDefaultStdChannel into Tcl_MakeFileChannel to enable
- a more general method in detecting invalid OS handles rather than
- just a specific known case. [BUG: 5971]
- 2000-10-06 Jeff Hobbs <hobbs@ajubasolutions.com>
- * tests/cmdAH.test: extra tests for 'file channels' that include
- multiple interpreter tests and channel sharing
- * generic/tclIO.c (Tcl_GetChannelNamesEx): corrected function (and
- consequently 'file channels') to return channels that are actually
- registered for this specific interp, rather than this thread.
- * doc/CrtChannel.3: fixed spelling mistakes
- 2000-09-29 Jennifer Hom <jenn@ajubasolutions.com>
- * library/tcltest1.0/tcltest2.tcl:
- * tests/tcltest2.test:
- * doc/tcltest2.n: Modified the new form of the test command to
- accept both attribute-value pairs and command line options.
- Updated the tests and the documentation for this new format.
- Also changed the option names for the test command.
- 2000-09-29 Jeff Hobbs <hobbs@scriptics.com>
- * win/tclWinSerial.c (SerialGetOptionProc): corrected reporting of
- space parity on Windows (Eason) [Bug 6057].
- * win/Makefile.in: commented use of TESTFLAGS
- * unix/Makefile.in: added TESTFLAGS to test target to
- conform with Windows makefile and TEA style.
- * tests/stack.test: prevented possible crash on systems with low
- default stacksize (Tru64, AIX) in infinite recursion test. A
- solution to check remaining stack space in the core is best, but
- hard to do in a cross-platform manner.
- * generic/tclIOGT.c (FLUSH_DELAY): renamed DELAY define to
- FLUSH_DELAY to avoid defn conflict using Tru64's cc.
- 2000-09-28 Jeff Hobbs <hobbs@ajubasolutions.com>
- * tools/tcl.wse.in: added tclPlatDecls.h and tkPlatDecls.h to the
- Windows .exe install.
- * tests/fCmd.test (fCmd-6.20): corrected test to remove
- c:/tcl8975@ after creating it.
- * tests/fileName.test: cleaned up the testing of glob patterns for
- c:/globTest (Windows) to directly create/remove directory.
- 2000-09-27 Jeff Hobbs <hobbs@ajubasolutions.com>
- * generic/tcl.decls:
- * generic/tclIO.c: updated Tcl_IsChannelShared,
- Tcl_IsChannelRegistered, Tcl_CutChannel, Tcl_SpliceChannel,
- Tcl_IsChannelExisting, and Tcl_ClearChannelHandlers to conform to
- the new stacked channel implementation. Their stub slots were
- also moved to give preference to the new 8.3.2 stub functions.
- This will cause an incompatability with 8.4a1 only.
- (StopCopy): fixed a bug introduced by a partial fix in 8.3.2 that
- didn't set nonBlocking correctly when resetting the flags for the
- write side. [Bug: 6261]
- * doc/ChnlStack.3:
- * doc/CrtChannel.3:
- * generic/tcl.decls:
- * generic/tcl.h:
- * generic/tclDecls.h:
- * generic/tclIO.c:
- * generic/tclIO.h:
- * generic/tclIOGT.c:
- * generic/tclInt.decls:
- * generic/tclIntDecls.h:
- * generic/tclStubInit.c:
- * generic/tclTest.c:
- * tests/iogt.test:
- * unix/Makefile.in:
- * win/Makefile.in:
- * win/makefile.vc:
- * win/tclConfig.sh.in:
- * win/tclWinChan.c:
- * win/tclWinConsole.c:
- * win/tclWinPipe.c:
- * win/tclWinSerial.c:
- * win/tclWinSock.c: Up-port of changes made in 8.3.2 to 8.4a2 code
- base. Most of these changes relate to the rewrite of the stacked
- channel implementation, with a few config related fixes.
- Following is an asynchronous include of the applicable ChangeLog
- entries from 8.3.2.
- ********************************************************
- ** START OF ASYNCHRONOUS UP-PORT LOG (8.3.2 -> 8.4a2) **
- ********************************************************
- 2000-08-07 Jeff Hobbs <hobbs@scriptics.com>
- * doc/ChnlStack.3:
- * doc/CrtChannel.3: updated the docs to be aware of the
- TCL_CHANNEL_VERSION_2 style of Tcl channels.
- * generic/tclIO.c (Tcl_CreateChannel): added assertion to verify
- that the new channel versioning will be binary compatible with
- older channel drivers.
- 2000-08-05 Jeff Hobbs <hobbs@scriptics.com>
- * generic/tclIOGT.c (TclChannelTransform): fixed segfault that
- would occur when transforming a channel with a proc that did not
- yet exist. (Kupries)
- * generic/tclTest.c (TestChannelCmd): added some lint init'ing of
- statePtr and chan vars.
- 2000-07-26 Jeff Hobbs <hobbs@scriptics.com>
- * merged core-8-3-1-io-rewrite back into core-8-3-1-branch.
- The core-8-3-1-io-rewrite branch should now be considered defunct.
- * generic/tclStubInit.c:
- * generic/tclDecls.h:
- * generic/tcl.decls:
- * generic/tcl.h:
- * generic/tclIO.c: moved the Tcl_Channel* macros from tcl.h to
- tclIO.c and made them proper stubbed functions. These are:
- Tcl_ChannelName, Tcl_ChannelVersion, Tcl_ChannelBlockModeProc,
- Tcl_ChannelCloseProc, Tcl_ChannelClose2Proc, Tcl_ChannelInputProc,
- Tcl_ChannelOutputProc, Tcl_ChannelSeekProc, Tcl_ChannelSetOptionProc,
- Tcl_ChannelGetOptionProc, Tcl_ChannelWatchProc,
- Tcl_ChannelGetHandleProc, Tcl_ChannelFlushProc,
- and Tcl_ChannelHandlerProc. These should be used to access the
- Tcl_ChannelType structure instead of direct pointer dereferencing.
- * tests/iogt.test: added RCS string, marked tests 2.* to be
- unixOnly due to underlying system differences.
- 2000-07-25 Andreas Kupries <a.kupries@westend.com>
- * tests/iogt.test: (line 866f) New tests iogt-6.[01], highlighting
- buffering trouble when stacking and unstacking transformations.
- iogt-6.0 is solved, see the changes below. iogt-6.1 remains, for
- now, due to the perceived complexity of solutions.
- * generic/tclIO.h: (line 139f) struct Channel, added a buffer
- queue, to hold data pushed back when stacking a transformation.
- * generic/tclIO.c:
- (line 91f, line 7434f) New internal function 'CopyBuffer'.
- Derived from 'CopyAndTranslateBuffer', with translation
- removed.
- (line 1025f, line 1212f): Initialization of new queue.
- (line 1164f, Tcl_StackChannel): Pushback of input queue.
- (line 1293f, Tcl_UnstackChannel): Discard input and pushback.
- (line 3748f, Tcl_ReadRaw): Modified to use data in the push back
- area before going to the driver. Uses 'CopyBuffer', s.a.
- (line 4702f, GetInput): Modified to use data in the push back
- area before going to the driver.
- (line 4867f, Tcl_Seek): Modified to take pushback of the topmost
- channel in a stack into account.
- (line 5620f, Tcl_InputBuffered): See above. Added
- 'Tcl_ChannelBuffered'. Analogue to 'Tcl_InputBuffered' but for
- the buffer area in the channel.
- * generic/tcl.decls: New public API 'Tcl_ChannelBuffered'. S.a.
- 2000-07-17 Jeff Hobbs <hobbs@scriptics.com>
- * unix/Makefile.in:
- * win/Makefile.in:
- * win/makefile.vc: added tclIOGT.c to objects list to compile.
- * generic/tclStubInit.c:
- * generic/tclIntDecls.h:
- * generic/tclInt.decls: commented out internal decls for
- TclTestChannelCmd and TclTestChannelEventCmd as they were moved to
- tclTest.c. Added new decls for TclChannelEventScriptInvoker and
- TclChannelTransform.
- * generic/tclIO.c (CloseChannel): stopped masking out of the
- TCL_READABLE|TCL_WRITABLE bits from the state flags in
- CloseChannel, instead adding extra intelligence to
- CheckChannelErrors with a new CHANNEL_RAW_MODE bit for special
- behavior when called from Raw channel APIs.
- 2000-07-13 Jeff Hobbs <hobbs@scriptics.com>
- * generic/tclIO.c (StackSetBlockMode): moved set of chanPtr
- outside of blockModeProc check to avoid infinite loop when
- blockModeProc was NULL (Kupries). updated TransformSeekProc to
- not call Tcl_Seek directly (Kupries).
- * win/tclWinChan.c: updated fileChannelType to v2 channel struct
- * win/tclWinConsole.c: updated consoleChannelType to v2 channel struct
- * win/tclWinPipe.c: updated pipeChannelType to v2 channel struct
- * win/tclWinSerial.c: updated serialChannelType to v2 channel struct
- * win/tclWinSock.c: updated tcpChannelType to v2 channel struct
- 2000-07-11 Brent Welch <welch@ajubasolutions.com>
- * win/tclConfig.sh.in (TCL_LIBS): Cleaned up unix-specific
- autoconf variables.
- 2000-07-11 Jeff Hobbs <hobbs@scriptics.com>
- * tests/iogt.test: made tests [345].0 not run by default as they
- were failing in the new design, but I'm not convinced that the
- returned result isn't correct.
- * generic/tclDecls.h:
- * generic/tclStubInit.c:
- * generic/tcl.decls: added Tcl_GetTopChannel C API that returns
- the current top channel of a channel stack. Tcl_GetChannel was
- changed earlier to return the bottommost channel of a stack
- because that is the one that is guaranteed to stay around the
- longest, and this was needed to compensate for certain
- operations that want to look at the state of the main channel.
- Most channel APIs already compensate for grabbing the top, so it
- shouldn't be needed often.
- * generic/tclIO.c (Tcl_StackChannel, Tcl_UnstackChannel): Added
- flushing of buffers (Kupries), removed use of DownChannel macro,
- added Tcl_GetTopChannel public API to get to the top channel of
- the channel stack (necessary for TLS). Rewrote Tcl_NotifyChannel
- for new channel design (Kupries). Did some code cleanup in the
- transform code. tclIO.c must still be broken into bits (separate
- out test code and giot code, create tclIO.h).
- 2000-07-10 Andreas Kupries <a.kupries@westend.com>
- * tests/iogt.test: Reverted some earlier changes as a fix by Jeff
- revived the original and correct behaviour. IOW, the tests showed
- a genuine error and I didn't see it :(.
- * generic/tclIO.c (Tcl_Read|Write_Raw): Changed to directly use
- the drivers and not DoRead|DoWrite. The latter use the buffering
- system, encoding and eol-translation and this wreaks havoc with
- the data going through the transformations. Both procedures use
- CheckForchannelErrors and let it believe that there is no
- background copy in progress or else stacked channels could not
- be used for that.
- * generic/tclIO.c (TclCopyChannel, CopyData): Moved access to the
- topmost channel from the first to the second procedure to make
- the decision about that at the last possible time (Callbacks can
- change the stacking).
- test suite: failures of iogt-[345].0
-
- 2000-07-06 Jeff Hobbs <hobbs@scriptics.com>
- * tests/iogt.test: new tests for stacked channel stuff based off
- new 'testchannel transform|unstack' code (Kupries IOGT extension).
- * generic/tcl.decls:
- * generic/tcl.h:
- * generic/tclDecls.h:
- * generic/tclStubsInit.c:
- * generic/tclIO.c: complete rewrite of Tcl Channel code for
- stacked channels. Channels are now designed to work in a more
- stacked fashion with a shared ChannelState data structure.
- 2000-06-02 Jeff Hobbs <hobbs@scriptics.com>
- * generic/tclIO.c (CloseChannel): removed the &ing out of
- (TCL_READABLE|TCL_WRITABLE) from the flags, as CloseChannel does
- this on the next pass through for the top channel, and it appeared
- to be causing hangs by not allowing the final flush.
- 2000-06-01 Jeff Hobbs <hobbs@scriptics.com>
- * generic/tclIO.c (CloseChannel): Rewrote CloseChannel code to
- unstack a channel during the close process. Fixed a refcount bug
- in Tcl_UnstackChannel. [Bug: 5623]
- (CloseChannel): further extended CloseChannel in the stacked case
- to effect certain operations on the next channel that would have
- been done in Tcl_Close. Also added CHANNEL_CLOSED and removed
- (TCL_READABLE|TCL_WRITABLE) bits from chanPtr->flags. Changed
- final reset of the WatchProc to check the chanDownPtr's (next)
- interestMask.
- ******************************************************
- ** END OF ASYNCHRONOUS UP-PORT LOG (8.3.2 -> 8.4a2) **
- ******************************************************
- 2000-09-20 Jeff Hobbs <hobbs@scriptics.com>
- * tests/socket.test: removed doTestsWithRemoteServer constraint
- from socket-12.*. It requires 'exec', not a remote server.
- Cleaned up some coding errors.
- 2000-09-20 Jennifer Hom <jenn@ajubasolutions.com>
- * library/tcltest1.0/pkgIndex.tcl: Updated to load tcltest 2.0.
- * library/tcltest1.0/tcltest2.tcl: New version of tcltest.
- Cleanup of command line parsing: allows users to specify command
- line arguments through an environment variable named
- TCLTEST_OPTIONS [RFE: 3748], does not respond to incorrect
- arguments, and forces usage of entire flag name when using command
- line arguments. Defines accessor procs for all tcltest
- variables. Allows users to use 'return' in test scripts. Allow
- users to specify whether test files should be sourced or run in a
- separate process. 'all.tcl' code moved to tcltest package.
- 'test' proc modified to use attribute-value pairs. Allow users to
- specify what return codes, output, and errors can be compared and
- whether these values should be compared using regexp, glob, or
- exact matching. makeDirectory & removeDirectory now operate with
- respect to temporaryDirectory [Bug: 6001]. Test results from
- tests run in slave interpreters are now included in test totals
- [Bug: 1493]. Test files that return error values are now reported.
-
- * tests/all.tcl: Added code to check for the tcltest version
- loaded; modified to figure out which tests to run based on the
- tcltest version loaded.
- * tests/tcltest.test: Modified to explicitly load version 1.0 of
- tcltest.
- * tests/tcltest2.test: New test suite for tcltest; includes all of
- the old tests plus new ones reflecting changes made for version
- 2.0.
- * tests/cmdAH.test: Added singleTestInterp constraint to
- cmdAH-31.2; this test does not run if tests aren't sourced into a
- single interpreter.
- * tests/socket.test: Fixed two tests that were referencing
- variables outside of scope.
-
- * tools/tcl.wse.in: Added code to install tcltest2.tcl.
- * doc/tcltest2.n: New documentation for tcltest version 2.0.
- Removes documentation for tcltest namespace variables. Adds
- documentation for new tcltest procs.
- * unix/mkLinks: Added code to link to tcltest2.n.
- * generic/tcl.h: Added comment to modify tcltest2.tcl as well as
- tcltest.tcl for version changes.
- 2000-09-19 Eric Melski <ericm@ajubasolutions.com>
- * generic/tclCmdMZ.c (Tcl_RegexpObjCmd): When using -all, all
- attempts after the first to match the regexp against the string
- should include the TCL_REG_NOTBOL flag, to avoid erroneously
- matching ^ in the middle of the string. Added code to set this
- flag after the first pass through the matching loop. [Bug: 6284].
- 2000-09-19 David Gravereaux <davygrvy@ajubasolutions.com>
- * doc/Eval.3: Added a note about the script argument to Tcl_Eval()
- should be in UTF-8 or risk implied conversion errors when possible
- combinations of upper ascii can be valid UTF-8 special codes.
- 2000-09-17 Eric Melski <ericm@ajubasolutions.com>
- * tests/cmdIL.test: Added a test for fix for [Bug: 6212].
- * generic/tclCmdIL.c (Tcl_LsortObjCmd): Applied patch from [Bug:
- 6212], which corrected an error in the handling of the -index option.
- 2000-09-14 Eric Melski <ericm@ajubasolutions.com>
- * doc/Alloc.3: Added entries for Tcl_AttemptAlloc, Tcl_AttempRealloc.
- * doc/StringObj.3: Added entry for Tcl_AttemptSetObjLength.
-
- * generic/tclDecls.h:
- * generic/tclStubInit.c: Regen'ed stubs files from new tcl.decls.
- * generic/tcl.decls: Added stubs for the Tcl_Attempt* memory
- allocators and for Tcl_AttemptSetObjLength.
- * generic/tcl.h: Added #define's for attemptckalloc,
- attemptckrealloc, which map to the Tcl_Attempt* memory allocators.
- * generic/tclCkalloc.c: Added non-panic'ing versions of Tcl_Alloc,
- Tcl_Realloc, etc.; these are called Tcl_AttemptAlloc,
- Tcl_AttemptRealloc, etc. These are used by
- Tcl_AttemptSetObjLength and the string obj append functions.
- * generic/tclStringObj.c: Modified string growth algorithm to use
- doubling algorithm as long as possible, and only fall back when
- that fails. Added Tcl_AttemptSetObjLength, and modified
- AppendUnicodeToUnicodeRep, AppendUtfToUtfRep, and
- Tcl_AppendStringsToObjVA to support this.
- 2000-09-07 David Gravereaux <davygrvy@ajubasolutions.com>
- * win/.cvsignore: changed the glob patterns a bit to exclude VC++
- project conversion backups.
- * win/tclWinPipe.c: Stage-1 bug fix for TR#2460 "exec leaks memory".
- Added more logic around the close-down of the pipe reader thread so
- as to avoid, at all cost, a TerminateThread. Most cases with exec
- are fixed, but I don't consider 2460 done yet. Closing down the
- read side of a pipe before the child process, doesn't really fit
- the windows model. [BUG: 2460]
- 2000-09-07 Jeff Hobbs <hobbs@scriptics.com>
- * doc/trace.n: minor doc cleanup
- 2000-09-06 Andr