📄 changelog.2000
字号:
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 #1245582000-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 #1193872000-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 mistakes2000-09-29 Jennifer Hom <jenn@ajubasolutions.com>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -