diff options
author | dkf <donal.k.fellows@manchester.ac.uk> | 2005-10-21 12:26:10 (GMT) |
---|---|---|
committer | dkf <donal.k.fellows@manchester.ac.uk> | 2005-10-21 12:26:10 (GMT) |
commit | cda741d84ed6bfaf4a721a4220c443faa59ee793 (patch) | |
tree | f68dae60186c29eef25ff5de4a850eb26fbd834e | |
parent | dacbf9e09166753bf47d7f39ac5131efbd93daf5 (diff) | |
download | tcl-cda741d84ed6bfaf4a721a4220c443faa59ee793.zip tcl-cda741d84ed6bfaf4a721a4220c443faa59ee793.tar.gz tcl-cda741d84ed6bfaf4a721a4220c443faa59ee793.tar.bz2 |
Formatting regularization
-rw-r--r-- | ChangeLog | 1695 |
1 files changed, 819 insertions, 876 deletions
@@ -1,14 +1,14 @@ 2005-10-21 Donal K. Fellows <dkf@users.sf.net> * doc/binary.n: Clarify that virtually all code that uses the 'h' - format in [binary scan] should be using the 'H' format instead. It - is nearly always a bug to use the other! + format in [binary scan] should be using the 'H' format instead. It is + nearly always a bug to use the other! -2005-10-20 Miguel Sofer <msofer@users.sf.net> +2005-10-20 Miguel Sofer <msofer@users.sf.net> * generic/tclListObj.c (TclLsetFlat): - * tests/lset.test (lset-10.3): fixed handling of unshared lists - with shared sublists, [Bug 1333036] reported by neuronstorm. + * tests/lset.test (lset-10.3): fixed handling of unshared lists with + shared sublists, [Bug 1333036] reported by neuronstorm. 2005-10-19 Donal K. Fellows <dkf@users.sf.net> @@ -34,10 +34,10 @@ * generic/tclIORChan.c: General cleanup, removing checks that are unnecessary due to the general contracts of other functions in the - core, converting to using ANSI declarations, etc. Note that nearly - the whole file has changed, but it is often just cosmetic. + core, converting to using ANSI declarations, etc. Note that nearly the + whole file has changed, but it is often just cosmetic. -2005-10-19 Miguel Sofer <msofer@users.sf.net> +2005-10-19 Miguel Sofer <msofer@users.sf.net> * generic/tclExecute.c (INST_DICT_APPEND, INST_DICT_LAPPEND): fixed faulty peephole optimisation that can cause crashes, [Bug 1331475] @@ -45,46 +45,46 @@ 2005-10-18 Don Porter <dgp@users.sourceforge.net> - * generic/tclExecute.c: Added optimization for I32L64 systems to - avoid using bignums to perform int multiplies. The improvement - shows up most dramatically in tclbench's matrix.bench. + * generic/tclExecute.c: Added optimization for I32L64 systems to avoid + using bignums to perform int multiplies. The improvement shows up most + dramatically in tclbench's matrix.bench. 2005-10-15 Don Porter <dgp@users.sourceforge.net> * generic/tclExecute.c: Restored some optimizations of the INST_INCR_SCALAR1_IMM opcode. -2005-10-14 Zoran Vasiljevic <vasiljevic@users.sourceforge.net> +2005-10-14 Zoran Vasiljevic <vasiljevic@users.sourceforge.net> * generic/tclIO.c (Tcl_ClearChannelHandlers): removed change dated - 2005-10-04 (see below). Look into Bug# 1323992 for detailed + 2005-10-04 (see below). Look into [Bug 1323992] for detailed discussion. - * generic/tcl.h: Fixed bad definition of CRTEXPORT which should - have been CRTIMPORT rather. This broke compilation of - generic/tclMain.c and was probably introduced by mistage while - applying the fix for the Tcl Bug# 1256937 below. + * generic/tcl.h: Fixed bad definition of CRTEXPORT which should have + been CRTIMPORT rather. This broke compilation of generic/tclMain.c and + was probably introduced by mistage while applying the fix for [Bug + 1256937] below. 2005-10-14 Kevin Kenny <kennykb@acm.org> - * generic/tclExecute.c (TclIncrObj, TclExecuteByteCode): - Tidied up a couple of infelicitous do {...} while(0) constructs. + * generic/tclExecute.c (TclIncrObj, TclExecuteByteCode): Tidied up a + couple of infelicitous do {...} while(0) constructs. 2005-10-14 Pat Thoyts <patthoyts@users.sourceforge.net> - * generic/tcl.h: Fix for bug #1256937 - correctly decorate + * generic/tcl.h: Fix for [Bug 1256937] - correctly decorate * generic/tclMain.c: imported functions from msvcrt in static builds. 2005-10-13 Donal K. Fellows <donal.k.fellows@man.ac.uk> - * tests/format.test: "Forward"-port of test updates relating to - [Bug 1284178]. The bug itself was fixed by TIP#237. + * tests/format.test: "Forward"-port of test updates relating to [Bug + 1284178]. The bug itself was fixed by TIP#237. -2005-10-13 Zoran Vasiljevic <vasiljevic@users.sourceforge.net> +2005-10-13 Zoran Vasiljevic <vasiljevic@users.sourceforge.net> * generic/tclIO.c (Tcl_ClearChannelHandlers): temporary ifdef - TCL_THREADS changes done to de-activate pending event processing - when channel is being closed/cutted. + TCL_THREADS changes done to de-activate pending event processing when + channel is being closed/cutted. 2005-10-13 Don Porter <dgp@users.sourceforge.net> @@ -99,33 +99,33 @@ * compat/tclErrno.h: Removed obsolete file. - * generic/tclStrToD.c (TclParseNumber): Missing goto caused crash - when parsing "Na". [Bug 1325833] + * generic/tclStrToD.c (TclParseNumber): Missing goto caused crash when + parsing "Na". [Bug 1325833] 2005-10-12 Don Porter <dgp@users.sourceforge.net> * generic/tclExecute.c (GetNumberFromObj): Restored some lost - optimizations for empty string values. We avoid cost of a call to + optimizations for empty string values. We avoid cost of a call to TclParseNumber just to tell us an empty string isn't a number. 2005-10-12 Donal K. Fellows <dkf@users.sf.net> - * generic/tclPathObj.c (SetFsPathFromAny): TclGetString macro must - not be combined with post-increment arguments. [Bug 1325099] + * generic/tclPathObj.c (SetFsPathFromAny): TclGetString macro must not + be combined with post-increment arguments. [Bug 1325099] 2005-10-12 Kevin Kenny <kennykb@acm.org> - * generic/tclExecute.c (Tcl_ExecuteByteCode, TclIncrObj): - Several common cases inlined in hopes of gaining a little - performance in [incr]. + * generic/tclExecute.c (Tcl_ExecuteByteCode, TclIncrObj): Several + common cases inlined in hopes of gaining a little performance in + [incr]. -2005-10-10 Miguel Sofer <msofer@users.sf.net> +2005-10-10 Miguel Sofer <msofer@users.sf.net> * generic/tclCompCmds.c: New convenience macro CompileTokens(). 2005-10-10 Don Porter <dgp@users.sourceforge.net> - * generic/tclExecute.c: Corrections to the NO_WIDE_TYPE build. Also + * generic/tclExecute.c: Corrections to the NO_WIDE_TYPE build. Also added missing "break" to a switch that broke wide XOR operations. 2005-10-10 Donal K. Fellows <donal.k.fellows@man.ac.uk> @@ -137,12 +137,12 @@ (Tcl_LimitSetTime): Reset the correct flag. Problem reported by Nicolas Castagne <castagne@imag.fr> on comp.lang.tcl -2005-10-10 Miguel Sofer <msofer@users.sf.net> +2005-10-10 Miguel Sofer <msofer@users.sf.net> - * generic/tclExecute.c: Fixing errors in last commit. (Two - commits, the second removes wrong comment). + * generic/tclExecute.c: Fixing errors in last commit. (Two commits, + the second removes wrong comment). -2005-10-09 Miguel Sofer <msofer@users.sf.net> +2005-10-09 Miguel Sofer <msofer@users.sf.net> * generic/tclBasic.c: * generic/tclExecute.c: @@ -155,14 +155,13 @@ TIP#237 IMPLEMENTATION [kennykb-numerics-branch] Resynchronized with the HEAD; at this - checkpoint [-rkennykb-numerics-branch-20051008], the HEAD and + checkpoint [-rkennykb-numerics-branch-20051008], the HEAD and kennykb-numerics-branch contain identical code. [kennykb-numerics-branch] Merge updates from HEAD - * generic/tclExecute.c: More performance macros and special - handling of the wide integer type for performance on 32-bit - systems. + * generic/tclExecute.c: More performance macros and special handling + of the wide integer type for performance on 32-bit systems. 2005-10-07 Don Porter <dgp@users.sourceforge.net> @@ -171,20 +170,21 @@ * generic/tclExecute.c: Macro GetNumberFromObj() is version of TclGetNumberFromObj() that saves a function call for common uses. - * generic/tclInt.h: Made #undef NO_WIDE_TYPE the default on - 32-bit systems. Being able to use 64-bit values without leaping - to mp_int should help with performance. + * generic/tclInt.h: Made #undef NO_WIDE_TYPE the default on 32-bit + systems. Being able to use 64-bit values without leaping to mp_int + should help with performance. + * generic/tclObj.c: Bug fixes in the #undef NO_WIDE_TYPE * generic/tclExecute.c: configuration. - * generic/tclExecute.c: Improved performance of comparison opcodes - and bitwise operations and removed yet more dead code. + * generic/tclExecute.c: Improved performance of comparison opcodes and + bitwise operations and removed yet more dead code. 2005-10-07 Jeff Hobbs <jeffh@ActiveState.com> * unix/tclUnixFCmd.c (TraverseUnixTree): Adjust 2004-11-11 change to - * tests/fCmd.test (fCmd-20.2): account for NFS special - files with a readdir rewind threshold. [Bug 1034337] + * tests/fCmd.test (fCmd-20.2): account for NFS special files + with a readdir rewind threshold. [Bug 1034337] 2005-10-06 Don Porter <dgp@users.sourceforge.net> @@ -197,45 +197,42 @@ [kennykb-numerics-branch] - * generic/tclExecute.c: Improved performance of INST_MULT, INST_DIV, - INST_ADD, and INST_SUB and replaced a "goto... label" with a - "break from loop" in TclIncrObj() and removed some dead code. + * generic/tclExecute.c: Improved performance of INST_MULT, INST_DIV, + INST_ADD, and INST_SUB and replaced a "goto... label" with a "break + from loop" in TclIncrObj() and removed some dead code. -2005-10-05 Andreas Kupries <andreask@activestate.com> +2005-10-05 Andreas Kupries <andreask@activestate.com> - * generic/tclPipe.c (TclCreatePipeline): Fixed [SF Tcl Bug - 1109294]. Applied the patch provided by David Gravereaux. + * generic/tclPipe.c (TclCreatePipeline): Fixed [Bug 1109294]. Applied + the patch provided by David Gravereaux. - * doc/CrtChannel.3: Fixed [SF Tcl Bug 1104682], by application of - David Welton's patch for it, and added a note about - wideSeekProc. + * doc/CrtChannel.3: Fixed [Bug 1104682], by application of David + Welton's patch for it, and added a note about wideSeekProc. * generic/tclIORChan.c (RcClose): Removed unreachable panic/return - statements. This fixes the remainder of [SF Tcl Bug 1286256]. + statements. This fixes the remainder of [Bug 1286256]. 2005-10-05 Jeff Hobbs <jeffh@ActiveState.com> * tests/env.test (env-6.1): * win/tclWinPort.h: define USE_PUTENV_FOR_UNSET 1 - * generic/tclEnv.c (TclSetEnv, TclUnsetEnv): add - USE_PUTENV_FOR_UNSET to existing USE_PUTENV define to account for - various systems that have putenv(), but can't unset env vars with - it. Note difference between Windows and Linux for actually - unsetting the env var (use of '='). - Correct the resizing of the environ array. We assume that we are - in full ownership, but that's not correct.[Bug 979640] + * generic/tclEnv.c (TclSetEnv, TclUnsetEnv): add USE_PUTENV_FOR_UNSET + to existing USE_PUTENV define to account for various systems that have + putenv(), but can't unset env vars with it. Note difference between + Windows and Linux for actually unsetting the env var (use of '='). + Correct the resizing of the environ array. We assume that we are in + full ownership, but that's not correct.[Bug 979640] 2005-10-04 Don Porter <dgp@users.sourceforge.net> [kennykb-numerics-branch] + * generic/tclExecute.c: Updated TclIncrObj() to more efficiently add + native long integers. Also updated IllegalExprOperandType and the + INST_UMINUS, INST_UPLUS, INST_BITNOT, and INST_TRY_CVT_TO_NUMERIC + sections for performance. - * generic/tclExecute.c: Updated TclIncrObj() to more efficiently - add native long integers. Also updated IllegalExprOperandType - and the INST_UMINUS, INST_UPLUS, INST_BITNOT, and - INST_TRY_CVT_TO_NUMERIC sections for performance. - - * generic/tclBasic.c: Updated more callers to make use of - TclGetNumberFromObj. Removed some dead code. + * generic/tclBasic.c: Updated more callers to make use of + TclGetNumberFromObj. Removed some dead code. 2005-10-04 Jeff Hobbs <jeffh@ActiveState.com> @@ -244,26 +241,26 @@ * tests/http.test: do not URI encode -._~ according * library/http/http.tcl (init): to RFC3986. [Bug 1182373] (aho) - * unix/tclLoadShl.c (TclpDlopen): use DYNAMIC_PATH on second - shl_load only. [Bug 1204237] + * unix/tclLoadShl.c (TclpDlopen): use DYNAMIC_PATH on second shl_load + only. [Bug 1204237] * doc/scan.n: scan %[] requires "one or more chars" [Bug 1277503] - * tests/winFile.test (getuser): allow valid Windows usernames. - [Bug 1311285] + * tests/winFile.test (getuser): allow valid Windows usernames. [Bug + 1311285] - * generic/tclParse.c (Tcl_ParseCommand): add code that recognizes - {} in addition to {expand} for word expansion (make with + * generic/tclParse.c (Tcl_ParseCommand): add code that recognizes {} + in addition to {expand} for word expansion (make with -DALLOW_EMPTY_EXPAND). -2005-10-04 Zoran Vasiljevic <vasiljevic@users.sourceforge.net> +2005-10-04 Zoran Vasiljevic <vasiljevic@users.sourceforge.net> * generic/tclIO.c (Tcl_ClearChannelHandlers): now deletes any - outstanding timer for the channel. Also, prevents events still - in the event queue from triggering on the current channel. + outstanding timer for the channel. Also, prevents events still in the + event queue from triggering on the current channel. - * generic/tclTimer.c (Tcl_DeleteTimerHandler): bail out early - if passed NULL argument. + * generic/tclTimer.c (Tcl_DeleteTimerHandler): bail out early if + passed NULL argument. 2005-10-03 Don Porter <dgp@users.sourceforge.net> @@ -278,18 +275,18 @@ 2005-10-03 Kevin Kenny <kennykb@acm.org> - * tools/loadICU.tcl: Changed the file names of message catalogs - to lowercase. + * tools/loadICU.tcl: Changed the file names of message catalogs to + lowercase. * tools/makeTestCases.tcl: - * library/tzdata/*: Olson's tzdata2005n.tar.gz. - Includes new DST rules for USA and a - number of changes to other locales. + * library/tzdata/*: Olson's tzdata2005n.tar.gz. Includes new DST + rules for USA and a number of changes to other + locales. * tests/clock.test: Regenerated for new US DST rules. 2005-09-30 Don Porter <dgp@users.sourceforge.net> * generic/tclMain.c: Separate encoding conversion of command line - arguments from list formatting. [Bug 1306162]. + arguments from list formatting. [Bug 1306162]. 2005-09-30 Don Porter <dgp@users.sourceforge.net> @@ -328,8 +325,8 @@ * libtommath/: Updated to release 0.36. * generic/tommath.h: Regenerated. * generic/tclTomMathInterface.h: Added ten missing aliases for mp_* - functions to avoid namespace pollution in Tcl's exported symbols. - [Bug 1263012] + functions to avoid namespace pollution in Tcl's exported symbols. [Bug + 1263012] 2005-09-23 Don Porter <dgp@users.sourceforge.net> @@ -337,9 +334,9 @@ * unix/Makefile.in: Added -DMP_PREC=4 switch to all compiles so * win/Makefile.in: that minimum memory requirements of mp_int's - * win/makefile.vc: will not be quite so large. [Bug 1299153]. + * win/makefile.vc: will not be quite so large. [Bug 1299153]. - * generic/tclStrToD.c: Fixed memory leak. [Bug 1299803]. + * generic/tclStrToD.c: Fixed memory leak. [Bug 1299803]. * generic/tclObj.c: 2005-09-20 Don Porter <dgp@users.sourceforge.net> @@ -374,16 +371,16 @@ * win/Makefile.in: * win/makefile.vc: - * libtommath/bn_mp_add_d.c: Bug fix. For mp_add_d(&a, d, &c), - when &a has the value -d, then the value &c computed should be zero, - but mp_add_d was producing an inconsistent zero value with a sign - field of MP_NEG, something like a value of -0, which other routines - in libtommath can't handle. + * libtommath/bn_mp_add_d.c: Bug fix. For mp_add_d(&a, d, &c), when &a + has the value -d, then the value &c computed should be zero, but + mp_add_d was producing an inconsistent zero value with a sign field of + MP_NEG, something like a value of -0, which other routines in + libtommath can't handle. - * generic/tclExecute.c: Dropped all creation of "bigOne" values - and just use tommath routines that accept the value "1" directly. + * generic/tclExecute.c: Dropped all creation of "bigOne" values and + just use tommath routines that accept the value "1" directly. -2005-09-15 Miguel Sofer <msofer@users.sf.net> +2005-09-15 Miguel Sofer <msofer@users.sf.net> * doc/ParseCmd.3: copy/paste fix [Bug 1292427] @@ -391,8 +388,8 @@ [kennykb-numerics-branch] Merge updates from HEAD. - * generic/tclStringObj.c (TclAppendFormattedObjs): Revision - to eliminate one round of string copying. + * generic/tclStringObj.c (TclAppendFormattedObjs): Revision to + eliminate one round of string copying. * generic/tclBasic.c: More callers of TclObjPrintf and * generic/tclCkalloc.c: TclFormatToErrorInfo. @@ -409,15 +406,15 @@ 2005-09-15 Donal K. Fellows <donal.k.fellows@man.ac.uk> - * unix/tcl.m4 (SC_TCL_EARLY_FLAGS): Added extra hack to allow Tcl - to transparently open large files on RHEL 3. [Bug 1287638] + * unix/tcl.m4 (SC_TCL_EARLY_FLAGS): Added extra hack to allow Tcl to + transparently open large files on RHEL 3. [Bug 1287638] 2005-09-14 Don Porter <dgp@users.sourceforge.net> * generic/tclStringObj.c: Bug fixes: ObjPrintfVA needed to - support "*" fields and needed to interpret precision limits on - %s conversions as a maximum number of bytes, not Tcl_UniChars, to - take from the (char *) argument. + support "*" fields and needed to interpret precision limits on %s + conversions as a maximum number of bytes, not Tcl_UniChars, to take + from the (char *) argument. * generic/tclBasic.c: Updated several callers to use * generic/tclCkalloc.c: TclFormatToErrorInfo() and/or @@ -440,12 +437,12 @@ * generic/tclInt.h: Using stdarg.h conventions, add more * generic/tclStringObj.c: fixed arguments to TclFormatObj() and - TclObjPrintf(). Added new routine TclFormatToErrorInfo(). + TclObjPrintf(). Added new routine TclFormatToErrorInfo(). * generic/tcl.h: Explicitly standardized on the use of stdarg.h * generic/tclBasic.c: conventions for functions with variable number - * generic/tclInt.h: of arguments. Support for varargs.h has been - * generic/tclPanic.c: implicitly gone for some time now. All + * generic/tclInt.h: of arguments. Support for varargs.h has been + * generic/tclPanic.c: implicitly gone for some time now. All * generic/tclResult.c: TCL_VARARGS* macros purged from Tcl sources, * generic/tclStringObj.c: leaving only some deprecated #define's * tools/genStubs.tcl: in tcl.h for the sake of older extensions. @@ -465,16 +462,16 @@ * generic/tclCmdAH.c: Added support for the "ll" width * generic/tclStringObj.c: specifier to [format]. - * generic/tclStringObj.c (TclAppendFormattedObjs): Bug fix: - make sure %ld formats force the collection of a wide value, when - the value could be a different long. + * generic/tclStringObj.c (TclAppendFormattedObjs): Bug fix: make + sure %ld formats force the collection of a wide value, when the value + could be a different long. -2005-09-09 Andreas Kupries <andreask@activestate.com> +2005-09-09 Andreas Kupries <andreask@activestate.com> * generic/tclIORChan.c (RcDecodeEventMask): Added missing type - declaration for the parameter 'mask'. This fixes the [SF Tcl Bug - 1286256]. The other warning can be removed only by removing the - panic/return code. + declaration for the parameter 'mask'. This fixes the [Bug 1286256]. + The other warning can be removed only by removing the panic/return + code. 2005-09-09 Don Porter <dgp@users.sourceforge.net> @@ -493,7 +490,7 @@ * generic/tclInt.h: New internal routines TclFormatObj() * generic/tclStringObj.c: and TclAppendFormattedObjs() to offer - sprintf()-like means to append to Tcl_Obj. Work in progress toward + sprintf()-like means to append to Tcl_Obj. Work in progress toward [RFE 572392]. * generic/tclCmdAH.c: Compiler directive NEW_FORMAT when #define'd @@ -514,9 +511,9 @@ 2005-09-07 Don Porter <dgp@users.sourceforge.net> * generic/tclUtf.c (Tcl_UniCharToUtf): Corrected handling of negative - * tests/utf.test (utf-1.5): Tcl_UniChar input value. Incorrect + * tests/utf.test (utf-1.5): Tcl_UniChar input value. Incorrect handling was producing byte sequences outside of Tcl's legal internal - encoding. [Bug 1283976]. + encoding. [Bug 1283976]. 2005-09-06 Donal K. Fellows <donal.k.fellows@man.ac.uk> @@ -536,68 +533,67 @@ [kennykb-numerics-branch] - * generic/tclScan.c: Bug fix: The %o, %x, %i formats of [scan] - must not accept any 0b or 0o prefixes. [scan $s %o] must continue - to work even with KILL_OCTAL enabled. + * generic/tclScan.c: Bug fix: The %o, %x, %i formats of [scan] must + not accept any 0b or 0o prefixes. [scan $s %o] must continue to work + even with KILL_OCTAL enabled. * generic/tclInt.h: Added TCL_PARSE_SCAN_PREFIXES to the flags * generic/tclStrToD.c: accepted by TclParseNumber. -2005-09-01 Andreas Kupries <andreask@activestate.com> +2005-09-01 Andreas Kupries <andreask@activestate.com> - * unix/tclUnixSock.c (InitializeHostName): Synchronized use of - static modifier in declaration and definition of function. + * unix/tclUnixSock.c (InitializeHostName): Synchronized use of static + modifier in declaration and definition of function. - * unix/tclUnixChan.c (FileTruncateProc): Synchronized use of - static modifier in declaration and definition of function. + * unix/tclUnixChan.c (FileTruncateProc): Synchronized use of static + modifier in declaration and definition of function. * generic/tclResult.c (ReleaseKeys): Synchronized use of static - modifier in declaration and definition of function. + modifier in declaration and definition of function. * generic/tclListObj.c (NewListIntRep): Synchronized use of static - modifier in declaration and definition of function. + modifier in declaration and definition of function. - * generic/tclEncoding.c (InitializeEncodingSearchPath): - Synchronized use of static modifier in declaration and - definition of function. + * generic/tclEncoding.c (InitializeEncodingSearchPath): Synchronized + use of static modifier in declaration and definition of function. * generic/tclEncoding.c (FillEncodingFileMap): Synchronized use of - static modifier in declaration and definition of function. + static modifier in declaration and definition of function. * generic/tclIORChan.c (RcNewHandle): Synchronized use of static - modifier in declaration and definition of function. + modifier in declaration and definition of function. 2005-09-01 Don Porter <dgp@users.sourceforge.net> [kennykb-numerics-branch] - * generic/tclObj.c: TclParseNumber calls meant to parse an - integer value now pass the TCL_PARSE_INTEGER_ONLY flag. + * generic/tclObj.c: TclParseNumber calls meant to parse an integer + value now pass the TCL_PARSE_INTEGER_ONLY flag. - * generic/tclScan.c: Extended [scan] to accept the %lld, - %llo, %llx, and %lli formats. Numeric scanning is now done - via TclParseNumber calls. + * generic/tclScan.c: Extended [scan] to accept the %lld, %llo, + %llx, and %lli formats. Numeric scanning is now done via + TclParseNumber calls. * generic/tclInt.h: Extended TclParseNumber to accept new flag * generic/tclStrToD.c: values TCL_PARSE_INTEGER_ONLY, TCL_PARSE_OCTAL_ONLY, and TCL_PARSE_HEXIDECIMAL_ONLY, to give caller more control over the parsing rules. -2005-08-31 Vince Darley <vincentdarley@sourceforge.net> +2005-08-31 Vince Darley <vincentdarley@sourceforge.net> * doc/FileSystem.3: * unix/tclUnixFile.c: - * windows/tclWinFile.c: clarify that Tcl_FSMatchInDirectory may - be called with a NULL interpreter, and fix the code so this is - allowed. Tcl's core itself (tclEncoding.c:FillEncodingFileMap()) - calls this with a NULL interpreter. + * windows/tclWinFile.c: clarify that Tcl_FSMatchInDirectory may be + called with a NULL interpreter, and fix the code so this is allowed. + Tcl's core itself (tclEncoding.c:FillEncodingFileMap()) calls this + with a NULL interpreter. 2005-08-30 Don Porter <dgp@users.sourceforge.net> [kennykb-numerics-branch] - * generic/tclObj.c: Extended bignum support to include bignums - so large they will not pack into a Tcl_Obj. When they outgrow Tcl's + * generic/tclObj.c: Extended bignum support to include bignums so + large they will not pack into a Tcl_Obj. When they outgrow Tcl's string rep length limits, a panic will result. * generic/tclTomMath.h: Added mp_sqrt to routines from @@ -605,15 +601,15 @@ * win/Makefile.in: * win/makefile.vc: - * generic/tclBasic.c: Extended sqrt(.) so that range covers - the entire double range, accepting as many bignums in the domain - as that will allow. + * generic/tclBasic.c: Extended sqrt(.) so that range covers the + entire double range, accepting as many bignums in the domain as that + will allow. -2005-08-29 Andreas Kupries <andreask@activestate.com> +2005-08-29 Andreas Kupries <andreask@activestate.com> - * library/tm.tcl (::tcl::tm::roots): Accepted Don Porter's patch - for [Tcl SF Bug 1189657]. Syncs the implementation to the - specification (TIP #189). + * library/tm.tcl (::tcl::tm::roots): Accepted Don Porter's patch for + [Bug 1189657]. Syncs the implementation to the specification (TIP + #189). 2005-08-29 Don Porter <dgp@users.sourceforge.net> @@ -623,21 +619,19 @@ 2005-08-29 Kevin Kenny <kennykb@acm.org> - * generic/tclBasic.c (ExprMathFunc): Restored "round away from - * tests/expr.test (expr-46.*): zero" behaviour to the - "round" function. Added - test cases for the behavior, including the awkward case of a - number whose fractional part is 1/2-1/2ulp. [Bug 1275043] + * generic/tclBasic.c (ExprMathFunc): Restored "round away from zero" + * tests/expr.test (expr-46.*): behaviour to the "round" + function. Added test cases for the behavior, including the awkward + case of a number whose fractional part is 1/2-1/2ulp. [Bug 1275043] -2005-08-26 Andreas Kupries <andreask@activestate.com> +2005-08-26 Andreas Kupries <andreask@activestate.com> * generic/tclIO.c: Moved Tcl_{Cut,Splice}Channel to - {Cut,Splice}Channel for internal use, and created new public - functions for Tcl_{Cut,Splice}Channel which walk the whole stack - of transformations and invoke the necessary thread actions. - Added code to Tcl_(Un)StackChannel to properly invoke the thread - actions when pushing and popping transformations on/from a - channel. + {Cut,Splice}Channel for internal use, and created new public functions + for Tcl_{Cut,Splice}Channel which walk the whole stack of + transformations and invoke the necessary thread actions. Added code + to Tcl_(Un)StackChannel to properly invoke the thread actions when + pushing and popping transformations on/from a channel. 2005-08-26 Donal K. Fellows <donal.k.fellows@man.ac.uk> @@ -660,27 +654,27 @@ [kennykb-numerics-branch] Merge updates from HEAD - * generic/tclExecute.c: Bug fix. INST_RSHIFT: shift of negative - values produced incorrect results. + * generic/tclExecute.c: Bug fix. INST_RSHIFT: shift of negative values + produced incorrect results. - * generic/tclExecute.c: Bug fix. INST_*SHIFT opcodes stack - management. [expr 0<<6] should be 0, not 6. + * generic/tclExecute.c: Bug fix. INST_*SHIFT opcodes stack management. + [expr 0<<6] should be 0, not 6. - * generic/tclBasic.c: Extended the domain of round(.) to all - non-Inf, non-NaN doubles, using bignums for the result as needed. + * generic/tclBasic.c: Extended the domain of round(.) to all non-Inf, + non-NaN doubles, using bignums for the result as needed. -2005-08-24 Andreas Kupries <andreask@activestate.com> +2005-08-24 Andreas Kupries <andreask@activestate.com> TIP#219 IMPLEMENTATION * doc/SetChanErr.3: ** New File **. Documentation of the new - channel API functions. + channel API functions. * generic/tcl.decls: Stub declarations of the new channel API. * generic/tclDecls.h: Regenerated * generic/tclStubInit.c: * tclIORChan.c: ** New File **. Implementation of the reflected - channel. + channel. * generic/tclInt.h: Integration of reflected channel and new error * generic/tclIO.c: propagation into the generic I/O core. * generic/tclIOCmd.c: @@ -700,9 +694,9 @@ 2005-08-24 Kevin Kenny <kennykb@acm.org> * generic/tclStrToD.c (Tcl_DoubleDigits): Fixed the corner cases of - * tests/binary.test (binary-65.*) formatting floating - point numbers with the largest and smallest possible significands, - and added test cases for them. + * tests/binary.test (binary-65.*) formatting floating point + numbers with the largest and smallest possible significands, and added + test cases for them. 2005-08-24 Kevin Kenny <kennykb@users.sourceforge.net> @@ -710,9 +704,9 @@ * generic/tclExecute.c: Corrected some TRACE bugs that prevented compilation with --enable-symbols=all. - * generic/tclStrToD.c: Revised commentary to prepare for a - renaming of the file, removed some dead code, and fixed a bug - where TclBignumToDouble failed on huge negative numbers. + * generic/tclStrToD.c: Revised commentary to prepare for a renaming of + the file, removed some dead code, and fixed a bug where + TclBignumToDouble failed on huge negative numbers. * tests/binary.test (binary-65.*): Added missing 'ieeeFloatingPoint' to large/small significand tests. * tests/expr.test (expr-45.*) Added missing braces around expressions. @@ -723,17 +717,17 @@ * generic/tclBasic.c: Revised implementation of the ceil(.) and * generic/tclInt.h: floor(.) math functions in light of the - * generic/tclStrToD.c: revised comparison operators, so that it - is always true that ($x <= ceil($x)) and ($x >= floor($x)). The - simple approach of "convert to double and call ceil() or floor()" - could not guarantee that. + * generic/tclStrToD.c: revised comparison operators, so that it is + always true that ($x <= ceil($x)) and ($x >= floor($x)). The simple + approach of "convert to double and call ceil() or floor()" could not + guarantee that. * generic/tclExecute.c: Bug fix: TclBignumToDouble return -Inf when - appropriate. Removed declarations of removed routines. + appropriate. Removed declarations of removed routines. - * generic/tclExecute.c: Revised the type promotion rules of the - comparison operators so that they form proper equivalence classes - over the set of numeric strings. + * generic/tclExecute.c: Revised the type promotion rules of the + comparison operators so that they form proper equivalence classes over + the set of numeric strings. 2005-08-23 Mo DeJong <mdejong@users.sourceforge.net> @@ -756,16 +750,15 @@ * tests/binary.test (binary-62.1-65.7): * tests/expr.test (expr-40.1-42.1): * scan.test (scan-14.1,14.2): - Modified Tcl_ParseNumber to accept an argument to force - interpretation as decimal, and modified [scan] to use it. - Corrected a bug where Not a Number with hexadecimal information - bits returned consistently incorrect values. #ifdef-ed out - some code that is needed only for IBM hexadecimal floating point. - Fixed bugs in code to handle the corner cases of smallest and - largest significands. Added test cases to improve test coverage - in generic/tclStrToD.c. Added test cases for 0b notation (TIP - #114). Removed TclStrToD, and the static functions that it calls, - which are now dead code (TclParseNumber now does all input + Modified Tcl_ParseNumber to accept an argument to force interpretation + as decimal, and modified [scan] to use it. Corrected a bug where Not a + Number with hexadecimal information bits returned consistently + incorrect values. #ifdef-ed out some code that is needed only for IBM + hexadecimal floating point. Fixed bugs in code to handle the corner + cases of smallest and largest significands. Added test cases to + improve test coverage in generic/tclStrToD.c. Added test cases for 0b + notation (TIP #114). Removed TclStrToD, and the static functions that + it calls, which are now dead code (TclParseNumber now does all input floating-point conversions.) 2005-08-23 Don Porter <dgp@users.sourceforge.net> @@ -814,12 +807,12 @@ * generic/tclExecute.c: various points. * generic/tclLink.c: - * generic/tclStrToD.c: Bug fix. Parsing of +/- Infinity was reversed. + * generic/tclStrToD.c: Bug fix. Parsing of +/- Infinity was reversed. * generic/tclTestObj.c: Disabled unused [testconvertobj] command. - * generic/tclBasic: Added [expr {entier(.)}]. Rewrote int(.) - and wide(.) to use the same guts, accepting all non-Inf doubles as + * generic/tclBasic: Added [expr {entier(.)}]. Rewrote int(.) and + wide(.) to use the same guts, accepting all non-Inf doubles as arguments. * generic/tclInt.h: New routine TclInitBignumFromDouble. @@ -841,12 +834,12 @@ [kennykb-numerics-branch] - * generic/tclInt.h: Moved TclParseInteger to tclUtil.c - * generic/tclParseExpr.c: and made it static. + * generic/tclInt.h: Moved TclParseInteger to tclUtil.c and + * generic/tclParseExpr.c: made it static. * generic/tclUtil.c: - * generic/tclInt.decls: Moved TclExprFloatError to tclBasic.c and - * generic/tclBasic.c: made it static. + * generic/tclInt.decls: Moved TclExprFloatError to tclBasic.c and made + * generic/tclBasic.c: it static. * generic/tclExecute.c: * generitc/tclIntDecls.h: make genstubs @@ -860,16 +853,16 @@ * generic/tclStrToD.c: Disabled out of date support "hack" for errno. - * generic/tclBasic.c: Eliminated VerifyExprObjType. Initialize - errno to zero in OldMathFuncProc. + * generic/tclBasic.c: Eliminated VerifyExprObjType. Initialize errno + to zero in OldMathFuncProc. 2005-08-19 Don Porter <dgp@users.sourceforge.net> [kennykb-numerics-branch] - * generic/tclBasic.c: Updated OldMathFuncProc and ExprAbsFunc to - do less invasion into numeric Tcl_Obj internals. Made ExprDoubleFunc, - ExprIntFunc, ExprWideFunc, and ExprRoundFunc bignum-aware. Revised + * generic/tclBasic.c: Updated OldMathFuncProc and ExprAbsFunc to do + less invasion into numeric Tcl_Obj internals. Made ExprDoubleFunc, + ExprIntFunc, ExprWideFunc, and ExprRoundFunc bignum-aware. Revised ExprSrandFunc error message. * generic/tclProc.c: Wrapped a few tclWideIntType uses in @@ -879,7 +872,7 @@ * generic/tclVar.c: Replaced TclPtrIncrVar and TclPtrIncrWideVar * generic/tclInt.h: with TclPtrIncrObjVar and replaced TclIncrVar2 - * generic/tclInt.decls: and TclIncrWideVar2 with TclIncrObjVar2. New + * generic/tclInt.decls: and TclIncrWideVar2 with TclIncrObjVar2. New routines call on TclIncrObj to do the work. * generic/tclIntDecls.h: make genstubs @@ -900,7 +893,7 @@ * generic/tclInt.h: TclIncrObj static -> internal * generic/tclExecute.c: -2005-08-17 George Peter Staplin <GeorgePS@XMission.com> +2005-08-17 George Peter Staplin <GeorgePS@XMission.com> * generic/tclBasic.c: eliminate a namespace clash caused by BuiltinFuncTable not being static. @@ -910,12 +903,12 @@ 2005-08-17 Kevin Kenny <kennykb@acm.org> - * generic/tclEvent.c (Tcl_Finalize): Removed a copy-and-paste - accident that caused a (mostly harmless) double finalize of the - load and filesystem subsystems. + * generic/tclEvent.c (Tcl_Finalize): Removed a copy-and-paste accident + that caused a (mostly harmless) double finalize of the load and + filesystem subsystems. * tests/clock.test: Eliminated the bad test clock-43.1, and split - clock-50.1 into two tests, with a more permissive check on the - error message for an out-of-range value. + clock-50.1 into two tests, with a more permissive check on the error + message for an out-of-range value. 2005-08-17 Kevin Kenny <kennykb@users.sourceforge.net> @@ -925,22 +918,22 @@ * generic/tclTest.c: deal with * tests/expr-old.test: bignums (well, * tests/expr.test: mostly). - Added a missing "errno=0;" in ExprUnaryFunc so that spurious - error returns aren't detected. - Added test cases for Tcl_Expr* and Tcl_Expr*Obj because - there was very poor test coverage in those areas. + Added a missing "errno=0;" in ExprUnaryFunc so that spurious error + returns aren't detected. + Added test cases for Tcl_Expr* and Tcl_Expr*Obj because there was very + poor test coverage in those areas. * generic/tclParseExpr.c: Reworked parsing of numbers to call TclParseNumber rather than trying to do things locally. - * generic/tclStrToD.c: Corrected a comment. Changed so that - *endPtrPtr does not include any trailing whitespace. + * generic/tclStrToD.c: Corrected a comment. Changed so that *endPtrPtr + does not include any trailing whitespace. 2005-08-17 Don Porter <dgp@users.sourceforge.net> [kennykb-numerics-branch] - * generic/tclExecute.c: New routine TclIncrObj to centralize the - increment operation needed in many places. Updated - INST_DICT_INCR_IMM to make use of it. + * generic/tclExecute.c: New routine TclIncrObj to centralize the + increment operation needed in many places. Updated INST_DICT_INCR_IMM + to make use of it. 2005-08-16 Don Porter <dgp@users.sourceforge.net> @@ -950,10 +943,10 @@ bignum-aware. * tests/scan.test: Making << bignum-aware means that repeated - * tests/string.test: left shifting cannot turn a positive into - a negative. Revised [int_range] and [largest_int] utility commands - in the test suite that relied on that happening. Without revision - they became infinite loops. + * tests/string.test: left shifting cannot turn a positive into a + negative. Revised [int_range] and [largest_int] utility commands in + the test suite that relied on that happening. Without revision they + became infinite loops. * generic/tclExecute.c: Made binary bitwise opcodes bignum-aware. @@ -966,9 +959,8 @@ [kennykb-numerics-branch] Updates from HEAD. * generic/tclExecute.c: More revisions to IllegalExprOperandType. - Merged INST_BITNOT with INST_UMINUS and make it bignum-aware - according to the rule: ~a = -a - 1. Disabled unused code and - noted more TODOs. + Merged INST_BITNOT with INST_UMINUS and make it bignum-aware according + to the rule: ~a = -a - 1. Disabled unused code and noted more TODOs. * generic/tclInt.decls: Disabled TclLooksLikeInt() and all callers. * generic/tclUtil.c: @@ -979,16 +971,16 @@ * generic/tclIntDecls.h: make genstubs * generic/tclStubInit.c: - * generic/tclExecute.c: Updated execution of comparison bytecodes - to be bignum-aware, routing string compares through INST_STR_CMP. + * generic/tclExecute.c: Updated execution of comparison bytecodes to + be bignum-aware, routing string compares through INST_STR_CMP. 2005-08-14 Don Porter <dgp@users.sourceforge.net> [kennykb-numerics-branch] - * generic/tclExecute.c: Updated execution of arithmetic bytecodes - to be bignum-aware, and to allow calculations on NaN to produce - a NaN result. INST_UMINUS updated to call mp_neg. + * generic/tclExecute.c: Updated execution of arithmetic bytecodes to + be bignum-aware, and to allow calculations on NaN to produce a NaN + result. INST_UMINUS updated to call mp_neg. * generic/tclTomMath.h: Added mp_and, mp_expt_d, and mp_neg to * unix/Makefile.in: routines from libtommath used by Tcl. @@ -1005,42 +997,41 @@ * generic/tclExecute.c: Major overhaul of IllegalExprOperandType. Changed several TclNewFooObj() calls to more logically appropriate - ones. Added several TODO comments marking opportunies for future - work. Made more use of the eePtr->constants. Made INST_UMINUS - bignum aware. + ones. Added several TODO comments marking opportunies for future work. + Made more use of the eePtr->constants. Made INST_UMINUS bignum aware. 2005-08-12 Don Porter <dgp@users.sourceforge.net> [kennykb-numerics-branch] - * generic/tclExecute.c: Simplify doCondJump. Use eePtr->constants - as result of INST_DICT_NEXT, INST_LAND, and INST_LOR. Separate - INST_LNOT from INST_UMINUS and simplify. + * generic/tclExecute.c: Simplify doCondJump. Use eePtr->constants as + result of INST_DICT_NEXT, INST_LAND, and INST_LOR. Separate INST_LNOT + from INST_UMINUS and simplify. 2005-08-12 Kevin Kenny <kennykb@acm.org> * generic/tclClock.c (MktimeObjCmd): - * library/clock.tcl (GetSystemTimeZone, LoadZoneinfoFile, - ReadZoneinfoFile): + * library/clock.tcl (GetSystemTimeZone, LoadZoneinfoFile) + (ReadZoneinfoFile): * tests/clock.test (clock-50.1): - Added functionality to read /etc/localtime if it exists, so that - Tcl's time can track system time on Linux even if TZ is not set. - Changed ::tcl::clock::Mktime to check for failure, and added a - test case that mimics failure but is really success. + Added functionality to read /etc/localtime if it exists, so that Tcl's + time can track system time on Linux even if TZ is not set. Changed + ::tcl::clock::Mktime to check for failure, and added a test case that + mimics failure but is really success. 2005-08-11 Don Porter <dgp@users.sourceforge.net> [kennykb-numerics-branch] - * generic/tclExecute.c: Rewrite of INST_LAND/INST_LOR to take - advantage of loss of "pure double" issues. Merged INST_UPLUS - with INST_TRY_CVT_TO_NUMERIC and updated to use improved rules - for impure "double"s as well. + * generic/tclExecute.c: Rewrite of INST_LAND/INST_LOR to take + advantage of loss of "pure double" issues. Merged INST_UPLUS with + INST_TRY_CVT_TO_NUMERIC and updated to use improved rules for impure + "double"s as well. * generic/tclStrToD.c: Restored conditional generation of - tclWideIntType values by TclParseNumber so that Tcl's not - completely broken while bignum calculation support is incomplete. - The NO_WIDE_TYPE macro can be used to disable this. + tclWideIntType values by TclParseNumber so that Tcl's not completely + broken while bignum calculation support is incomplete. The + NO_WIDE_TYPE macro can be used to disable this. * generic/tclBasic.c (ExprAbsFunc): First pass making [expr abs(.)] bignum-aware. @@ -1050,14 +1041,14 @@ * generic/tclEvent.c: Eliminated the USE_THREAD_STORAGE * generic/tclInt.h: option (which is on in every build * generic/tclThread.c: generated by the standard configurator). - * generic/tclThreadStorage.c: Eliminated the code for thread - * unix/configure: specific data without USE_THREAD_STORAGE - * unix/tcl.m4: and radically refactored the code - * unix/tclConfig.h.in: for USE_THREAD_STORAGE so that it - * unix/tclUnixThrd.c: has fewer dependencies on the order - * win/configure: of finalization. (Also, made - * win/Makefile.in: 'make distclean' on Windows clean - * win/rules.vc: just a little bit cleaner.) + * generic/tclThreadStorage.c: Eliminated the code for thread specific + * unix/configure: data without USE_THREAD_STORAGE and + * unix/tcl.m4: radically refactored the code for + * unix/tclConfig.h.in: USE_THREAD_STORAGE so that it has fewer + * unix/tclUnixThrd.c: dependencies on the order of + * win/configure: finalization. (Also, made 'make + * win/Makefile.in: distclean' on Windows clean just a + * win/rules.vc: little bit cleaner.) * win/tcl.m4: * win/tclWinThrd.c: @@ -1073,7 +1064,7 @@ * generic/tommath.h: make gentommath_h * generic/tclObj.c: Substantial rewrite to make all number - parsing flow through TclParseNumber(). Also established the + parsing flow through TclParseNumber(). Also established the NO_WIDE_TYPE and BIGNUM_AUTO_NARROW #ifdef's to help track the assumptions of different portions of the code. @@ -1082,20 +1073,20 @@ 2005-08-10 Kevin Kenny <kennykb@acm.org> * generic/tclEvent.c (Tcl_Finalize): Pushed Tcl_FinalizeLoad and - Tcl_ResetFilesystem down after Tcl_FinalizeThreadAlloc because - we can't unload DLL's until after their TSD keys are finalized. - (Note that we'll still see aborts if an unloaded DLL has TSD - - that still needs to be fixed. + Tcl_ResetFilesystem down after Tcl_FinalizeThreadAlloc because we + can't unload DLL's until after their TSD keys are finalized. (Note + that we'll still see aborts if an unloaded DLL has TSD - that still + needs to be fixed. * tests/compExpr-old.test (compExpr-3.8): Made tests conditional on * tests/expr.test (expr-3.8): 'unix' because they get - stack overflows on Win32 - threaded builds, + stack overflows on Win32 + threaded builds, 2005-08-09 Vince Darley <vincentdarley@users.sourceforge.net> - * generic/tclPathObj.c: fix to [file rootname] bug in optimized - code path reported on comp.lang.tcl. + * generic/tclPathObj.c: fix to [file rootname] bug in optimized code + path reported on comp.lang.tcl. 2005-08-08 Don Porter <dgp@users.sourceforge.net> @@ -1107,8 +1098,8 @@ 2005-08-06 Donal K. Fellows <donal.k.fellows@man.ac.uk> * generic/tclThreadStorage.c: Stop exposing the guts of the thread - storage system through the internal stubs table. Client code - should always use the standard API. + storage system through the internal stubs table. Client code should + always use the standard API. 2005-08-05 Don Porter <dgp@users.sourceforge.net> @@ -1117,36 +1108,36 @@ 2005-08-05 Donal K. Fellows <dkf@users.sf.net> - * unix/tclUnixInit.c (localeTable): Solaris uses a non-standard - name for the cp1251 charset. Thanks to Victor Wagner for reporting - this. [Bug 1252475] + * unix/tclUnixInit.c (localeTable): Solaris uses a non-standard name + for the cp1251 charset. Thanks to Victor Wagner for reporting this. + [Bug 1252475] 2005-08-05 Kevin Kenny <kennykb@users.sourceforge.net> * win/makefile.vc: Removed unused file ldAout.tcl. - * win/makefile.bc: [Bug #1244361] + * win/makefile.bc: [Bug 1244361] - * tests/binary.test: Cleaned up testing for scanning of NaN. - [Bug #1246264] + * tests/binary.test: Cleaned up testing for scanning of NaN. [Bug + 1246264] - * generic/tclBasic.c (ExprAbsFunc): Added code to handle the - * tests/expr.test (expr-38.1): corner case of applying - 'abs' to the smallest 32-bit integer. [Bug #1241572] + * generic/tclBasic.c (ExprAbsFunc): Added code to handle the corner + * tests/expr.test (expr-38.1): case of applying 'abs' to the + smallest 32-bit integer. [Bug 1241572] -2005-08-04 Andreas Kupries <andreask@activestate.com> +2005-08-04 Andreas Kupries <andreask@activestate.com> - * generic/tclIO.c (CloseChannel): Fixed comment nit, added - apparently missing word to complete a sentence. + * generic/tclIO.c (CloseChannel): Fixed comment nit, added apparently + missing word to complete a sentence. - * generic/tclObj.c (Tcl_DbDecrRefCount): Fixed whitespace nit in - panic message. + * generic/tclObj.c (Tcl_DbDecrRefCount): Fixed whitespace nit in panic + message. 2005-08-04 Don Porter <dgp@users.sourceforge.net> [kennykb-numerics-branch] Updated from HEAD * generic/tclObj.c: Rewrote Tcl_GetBooleanFromObj() and supporting - routines to make use of TclParseNumber. This reduces the potential + routines to make use of TclParseNumber. This reduces the potential number of times a string value must be scanned. * generic/tclObj.c: Simplified routines that manage the typeTable. @@ -1165,13 +1156,13 @@ 2005-07-30 Daniel Steffen <das@users.sourceforge.net> - * unix/tclLoadDyld.c (TclpDlopen, TclpLoadMemory): workarounds - for bugs/changes in behaviour in Mac OS X 10.4 Tiger. + * unix/tclLoadDyld.c (TclpDlopen, TclpLoadMemory): workarounds for + bugs/changes in behaviour in Mac OS X 10.4 Tiger. 2005-07-29 Donal K. Fellows <dkf@users.sf.net> - * generic/tclCmdIL.c (InfoGlobalsCmd): Even in high-speed mode, - still have to take care with non-existant variables. [Bug 1247135] + * generic/tclCmdIL.c (InfoGlobalsCmd): Even in high-speed mode, still + have to take care with non-existant variables. [Bug 1247135] 2005-07-28 Mo DeJong <mdejong@users.sourceforge.net> @@ -1182,7 +1173,7 @@ * tests/compExpr-old.test: Still more conversion of "nonPortable" * tests/error.test: tests into tests with constraints that * tests/expr-old.test: describe the limits of their - * tests/expr.test: portability. Also more consolidation + * tests/expr.test: portability. Also more consolidation * tests/fileName.test: of constraint synonyms. * tests/format.test: wideis64bit, 64bitInts => wideIs64bit * tests/get.test: wideIntegerUnparsed => wideIs32bit @@ -1206,8 +1197,8 @@ kept per-thread to prevent different threads from stomping on each others' formatting prescriptions. - ***POTENTIAL INCOMPATIBILITY*** Multi-threaded programs that set - the value of ::tcl_precision will now have to set it in each thread. + ***POTENTIAL INCOMPATIBILITY*** Multi-threaded programs that set the + value of ::tcl_precision will now have to set it in each thread. * tests/expr.test: Consolidated equivalent constraints into * tests/fileName.test: single definitions and (more precise) names: @@ -1218,47 +1209,43 @@ precisely what about them isn't portable, so the tests can run where they work. - * library/init.tcl ([unknown]): Corrected return code handling - in the portions of [unknown] that expand incomplete commands - during interactive operations. [Bug 1214462]. + * library/init.tcl ([unknown]): Corrected return code handling in the + portions of [unknown] that expand incomplete commands during + interactive operations. [Bug 1214462]. 2005-07-26 Mo DeJong <mdejong@users.sourceforge.net> * unix/configure: Regen. - * unix/configure.in: Check for a $prefix/share - directory and add it the the package if found. - This will check for Tcl packages in /usr/local/share - when Tcl is configured with the default dist install. + * unix/configure.in: Check for a $prefix/share directory and add it + the the package if found. This will check for Tcl packages in + /usr/local/share when Tcl is configured with the default dist install. [patch 1231015] 2005-07-26 Don Porter <dgp@users.sourceforge.net> * generic/tclBasic.c (Tcl_CallWhenDeleted): Converted to use per-thread counter, rather than a process global one that required - mutex protection. [RFE 1077194] + mutex protection. [RFE 1077194] * generic/tclNamesp.c (TclTeardownNamespace): Re-ordering so that * tests/trace.test (trace-34.4): command delete traces fire - while the command still exists. [Bug 1047286] + while the command still exists. [Bug 1047286] 2005-07-24 Mo DeJong <mdejong@users.sourceforge.net> * unix/configure: Regen. * unix/tcl.m4 (SC_PROG_TCLSH, SC_BUILD_TCLSH): * win/configure: Regen. - * win/tcl.m4 (SC_PROG_TCLSH, SC_BUILD_TCLSH): - Split confused search for tclsh on PATH and - build and install locations into two macros. - SC_PROG_TCLSH searches just the PATH. - SC_BUILD_TCLSH determines the name of the tclsh - executable in the Tcl build directory. - [Tcl bug 1160114] - [Tcl patch 1244153] + * win/tcl.m4 (SC_PROG_TCLSH, SC_BUILD_TCLSH): Split confused search + for tclsh on PATH and build and install locations into two macros. + SC_PROG_TCLSH searches just the PATH. SC_BUILD_TCLSH determines the + name of the tclsh executable in the Tcl build directory. [Bug 1160114] + [Patch 1244153] 2005-07-23 Don Porter <dgp@users.sourceforge.net> - * library/auto.tcl: Updates to the Tcl script library to make - * library/history.tcl: use of Tcl 8.4 features. Forward port of + * library/auto.tcl: Updates to the Tcl script library to make use + * library/history.tcl: of Tcl 8.4 features. Forward port of * library/init.tcl: appropriate portions of [Patch 1237755]. * library/package.tcl: * library/safe.tcl: @@ -1266,60 +1253,59 @@ 2005-07-23 Mo DeJong <mdejong@users.sourceforge.net> - * tests/string.test: Add string is tests for - functionality that was not tested. - * win/README: Update msys + mingw URL. - Remove old Cygwin + mingw info. + * tests/string.test: Add string is tests for functionality that was + not tested. + * win/README: Update msys + mingw URL. Remove old Cygwin + mingw + info. -2005-07-23 Miguel Sofer <msofer@users.sf.net> +2005-07-23 Miguel Sofer <msofer@users.sf.net> - * generic/tclExecute.c (INST_DICT_*): stop 2 compiler - warnings for uninitialised variables. + * generic/tclExecute.c (INST_DICT_*): stop 2 compiler warnings for + uninitialised variables. 2005-07-23 Donal K. Fellows <dkf@users.sf.net> - * generic/tclExecute.c (TEBC:INST_DICT_INCR_IMM): Fix the - incrementor to work correctly with wide values. + * generic/tclExecute.c (TEBC:INST_DICT_INCR_IMM): Fix the incrementor + to work correctly with wide values. 2005-07-21 Donal K. Fellows <dkf@users.sf.net> * generic/tclCompCmds.c (TclCompileDictCmd): First run at a compiler - * generic/tclExecute.c (TclExecuteByteCode): for dictionaries. - Also added an instruction to support 'finally'-like clauses, exposed - more of the dict guts to the rest of the core, and defined a few - tests to exercise more obscure parts of the compiler's operation that - were bugs during development. + * generic/tclExecute.c (TclExecuteByteCode): for dictionaries. Also + added an instruction to support 'finally'-like clauses, exposed more + of the dict guts to the rest of the core, and defined a few tests to + exercise more obscure parts of the compiler's operation that were bugs + during development. 2005-07-21 Kevin B. Kenny <kennykb@acm.org> * library/ldAout.tcl (***REMOVED***): Removed support for ancient * unix/configure: BSD's, IRIX 4, RISCos and - * unix/Makefile.in: Ultrix. Removed two files + * unix/Makefile.in: Ultrix. Removed two files * unix/tcl.m4: whose code is used only on * unix/tclLoadAout.c (***REMOVED***): those antique platforms. ***POTENTIAL INCOMPATIBILITY*** if anyone actually uses those - platforms; it is to be noted though, that an error in the - installer has actually not caused a necessary file to be installed - on those platforms in several releases, and nobody's complained. + platforms; it is to be noted though, that an error in the installer + has actually not caused a necessary file to be installed on those + platforms in several releases, and nobody's complained. 2005-07-16 Kevin B. Kenny <kennykb@acm.org> - * generic/tclStrToD.c (RefineResult): Plugged a stupid memory - leak in RefineResult (called from Tcl_StrToD). [Tk Bug 1227781] + * generic/tclStrToD.c (RefineResult): Plugged a stupid memory leak in + RefineResult (called from Tcl_StrToD). [Tk Bug 1227781] 2005-07-15 Kevin B. Kenny <kennykb@acm.org> * generic/tclClock.c (TclClockLocaltimeObjCmd,ThreadSafeLocalTime): * library/clock.tcl (GuessWindowsTimeZone, ClearCaches): * tests/clock.test (clock-49.1, clock-49.2): - Handle correctly the case where localtime() returns NULL to - report a conversion error. Also handle the case where the Windows - registry contains timezone values that can be mapped to a tzdata - file name but the corresponding file does not exist or is - corrupted, by falling back on a Posix timezone string instead; - this last case will avoid calls to localtime() in starpacks on - Windows. [Bug 1237907] + Handle correctly the case where localtime() returns NULL to report a + conversion error. Also handle the case where the Windows registry + contains timezone values that can be mapped to a tzdata file name but + the corresponding file does not exist or is corrupted, by falling back + on a Posix timezone string instead; this last case will avoid calls to + localtime() in starpacks on Windows. [Bug 1237907] 2005-07-14 Donal K. Fellows <donal.k.fellows@manchester.ac.uk> @@ -1330,11 +1316,11 @@ 2005-07-13 Don Porter <dgp@users.sourceforge.net> - * unix/tclUnixSock.c: Use a ProcessGlobalValue to store the - * win/tclWinSock.c: value returned by Tcl_GetHostName() - ([info hostname]). Also re-order initialization of the value - on Windows to favor GetComputerName() over gethostname() as - a source of the information. + * unix/tclUnixSock.c: Use a ProcessGlobalValue to store the value + * win/tclWinSock.c: returned by Tcl_GetHostName() ([info + hostname]). Also re-order initialization of the value on Windows to + favor GetComputerName() over gethostname() as a source of the + information. 2005-07-12 Kevin Kenny <kennykb@acm.org> @@ -1342,16 +1328,15 @@ * generic/tclCmdMZ.c (Tcl_StringObjCmd): * generic/tclInt.h: - * generic/tclObj.c (Tcl_GetDoubleFromObj, SetDoubleFromAny, - Tcl_GetIntFromObj, SetIntOrWideFromAny): + * generic/tclObj.c (Tcl_GetDoubleFromObj, SetDoubleFromAny) + (Tcl_GetIntFromObj, SetIntOrWideFromAny): * generic/tclStrToD.c (TclParseNumber, etc.): * tclTomMathInterface.c (TclBNInitBignumFromWideUInt): * tests/obj.test (obj-1.1, obj-2.2, obj-3.1, obj-3.2): - Initial attempt at an implementation of TIP #249, comprising - a unified parser and modifications to the Tcl_Get*FromObj - routines to use it. Further integration of the parser is - necessary and planned. + Initial attempt at an implementation of TIP #249, comprising a unified + parser and modifications to the Tcl_Get*FromObj routines to use it. + Further integration of the parser is necessary and planned. 2005-07-12 Donal K. Fellows <dkf@users.sf.net> @@ -1366,7 +1351,7 @@ * generic/tclExecute.c (TclExecuteByteCode): Reimplement long and wide type integer division and modulus operations so that the smallest and - largest integer values are handled properly. The divide operation is + largest integer values are handled properly. The divide operation is more efficient since it no longer does a modulus or negation and only checks for a remainder when the quotient will be a negative number. The modulus operation is now a bit more complex because of a number of @@ -1392,7 +1377,7 @@ * generic/tclNamesp.c: Allow for [namespace import] of a command * tests/namespace.test: over a previous [namespace import] of itself - without throwing an error. [RFE 1230597] + without throwing an error. [RFE 1230597] 2005-07-04 Donal K. Fellows <dkf@users.sf.net> @@ -1401,11 +1386,11 @@ dict iterator. Purge the last attempts at doing it at a higher level as they didn't work and were no longer needed. -2005-07-01 Zoran Vasiljevic <vasiljevic@users.sourceforge.net> +2005-07-01 Zoran Vasiljevic <vasiljevic@users.sourceforge.net> - * unix/tclUnixNotfy.c: protect against spurious wake-ups while - waiting on the condition variable when tearing down the notifier - thread [Bug# 1222872]. + * unix/tclUnixNotfy.c: protect against spurious wake-ups while waiting + on the condition variable when tearing down the notifier thread [Bug + 1222872]. 2005-06-28 Mo DeJong <mdejong@users.sourceforge.net> @@ -1417,7 +1402,7 @@ wide int type. Add tests that parse the smallest/largest long int and wide int values. -2005-06-24 Kevin Kenny <kennykb@acm.org> +2005-06-24 Kevin Kenny <kennykb@acm.org> * generic/tclEvent.c (Tcl_Finalize): * generic/tclInt.h: @@ -1431,12 +1416,12 @@ * library/auto.tcl: Make file safe to re-[source] without destroying registered auto_mkindex_parser hooks. -2005-06-23 Kevin Kenny <kennykb@acm.org> +2005-06-23 Kevin Kenny <kennykb@acm.org> * win/tclWinChan.c: More rewriting of __asm__ blocks that implement * win/tclWinFCmd.c: SEH in GCC, because mingw's gcc 3.4.2 is not as forgiving of violations committed by the old code and caused panics. - [Bug #1225957] + [Bug 1225957] 2005-06-23 Daniel Steffen <das@users.sourceforge.net> @@ -1445,10 +1430,10 @@ 2005-06-22 Don Porter <dgp@users.sourceforge.net> - * win/tclWinFile.c: Potential buffer overflow. [Bug 1225571] - Thanks to Pat Thoyts for discovery and fix. + * win/tclWinFile.c: Potential buffer overflow. [Bug 1225571] Thanks to + Pat Thoyts for discovery and fix. -2005-06-22 Kevin Kenny <kennykb@acm.org> +2005-06-22 Kevin Kenny <kennykb@acm.org> * generic/tclInt.h: Changed the finalization * generic/tclEvent.c (Tcl_Finalize): logic to defer the @@ -1457,11 +1442,10 @@ * win/tclWinPipe.c (TclFinalizePipes): all channels have been closed, in order to avoid a situation where the Windows PipeCloseProc2 would re-establish the exit handler after exit handlers had already - run, corrupting the heap. [Bug #1225727] - Also corrected a potential read of uninitialized memory in - PipeClose2Proc [Bug #1225044] + run, corrupting the heap. [Bug 1225727] Also corrected a potential + read of uninitialized memory in PipeClose2Proc [Bug 1225044] -2005-06-21 Andreas Kupries <andreask@activestate.com> +2005-06-21 Andreas Kupries <andreask@activestate.com> * generic/tclInt.h: Followup to change made on 2005-06-18 by Daniel Steffen. There are compilers (*) who error out on the redefinition of @@ -1549,7 +1533,7 @@ 2005-06-13 Vince Darley <vincentdarley@users.sourceforge.net> - * generic/tclFCmd.c: correct fix to file mkdir 2005-06-09, [Bug 1219176] + * generic/tclFCmd.c: correct fix to file mkdir 2005-06-09 [Bug 1219176] 2005-06-12 Donal K. Fellows <dkf@users.sf.net> @@ -1568,8 +1552,8 @@ 2005-06-09 Donal K. Fellows <dkf@users.sf.net> - * doc/expr.n, doc/mathfunc.n: Fix minor typos [Bug 1211078] and - add mention of distinctly-relevant [namespace path] subcommand. + * doc/expr.n, doc/mathfunc.n: Fix minor typos [Bug 1211078] and add + mention of distinctly-relevant [namespace path] subcommand. 2005-06-07 Don Porter <dgp@users.sourceforge.net> @@ -1609,22 +1593,22 @@ * generic/tclBasic.c (Tcl_CreateInterp): Create the mapping into Tcl. * generic/tclIOCmd.c (TclChanTruncateObjCmd): Implementation of Tcl-level truncation API. - * generic/tclIO.c (Tcl_TruncateChannel): Generic C-level - truncation API implementation. + * generic/tclIO.c (Tcl_TruncateChannel): Generic C-level truncation + API implementation. * unix/tclUnixChan.c (FileTruncateProc): Basic implementation of truncating driver. - * win/tclWinChan.c (FileTruncateProc): Added implementation of - file truncation for Windows. + * win/tclWinChan.c (FileTruncateProc): Added implementation of file + truncation for Windows. * tests/chan.test (chan-15.2): Added real test of truncation. 2005-06-06 Kevin B. Kenny <kennykb@acm.org> * win/tclWin32Dll.c: Corrected another buglet in the assembly code for - stack probing on Win32/gcc. [Bug #1213678] + stack probing on Win32/gcc. [Bug 1213678] * generic/tclObj,c: Added missing 'static' on definition of UpdateStringOfBignum, and removed a 'switch' on a 'long long' operand - (which HP-UX native 'cc' seems unable to handle). [Bug #1215775] + (which HP-UX native 'cc' seems unable to handle). [Bug 1215775] 2005-06-04 Jeff Hobbs <jeffh@ActiveState.com> @@ -1644,8 +1628,8 @@ 2005-06-02 Jeff Hobbs <jeffh@ActiveState.com> * unix/Makefile.in (html): add BUILD_HTML_FLAGS optional var - * tools/tcltk-man2html.tcl: add a --useversion to prevent - confusion when multiple Tcl source dirs exist. + * tools/tcltk-man2html.tcl: add a --useversion to prevent confusion + when multiple Tcl source dirs exist. 2005-06-01 Don Porter <dgp@users.sourceforge.net> @@ -1657,8 +1641,8 @@ 2005-06-01 Donal K. Fellows <donal.k.fellows@man.ac.uk> - * generic/tclCompCmds.c (TclCompileSwitchCmd): Allow compilation - of -nocase -glob [switch]es (only one we know how to compile). + * generic/tclCompCmds.c (TclCompileSwitchCmd): Allow compilation of + -nocase -glob [switch]es (only one we know how to compile). TIP#241 IMPLEMENTATION from Joe Mistachkin @@ -1669,28 +1653,28 @@ * tests/cmdIL.test, tests/lsearch.test, tests/switch.test: Tests * doc/lsearch.n, doc/lsort.n, doc/switch.n: Docs - * generic/tclCompCmds.c (TclCompileLindexCmd): Compile the most - common case of [lindex] more efficiently. + * generic/tclCompCmds.c (TclCompileLindexCmd): Compile the most common + case of [lindex] more efficiently. - * unix/tclUnixNotfy.c (Tcl_FinalizeNotifier): Pass the correct - number of arguments to Tcl_JoinThread. + * unix/tclUnixNotfy.c (Tcl_FinalizeNotifier): Pass the correct number + of arguments to Tcl_JoinThread. 2005-05-31 Donal K. Fellows <donal.k.fellows@man.ac.uk> * unix/configure.in, unix/tcl.m4: Standardize generation of help messages to always use AC_HELP_STRING and always (except for - --with-tcl and --with-tk, where the default is complex) say what - the default is. + --with-tcl and --with-tk, where the default is complex) say what the + default is. -2005-05-31 Zoran Vasiljevic <vasiljevic@users.sourceforge.net> +2005-05-31 Zoran Vasiljevic <vasiljevic@users.sourceforge.net> - * unix/tclUnixNotfy.c: the notifier thread is now created as - joinable thread and it is properly joined in Tcl_FinalizeNotifier. - This is an attempt to fix the Tcl Bug #1082283. + * unix/tclUnixNotfy.c: the notifier thread is now created as joinable + thread and it is properly joined in Tcl_FinalizeNotifier. This is an + attempt to fix the [Bug 1082283]. -2005-05-30 Zoran Vasiljevic <vasiljevic@users.sf.net> +2005-05-30 Zoran Vasiljevic <vasiljevic@users.sf.net> - * win/tclWinThrd.c: Fixed Tcl Bug #1204064. + * win/tclWinThrd.c: Fixed [Bug 1204064] 2005-05-30 Donal K. Fellows <donal.k.fellows@man.ac.uk> @@ -1698,13 +1682,13 @@ * generic/tclNamesp.c (Tcl_FindCommand, TclResetShadowedCmdRefs) (NamespacePathCmd, SetNsPath, UnlinkNsPath, TclInvalidateNsPath): - Implementation of the [namespace path] command and the command - name resolution engine. + Implementation of the [namespace path] command and the command name + resolution engine. * doc/info.n, doc/namespace.n: Doc updates. * tests/namespace.test (namespace-51.*): Test updates. * generic/tclResolve.c (BumpCmdRefEpochs, Tcl_SetNamespaceResolvers): - * generic/tclBasic.c (Tcl_CreateCommand, Tcl_CreateObjCommand): - Ensure that people don't see stale paths. + * generic/tclBasic.c (Tcl_CreateCommand, Tcl_CreateObjCommand): Ensure + that people don't see stale paths. * generic/tclInt.h (Namespace, NamespacePathEntry): Structure defs. * generic/tclCmdIL.c (InfoCommandsCmd): Updates to [info commands]. @@ -1712,8 +1696,8 @@ * macosx/Makefile: moved & corrected EMBEDDED_BUILD check. - * unix/configure.in: corrected framework finalization to softlink - stub library to Versions/8.x subdir instead of Versions/Current. + * unix/configure.in: corrected framework finalization to softlink stub + library to Versions/8.x subdir instead of Versions/Current. * unix/configure: autoconf-2.59 2005-05-25 Jeff Hobbs <jeffh@ActiveState.com> @@ -1732,8 +1716,8 @@ 2005-05-24 Don Porter <dgp@users.sourceforge.net> * library/init.tcl: Updated [unknown] to be sure the [return] - * tests/init.test: options from an auto-loaded command are - seen correctly by the caller. + * tests/init.test: options from an auto-loaded command are seen + correctly by the caller. 2005-05-24 Daniel Steffen <das@users.sourceforge.net> @@ -1772,9 +1756,9 @@ 2005-05-20 Don Porter <dgp@users.sourceforge.net> * generic/tclParseExpr.c: Corrected parser to recognize all - boolean literals accepted by Tcl_GetBoolean, including prefixes - like "y" and "f", and to allow "eq" and "ne" as function names - in the proper context. [Bug 1201589]. + boolean literals accepted by Tcl_GetBoolean, including prefixes like + "y" and "f", and to allow "eq" and "ne" as function names in the + proper context. [Bug 1201589]. 2005-05-19 Donal K. Fellows <dkf@users.sf.net> @@ -1795,22 +1779,21 @@ Tcl_ExprBooleanObj. * generic/tclCmdMZ.c ([string is boolean/true/false]): Rewrite - dropping string-based Tcl_GetBoolean call, so that internal reps - are kept for subsequent quick boolean operations. + dropping string-based Tcl_GetBoolean call, so that internal reps are + kept for subsequent quick boolean operations. - * generic/tclExecute.c: Dropped most special handling of the - "boolean" Tcl_ObjType, since that type should now be rarely - encountered. + * generic/tclExecute.c: Dropped most special handling of the "boolean" + Tcl_ObjType, since that type should now be rarely encountered. * doc/BoolObj.3: Rewrite of documentation dropping many details - about the internals of Tcl_Objs. Shorter documentation focuses on - the function and use of the routines. + about the internals of Tcl_Objs. Shorter documentation focuses on the + function and use of the routines. * generic/tclInt.h: Revision to the "boolean" Tcl_ObjType, so * generic/tclObj.c: that only string values like "yes" and "false" * tests/obj.test: are kept as the "boolean" Tcl_ObjType. The string values "0" and "1" are kept as "int" Tcl_ObjType, which also - produce quick calls to Tcl_GetBooleanFromObj(). Since this internal + produce quick calls to Tcl_GetBooleanFromObj(). Since this internal change means a Tcl_ConvertToType to a "boolean" Tcl_ObjType might not produce a Tcl_Obj of type "boolean", the registration of the "boolean" type is also removed. @@ -1822,16 +1805,16 @@ * generic/tclObj.c (TclInitObjSubsystem): Removed the * tests/listObj.test: registration of the Tcl_ObjType's "list", * tests/obj.test: "procbody", "index", "ensembleCommand", - "localVarName", and "levelReference". The only reason to register - a Tcl_ObjType is to have it returned by Tcl_GetObjType, and the - only reason for that is to retrieve a (Tcl_ObjType *) to pass to - Tcl_ConvertToType(). None of the types above can support a - Tcl_ConvertToType() call; they panic. Better not to offer something + "localVarName", and "levelReference". The only reason to register a + Tcl_ObjType is to have it returned by Tcl_GetObjType, and the only + reason for that is to retrieve a (Tcl_ObjType *) to pass to + Tcl_ConvertToType(). None of the types above can support a + Tcl_ConvertToType() call; they panic. Better not to offer something than to lead users into a panic. ***POTENTIAL INCOMPATIBILITY*** For callers of Tcl_GetObjType on the type names listed above. -2005-05-15 Kevin Kenny <kennykb@users.sourceforge.net> +2005-05-15 Kevin Kenny <kennykb@users.sourceforge.net> * win/tclWin32Dll.c: conditioned definition of EXCEPTION_REGISTRATION structures on HAVE_NO_SEH, to fix a bug in @@ -1864,11 +1847,11 @@ of TkAqua upon loading having to finalize the exsting notifier and replace it with its custom version). [Patch 1202052] - * tests/unixNotfy.test: don't run unthreaded tests on Darwin - since notifier may be using threads even in unthreaded core. + * tests/unixNotfy.test: don't run unthreaded tests on Darwin since + notifier may be using threads even in unthreaded core. * unix/tclUnixPort.h: - * unix/tcl.m4 (Darwin): test for thread-unsafe realpath durning + * unix/tcl.m4 (Darwin): test for thread-unsafe realpath during configure, as Darwin 7 and later realpath is threadsafe. * macosx/Makefile: enable configure caching. @@ -1889,25 +1872,24 @@ * generic/tclIntPlatDecls.h: * generic/tclStubInit.c: make genstubs -2005-05-13 Kevin Kenny <kennykb@acm.org> +2005-05-13 Kevin Kenny <kennykb@acm.org> - * win/tclWin32Dll.c: Further rework of the SEH logic. All - EXCEPTION_REGISTRATION records are now - in the activation record rather than pushed - on the stack. + * win/tclWin32Dll.c: Further rework of the SEH logic. All + EXCEPTION_REGISTRATION records are now in the activation record rather + than pushed on the stack. 2005-05-13 Don Porter <dgp@users.sourceforge.net> * generic/tclBasic.c: Dropped the TCL_NO_MATH configuration. * generic/tclBinary.c: It's believed this has not been working - * generic/tclExecute.c: in a long time. Tcl needs math.h. + * generic/tclExecute.c: in a long time. Tcl needs math.h. * unix/Makefile.in: [RFE 1200680]. -2005-05-12 Kevin Kenny <kennykb@acm.org> +2005-05-12 Kevin Kenny <kennykb@acm.org> * doc/mathfunc.n: Changed NAME line to match the name of the page. -2005-05-11 Kevin Kenny <kennykb@acm.org> +2005-05-11 Kevin Kenny <kennykb@acm.org> [kennykb-numerics-branch] Resynchronized with the HEAD; at this checkpoint [-rkennykb-numerics-branch-20050511], the HEAD and @@ -1915,10 +1897,9 @@ 2005-05-11 Kevin Kenny <kennykb@acm.org> - * generic/tclStrToD.c (TclStrToD, RefineResult, ParseNaN): - Changed the code to cast 'char' to UCHAR explicitly when - using ctype macros, to silence complaints from the Solaris - compiler. + * generic/tclStrToD.c (TclStrToD, RefineResult, ParseNaN): Changed the + code to cast 'char' to UCHAR explicitly when using ctype macros, to + silence complaints from the Solaris compiler. 2005-05-10 Jeff Hobbs <jeffh@ActiveState.com> @@ -1926,70 +1907,65 @@ compliant compilers that don't like trailing ,s. * tests/string.test: string-10.[21-30] - * generic/tclCmdMZ.c (Tcl_StringObjCmd): add extra checks to - prevent possible UMR in unichar cmp function for string map. + * generic/tclCmdMZ.c (Tcl_StringObjCmd): add extra checks to prevent + possible UMR in unichar cmp function for string map. -2005-05-10 Kevin Kenny <kennykb@acm.org> +2005-05-10 Kevin Kenny <kennykb@acm.org> - * generic/tclBinary.c (FormatNumber): Fixed a bug where NaN's - resulted in reads of uninitialized memory when using 'd', - 'q', or 'Q' format. - * generic/tclStrToD.c (ParseNaN, TclFormatNaN): Added code to - handle the peculiarities of HP's PA_RISC, which uses a different - 'quiet' bit in NaN from everyone else. + * generic/tclBinary.c (FormatNumber): Fixed a bug where NaN's resulted + in reads of uninitialized memory when using 'd', 'q', or 'Q' format. + * generic/tclStrToD.c (ParseNaN, TclFormatNaN): Added code to handle + the peculiarities of HP's PA_RISC, which uses a different 'quiet' bit + in NaN from everyone else. * libtommath/tommath_superclass.h: Corrected C++-style comment. -2005-05-10 Kevin Kenny <kennykb@acm.org> +2005-05-10 Kevin Kenny <kennykb@acm.org> - Merged all changes on kennykb-numerics-branch back into the - HEAD. TIP's 132 and 232 are now Final. + Merged all changes on kennykb-numerics-branch back into the HEAD. + TIP's 132 and 232 are now Final. -2005-05-10 Kevin Kenny <kennykb@acm.org> +2005-05-10 Kevin Kenny <kennykb@acm.org> [kennykb-numerics-branch] Merged changes from HEAD. -2005-05-10 Miguel Sofer <msofer@users.sf.net> +2005-05-10 Miguel Sofer <msofer@users.sf.net> * generic/tclExecute.c (ExponLong, ExponWide): - * tests/expr.test (expr-23.34/35): fixed special case 'i**0' for - i>0 [Bug 1198892] + * tests/expr.test (expr-23.34/35): fixed special case 'i**0' for i>0 + [Bug 1198892] 2005-05-09 Kevin B. Kenny <kennykb@acm.org> [kennykb-numerics-branch] - * win/tclWin32Dll.c (TclpCheckStackSpace, TclWinCPUID): - Reworked structured event handling to function even - with -fomit-frame-pointers. + * win/tclWin32Dll.c (TclpCheckStackSpace, TclWinCPUID): Reworked + structured event handling to function even with + -fomit-frame-pointers. 2005-05-08 Kevin B. Kenny <kennykb@acm.org> [kennykb-numerics-branch] - * generic/tclStrToD.c: Made code more portable by finding a - workaround for MSVC's 'volatile' issue that - does not require conditional compilation. - * win/tclWin32Dll.c (TclWinCPUID): Removed structured event - handling from the GCC code - since (a) bad code is generated - by the instruction scheduling - with -O2, and (b) it's not - needed on any reasonably modern - CPU. + * generic/tclStrToD.c: Made code more portable by finding a workaround + for MSVC's 'volatile' issue that does not require conditional + compilation. + * win/tclWin32Dll.c (TclWinCPUID): Removed structured event handling + from the GCC code since (a) bad code is generated by the instruction + scheduling with -O2, and (b) it's not needed on any reasonably modern + CPU. 2005-05-07 Kevin B. Kenny <kennykb@acm.org> [kennykb-numerics-branch] * generic/tclEvent.c: Moved initialization of tclStrToD.c's * generic/tclInt.h: static constants into a procedure called - * generic/tclStrToD.c: from TclInitSubsystems to avoid double - checked locking protocol. Cleaned up - an issue where MSVC ignored the 'volatile' - specifier, causing incorrect comparison - of an underflowed number against zero. + * generic/tclStrToD.c: from TclInitSubsystems to avoid double checked + locking protocol. Cleaned up an issue where MSVC ignored the + 'volatile' specifier, causing incorrect comparison of an underflowed + number against zero. 2005-05-06 Jeff Hobbs <jeffh@ActiveState.com> - * unix/tcl.m4, unix/configure: correct Solaris 10 (5.10) check and - add support for x86_64 Solaris cc builds. + * unix/tcl.m4, unix/configure: correct Solaris 10 (5.10) check and add + support for x86_64 Solaris cc builds. 2005-05-05 Kevin B. Kenny <kennykb@acm.org> @@ -2055,11 +2031,11 @@ TIP#176 IMPLEMENTATION [Patch 1165695] - * generic/tclUtil.c: Extended TclGetIntForIndex to recognize - index formats including end+integer and integer+/-integer. + * generic/tclUtil.c: Extended TclGetIntForIndex to recognize index + formats including end+integer and integer+/-integer. - * generic/tclCmdMZ.c: Extended the -start switch of [regexp] - and [regsub] to accept all index formats known by TclGetIntForIndex. + * generic/tclCmdMZ.c: Extended the -start switch of [regexp] and + [regsub] to accept all index formats known by TclGetIntForIndex. * doc/lindex.n: Updated docs to note new index formats. * doc/linsert.n, doc/lrange.n, doc/lreplace.n, doc/lsearch.n: @@ -2078,7 +2054,7 @@ 2005-04-27 Don Porter <dgp@users.sourceforge.net> * library/init.tcl: Corrected flaw in interactive command - * tests/main.test: auto-completion. [Bug 1191409]. + * tests/main.test: auto-completion. [Bug 1191409]. TIP#183 IMPLEMENTATION [Patch 577093] @@ -2091,24 +2067,23 @@ 2005-04-26 Kevin B. Kenny <kennykb@users.sourceforge.net> - * generic/tclBinary.c (FormatNumber): - Dredge the NaN out of the internal representation if - Tcl_GetDoubleFromObj returns TCL_ERROR on a NaN. + * generic/tclBinary.c (FormatNumber): Dredge the NaN out of the + internal representation if Tcl_GetDoubleFromObj returns TCL_ERROR on a + NaN. - * generic/tclObj.c (Tcl_GetDoubleFromObj): - Restored silent overflow/underflow behaviour that the merge - of 2004-04-25 messed up. Thanks to Don Porter for calling - attention to this bug. Also removed an uninitialised memory - reference in this function that valgrind caught. Also changed - to return TCL_ERROR on a pure NaN. + * generic/tclObj.c (Tcl_GetDoubleFromObj): Restored silent + overflow/underflow behaviour that the merge of 2004-04-25 messed up. + Thanks to Don Porter for calling attention to this bug. Also removed + an uninitialised memory reference in this function that valgrind + caught. Also changed to return TCL_ERROR on a pure NaN. - * generic/tclStrToD.c (RefineResult): - Added a test for the initial approximation being HUGE_VAL; - this test avoids EDOM being returned from ldexp on some platforms - on input values exceeding the floating point range. + * generic/tclStrToD.c (RefineResult): Added a test for the initial + approximation being HUGE_VAL; this test avoids EDOM being returned + from ldexp on some platforms on input values exceeding the floating + point range. - * tests/expr.test (expr-29.*, expr-30.*): - Added further tests of overflow/underflow on input conversions. + * tests/expr.test (expr-29.*, expr-30.*): Added further tests of + overflow/underflow on input conversions. 2005-04-25 Kevin B. Kenny <kennykb@users.sourceforge.net> @@ -2122,23 +2097,24 @@ build on Mac OS X 10.1 again. * generic/tclNotify.c (TclFinalizeNotifier): fixed notifier not being - finalized in unthreaded core (was testing for notifier initialization in - current thread by checking thread id != 0 but thread id is always 0 in - untreaded core). + finalized in unthreaded core (was testing for notifier initialization + in current thread by checking thread id != 0 but thread id is always 0 + in untreaded core). * win/tclWinNotify.c (Tcl_WaitForEvent): * unix/tclUnixNotfy.c (Tcl_WaitForEvent): don't call ScaleTimeProc for zero wait times (as specified in TIP 233). - * unix/Makefile.in: added @PLAT_SRCS@ to SRCS and split out NOTIFY_SRCS - from UNIX_SRCS for parity with UNIX_OBJS & NOTIFY_OBJS. + * unix/Makefile.in: added @PLAT_SRCS@ to SRCS and split out + NOTIFY_SRCS from UNIX_SRCS for parity with UNIX_OBJS & NOTIFY_OBJS. - * unix/tcl.m4 (Darwin): added configure checks for recently added linker - flags -single_module and -search_paths_first to allow building with - older tools (and on Mac OS X 10.1), use -single_module in SHLIB_LD and - not just T{CL,K}_SHLIB_LD_EXTRAS, added unexporting from Tk of symbols - from libtclstub to avoid duplicate symbol warnings, added PLAT_SRCS - definition for Mac OS X, defined MODULE_SCOPE to __private_extern__. + * unix/tcl.m4 (Darwin): added configure checks for recently added + linker flags -single_module and -search_paths_first to allow building + with older tools (and on Mac OS X 10.1), use -single_module in + SHLIB_LD and not just T{CL,K}_SHLIB_LD_EXTRAS, added unexporting from + Tk of symbols from libtclstub to avoid duplicate symbol warnings, + added PLAT_SRCS definition for Mac OS X, defined MODULE_SCOPE to + __private_extern__. (SC_MISSING_POSIX_HEADERS): added caching of dirent.h check. * unix/configure: autoconf-2.59 @@ -2161,16 +2137,15 @@ * library/tzdata/America/Kentucky/Monticello: * library/tzdata/America/North_Dakota/Center: * library/tzdata/Asia/Tehran: - Olson's tzdata2005i. Corrects exact time at which Standard Time - was adopted in the US (generally, noon, Standard Time, rather than - noon, Local Mean Time). Adopts new civil rules for Nicaragua - and Iran. + Olson's tzdata2005i. Corrects exact time at which Standard Time was + adopted in the US (generally, noon, Standard Time, rather than noon, + Local Mean Time). Adopts new civil rules for Nicaragua and Iran. 2005-04-25 Don Porter <dgp@users.sourceforge.net> * library/init.tcl: Use "ni" and "in" operators. -2005-04-25 Miguel Sofer <msofer@users.sf.net> +2005-04-25 Miguel Sofer <msofer@users.sf.net> * generic/tclExecute.c: fix for [Bug 1189274]. @@ -2181,22 +2156,22 @@ 2005-04-22 Don Porter <dgp@users.sourceforge.net> - The 2005-04-21 changes to Tcl_GetBooleanFromObj were done to bring - it into agreement with its docs. Further investigation reveals it - was the docs that were incorrect. + The 2005-04-21 changes to Tcl_GetBooleanFromObj were done to bring it + into agreement with its docs. Further investigation reveals it was the + docs that were incorrect. * doc/BoolObj.3: Corrections to the documentation of - Tcl_GetBooleanFromObj to bring it into agreement with what this - public interface has always done, including noting the difference - in function between Tcl_GetBooleanFromObj and Tcl_GetBoolean. + Tcl_GetBooleanFromObj to bring it into agreement with what this public + interface has always done, including noting the difference in function + between Tcl_GetBooleanFromObj and Tcl_GetBoolean. * generic/tclGet.c: Revised Tcl_GetBoolean to no longer be a wrapper around Tcl_GetBooleanFromObj (different function!). - * generic/tclObj.c: Removed TclGetTruthValueFromObj routine - that was added yesterday. Revisions so that only - Tcl_GetBoolean-approved values get the "boolean" Tcl_ObjType. - This retains the fix for [Bug 1187123]. + * generic/tclObj.c: Removed TclGetTruthValueFromObj routine that + was added yesterday. Revisions so that only Tcl_GetBoolean-approved + values get the "boolean" Tcl_ObjType. This retains the fix for [Bug + 1187123]. * tests/string.test: Test string-23.0 for Bug 1187123. * generic/tclInt.h: Revert most recent change. @@ -2210,23 +2185,24 @@ * doc/GetInt.3: Convert argument "string" to "str" to agree with code. Also clarified a few details on int and double formats. - * generic/tclGet.c: Radical code simplification. Converted + * generic/tclGet.c: Radical code simplification. Converted Tcl_GetFoo() routines into wrappers around Tcl_GetFooFromObj(). - Reduces code duplication, and the resulting potential for inconsistency. + Reduces code duplication, and the resulting potential for + inconsistency. * generic/tclObj.c: Several changes: - Re-ordered error detection code so all values with trailing - garbage receive a "not an integer" message instead of an - "integer too large" message. + garbage receive a "not an integer" message instead of an "integer + too large" message. - Removed inactive code meant to deal with strtoul* routines that - fail to parse leading signs. All of them do, and if any are + fail to parse leading signs. All of them do, and if any are detected that do not, the correct fix is replacement with compat/strtoul*.c, not a lot of special care by the callers. - Tcl_GetDoubleFromObj now avoids shimmering away a "wideInt" intrep. - Fixed Tcl_GetBooleanFromObj to agree with its documentation and with Tcl_GetBoolean, accepting only "0" and "1" and not other - numeric strings. [Bug 1187123] + numeric strings. [Bug 1187123] - Added new private routine TclGetTruthValueFromObj to perform the more permissive conversion of numeric values to boolean that is needed by the [expr] machinery. @@ -2239,12 +2215,12 @@ * tests/obj.test: Corrected bad tests that actually expected values like "47" and "0xac" to be accepted as booleans. - * generic/tclLiteral.c: Disabled the code that forces some literals - into the "int" Tcl_ObjType during registration. We can re-enable it - if this change causes trouble, but it seems more sensible to let - Tcl's "on-demand" shimmering rule, and not try to pre-guess things. + * generic/tclLiteral.c: Disabled the code that forces some literals + into the "int" Tcl_ObjType during registration. We can re-enable it if + this change causes trouble, but it seems more sensible to let Tcl's + "on-demand" shimmering rule, and not try to pre-guess things. -2005-04-20 Kevin B. Kenny <kennykb@acm.org> +2005-04-20 Kevin B. Kenny <kennykb@acm.org> [kennykb-numerics-branch] * doc/expr.n: @@ -2266,55 +2242,53 @@ * generic/tclBasic.c: Added unsupported command * generic/tclCmdAH.c: [::tcl::unsupported::EncodingDirs] to permit * generic/tclInt.h: query/set of the encoding search path at - * generic/tclInterp.c: the script level. Updated init.tcl to make - * library/init.tcl: use of the new command. Also updated several + * generic/tclInterp.c: the script level. Updated init.tcl to make + * library/init.tcl: use of the new command. Also updated several coding practices in init.tcl ("eq" for [string equal], etc.) 2005-04-19 Kevin B. Kenny <kennykb@acm.org> - * library/clock.tcl (Initialize): Put initialization code into a - proc to avoid inadvertently clobbering global variables. - [Bug 1185933] - * tests/clock.test (clock-48.1): Added regression test for the - above bug. + * library/clock.tcl (Initialize): Put initialization code into a proc + to avoid inadvertently clobbering global variables. [Bug 1185933] + * tests/clock.test (clock-48.1): Added regression test for the above + bug. Thanks to Ulrich Ring for reporting this bug. -2005-04-16 Miguel Sofer <msofer@users.sf.net> +2005-04-16 Miguel Sofer <msofer@users.sf.net> * generic/Var.c (Tcl_ArrayObjCmd - ARRAY_NAMES): fix Tcl_Obj leak [Bug 1084111] -2005-04-16 Zoran Vasiljevic <vasiljevic@users.sf.net> +2005-04-16 Zoran Vasiljevic <vasiljevic@users.sf.net> - * generic/tclIOUtil.c: force clenaup of the interp result - in TclLoadFile(). Some implementations of TclpFindSymbol() - will seed the interp result with error message when unable - to find the requested symbol (this is not considered to - be an error). + * generic/tclIOUtil.c: force clenaup of the interp result in + TclLoadFile(). Some implementations of TclpFindSymbol() will seed the + interp result with error message when unable to find the requested + symbol (this is not considered to be an error). - Set of changes correcting huge memory waste (not a leak) - when a thread exits. This has been introduced in 8.4.7 - within an attempt to correctly cleanup after ourselves when - Tcl library is being unloaded with the Tcl_Finalize() call. + Set of changes correcting huge memory waste (not a leak) when a thread + exits. This has been introduced in 8.4.7 within an attempt to + correctly cleanup after ourselves when Tcl library is being unloaded + with the Tcl_Finalize() call. - This fixes the Tcl Bug #1178445. + This fixes the [Bug 1178445] - * generic/tclInt.h: added prototypes for TclpFreeAllocCache() - and TclFreeAllocCache() + * generic/tclInt.h: added prototypes for TclpFreeAllocCache() and + TclFreeAllocCache() - * generic/tclThreadAlloc.c: modified TclFinalizeThreadAlloc() - to explicitly call TclpFreeAllocCache with the NULL-ptr as - argument signalling cleanup of private tsd key used only by - the threading allocator. + * generic/tclThreadAlloc.c: modified TclFinalizeThreadAlloc() to + explicitly call TclpFreeAllocCache with the NULL-ptr as argument + signalling cleanup of private tsd key used only by the threading + allocator. - * unix/tclUnixThrd.c: fixed TclpFreeAllocCache() to recognize - when being called with NULL argument. This is a signal for it - to clean up the tsd key associated with the threading allocator. + * unix/tclUnixThrd.c: fixed TclpFreeAllocCache() to recognize when + being called with NULL argument. This is a signal for it to clean up + the tsd key associated with the threading allocator. * win/tclWinThrd.c: renamed TclWinFreeAllocCache to TclpFreeAllocCache - and fixed to recognize when being called with NULL argument. - This is a signal for it to clean up the tsd key associated with the - threading allocator. + and fixed to recognize when being called with NULL argument. This is a + signal for it to clean up the tsd key associated with the threading + allocator. 2005-04-13 Don Porter <dgp@users.sourceforge.net> @@ -2323,55 +2297,53 @@ * generic/tclInterp.c: * library/init.tcl: Use auto-loading to bring in Tcl Module - * library/tclIndex: support as needed. This reduces startup - * library/tm.tcl: time by delaying this initialization to - a later time. + * library/tclIndex: support as needed. This reduces startup time + * library/tm.tcl: by delaying this initialization to a later + time. -2005-04-15 Miguel Sofer <msofer@users.sf.net> +2005-04-15 Miguel Sofer <msofer@users.sf.net> - * generic/tclExecute.c: missing semicolons caused failure to - compile with TCL_COMPILE_DEBUG. + * generic/tclExecute.c: missing semicolons caused failure to compile + with TCL_COMPILE_DEBUG. -2005-04-13 David Gravereaux <davygrvy@pobox.com> +2005-04-13 David Gravereaux <davygrvy@pobox.com> * generic/tclIO.c (Tcl_SetChannelBufferSize): Lowest size limit - * tests/io.test: changed from ten bytes to one byte. Need - * tests/iogt.test: for this change was proven by - Ross Cartlidge <rossc@cisco.com> where [read stdin 1] was grabbing - 10 bytes followed by starting a child process that was intended to - continue reading from stdin. Even with -buffersize set to one, - nine chars were getting lost by the buffersize over reading for - the native read() caused by [read]. + * tests/io.test: changed from ten bytes to one byte. Need for + * tests/iogt.test: this change was proven by Ross Cartlidge + <rossc@cisco.com> where [read stdin 1] was grabbing 10 bytes followed + by starting a child process that was intended to continue reading from + stdin. Even with -buffersize set to one, nine chars were getting lost + by the buffersize over reading for the native read() caused by [read]. 2005-04-13 Don Porter <dgp@users.sourceforge.net> - * unix/tclUnixInit.c (TclpGetEncodingNameFromEnvironment): Reversed + * unix/tclUnixInit.c (TclpGetEncodingNameFromEnvironment): Reversed order of verifying candidate [encoding system] value, checking against a table in memory first before calling Tcl_GetEncoding and potentially - scanning through the filesystem. Also ordered the table so that a - binary search could be used within it. Improves startup time a bit + scanning through the filesystem. Also ordered the table so that a + binary search could be used within it. Improves startup time a bit more on some systems. 2005-04-13 Kevin B. Kenny <kennykb@acm.org> - * library/clock.n: Added a missing '--' on several [switch] - commands to improve performance of [clock format] and related - operations. [Feature Request 1182459] + * library/clock.n: Added a missing '--' on several [switch] commands + to improve performance of [clock format] and related operations. + [Feature Request 1182459] 2005-04-13 Donal K. Fellows <donal.k.fellows@manchester.ac.uk> - * doc/fcopy.n: Improved documentation on copying binary files, - added an example and mentioned the use of [file copy]. - * doc/fconfigure.n: Improved documentation of -encoding binary - option. + * doc/fcopy.n: Improved documentation on copying binary files, added + an example and mentioned the use of [file copy]. + * doc/fconfigure.n: Improved documentation of -encoding binary option. This is all following comments from Steve Manning <steve@manning.net> on comp.lang.tcl that the current documentation was not clear. -2005-04-13 Miguel Sofer <msofer@users.sf.net> +2005-04-13 Miguel Sofer <msofer@users.sf.net> * generic/tclCompile.c:Commented out the functions - TclPrintInstruction(), TclPrintObject() and TclPrintSource() when - not debugging the compiler, as they are never called in that case. + TclPrintInstruction(), TclPrintObject() and TclPrintSource() when not + debugging the compiler, as they are never called in that case. 2005-04-12 Don Porter <dgp@users.sourceforge.net> @@ -2382,37 +2354,36 @@ rather than a mysterious crash later. * generic/tclEncoding.c: Several changes to the way the - encodingFileMap cache is maintained. Previously, it was attempted - to keep the file map filled and up to date with changes in the - encoding search path. This contributed to slow startup times since - it required an expensive "glob" operation to fill the cache. Now the - validity of items in the cache are checked at the time they are - used, so the cache is permitted to fall out of sync with the - encoding search path. Only [encoding names] and Tcl_GetEncodingNames() - now pay the full expense. [Bug 1177363] + encodingFileMap cache is maintained. Previously, it was attempted to + keep the file map filled and up to date with changes in the encoding + search path. This contributed to slow startup times since it required + an expensive "glob" operation to fill the cache. Now the validity of + items in the cache are checked at the time they are used, so the cache + is permitted to fall out of sync with the encoding search path. Only + [encoding names] and Tcl_GetEncodingNames() now pay the full expense. + [Bug 1177363] 2005-04-12 Kevin B. Kenny <kennykb@acm.org> - * compat/strstr.c: Added default definition of NULL to - accommodate building on systems with badly broken headers. - [Bug #1175161] + * compat/strstr.c: Added default definition of NULL to accommodate + building on systems with badly broken headers. [Bug 1175161] 2005-04-11 Donal K. Fellows <donal.k.fellows@manchester.ac.uk> - * tools/tclZIC.tcl: Rewrote to take advantage of more features of - Tcl 8.5 (on which it was dependent anyway). Also added a [package - require] line to formalize the relationship. + * tools/tclZIC.tcl: Rewrote to take advantage of more features of Tcl + 8.5 (on which it was dependent anyway). Also added a [package require] + line to formalize the relationship. -2005-04-11 Kevin Kenny <kennykb@users.sf.net> +2005-04-11 Kevin Kenny <kennykb@users.sf.net> [kennykb-numerics-branch] Merged with HEAD. Updated to libtommath 0.35. - * generic/tclBasic.c: Attempted to repeat changes that applied - to tclExecute.c in Miguel Sofer's commit of 2005-04-01, together - with (possibly) a few more uses of his new object creation macros. - Also plugged a memory leak in TclObjInvoke. [Bug 1180368] + * generic/tclBasic.c: Attempted to repeat changes that applied to + tclExecute.c in Miguel Sofer's commit of 2005-04-01, together with + (possibly) a few more uses of his new object creation macros. Also + plugged a memory leak in TclObjInvoke. [Bug 1180368] -2005-04-10 Kevin Kenny <kennykb@acm.org> +2005-04-10 Kevin Kenny <kennykb@acm.org> * library/tzdata/America/Montevideo: * library/tzdata/Asia/Almaty: @@ -2429,7 +2400,7 @@ * generic/tclBasic.c (TclObjInvoke): Plug memory leak. [Bug 1180368] -2005-04-09 Miguel Sofer <msofer@users.sf.net> +2005-04-09 Miguel Sofer <msofer@users.sf.net> * generic/tclExecute.c: fix possible leak of expansion Tcl_Objs @@ -2447,19 +2418,19 @@ 2005-04-08 Don Porter <dgp@users.sourceforge.net> - * generic/tclInt.h (TclGetEncodingFromObj): New function to + * generic/tclInt.h (TclGetEncodingFromObj): New function to * generic/tclEncoding.c (TclGetEncodingFromObj): retrieve a - Tcl_Encoding value, as well as cache it in the internal rep - of a new "encoding" Tcl_ObjType. - * generic/tclCmdAH.c (Tcl_EncodingObjCmd): Updated to call - new function so that Tcl_Encoding's used by [encoding convert*] - routines are not freed too quickly. [Bug 1077262] + Tcl_Encoding value, as well as cache it in the internal rep of a new + "encoding" Tcl_ObjType. + * generic/tclCmdAH.c (Tcl_EncodingObjCmd): Updated to call new + function so that Tcl_Encoding's used by [encoding convert*] routines + are not freed too quickly. [Bug 1077262] 2005-04-08 Donal K. Fellows <dkf@users.sf.net> - * generic/tclCompCmds.c (TclCompileSwitchCmd): Rewritten to be - able to handle the other form of [switch] and generate slightly - simpler (but longer) code. + * generic/tclCompCmds.c (TclCompileSwitchCmd): Rewritten to be able to + handle the other form of [switch] and generate slightly simpler (but + longer) code. 2005-04-06 Donal K. Fellows <dkf@users.sf.net> @@ -2476,36 +2447,35 @@ * doc/CrtFileHdlr.3, doc/CrtCommand.3, doc/CrtChannel.3: * doc/Backslash.3: Purge old .VS/.VE macro instances. - * tools/man2html2.tcl (IPmacro): Rewrote to understand what .IP - really is (.IP and .TP are really just two ways of doing the same - thing). Change below made this relevant. - * doc/re_syntax.n: Change some uses of .TP to .IP to work around - bugs in various *roff implementations. Also reworded the atom - descriptions slightly. + * tools/man2html2.tcl (IPmacro): Rewrote to understand what .IP really + is (.IP and .TP are really just two ways of doing the same thing). + Change below made this relevant. + * doc/re_syntax.n: Change some uses of .TP to .IP to work around bugs + in various *roff implementations. Also reworded the atom descriptions + slightly. 2005-04-05 Don Porter <dgp@users.sourceforge.net> - * generic/tclExecute.c (ExprSrandFunc): Replaced incursions into the - * generic/tclUtil.c (TclGetIntForIndex): intreps of numeric types - with simpler calls of Tcl_GetIntFromObj and Tcl_GetLongFromObj, - now that those routines are better behaved wrt shimmering. - [Patch 1177219] + * generic/tclExecute.c (ExprSrandFunc): Replaced incursions into the + * generic/tclUtil.c (TclGetIntForIndex): intreps of numeric types with + simpler calls of Tcl_GetIntFromObj and Tcl_GetLongFromObj, now that + those routines are better behaved wrt shimmering. [Patch 1177219] -2005-04-05 Miguel Sofer <msofer@users.sf.net> +2005-04-05 Miguel Sofer <msofer@users.sf.net> * generic/tclInt.h: - * generic/tclObj.c: Change in TclDecrRefCount and TclFreeObj, to - speed up the freeing of simple Tcl_Obj [Patch 1174551] + * generic/tclObj.c: Change in TclDecrRefCount and TclFreeObj, to speed + up the freeing of simple Tcl_Obj [Patch 1174551] -2005-04-04 Miguel Sofer <msofer@users.sf.net> +2005-04-04 Miguel Sofer <msofer@users.sf.net> * generic/tclExecute.c: small opts in obj handling -2005-04-02 Miguel Sofer <msofer@users.sf.net> +2005-04-02 Miguel Sofer <msofer@users.sf.net> * generic/tclVar.c: converted a few function calls to macros. -2005-04-01 Miguel Sofer <msofer@users.sf.net> +2005-04-01 Miguel Sofer <msofer@users.sf.net> * doc/ListObj.3: * generic/tclBasic.c: @@ -2517,30 +2487,30 @@ * generic/tclIntDecls.h: * generic/tclListObj.c: * generic/tclStubInit.c: - * generic/tclVar.c: Changed the internal representation of lists - to (a) reduce the malloc/free calls at list creation (from 2 to - 1), (b) reduce the cost of handling empty lists (we now never - create a list internal rep for them), (c) allow refcounting of the - list internal rep. The latter permits insuring that the pointers - returned by Tcl_ListObjGetElements remain valid even if the object - shimmers away from its original list type. This is [Patch 1158008] + * generic/tclVar.c: Changed the internal representation of lists to + (a) reduce the malloc/free calls at list creation (from 2 to 1), (b) + reduce the cost of handling empty lists (we now never create a list + internal rep for them), (c) allow refcounting of the list internal + rep. The latter permits insuring that the pointers returned by + Tcl_ListObjGetElements remain valid even if the object shimmers away + from its original list type. This is [Patch 1158008] * generic/tclExecute.c: * generic/tclInt.h: * generic/tclObj.c: * generic/tclStringObj.c: - (1) defined new internal macros for creating and setting - frequently used obj types (int,long, wideInt, double, - string). Changed TEBC to use eg 'TclNewIntObj(objPtr, i)' to avoid - the function call in 'objPtr = Tcl_NewIntObj(i)' - (2) ExecEnv now stores two Tcl_Obj* pointing to the constants "0" - and "1", for use by TEBC. + (1) defined new internal macros for creating and setting frequently + used obj types (int,long, wideInt, double, string). Changed TEBC to + use eg 'TclNewIntObj(objPtr, i)' to avoid the function call in 'objPtr + = Tcl_NewIntObj(i)' + (2) ExecEnv now stores two Tcl_Obj* pointing to the constants "0" and + "1", for use by TEBC. (3) slight reduction in cost of INST_START_CMD -2005-03-31 Miguel Sofer <msofer@users.sf.net> +2005-03-31 Miguel Sofer <msofer@users.sf.net> - * generic/tclExecute.c (INST_JUMP_TRUE/FALSE): replaced - "test and branch" with "compute index into table" + * generic/tclExecute.c (INST_JUMP_TRUE/FALSE): replaced "test and + branch" with "compute index into table" 2005-03-30 Donal K. Fellows <donal.k.fellows@manchester.ac.uk> @@ -2554,34 +2524,34 @@ 2005-03-24 Don Porter <dgp@users.sourceforge.net> * generic/tclCompile.h: Move the TclInterpReady() declaration from - * generic/tclInt.h: tclCompile.h to tclInt.h. Should have - been done as part of the 1115904 bug fix on 2005-03-18. + * generic/tclInt.h: tclCompile.h to tclInt.h. Should have been + done as part of the 1115904 bug fix on 2005-03-18. * generic/tclThreadTest.c: Stop providing the phony package - "Thread 1.0" when the [::testthread] command is defined. It's - never used by anything, and conflicts with loading the real - "Thread" package. + "Thread 1.0" when the [::testthread] command is defined. It's never + used by anything, and conflicts with loading the real "Thread" + package. 2005-03-18 Don Porter <dgp@users.sourceforge.net> - * generic/tclCompCmds.c (TclCompileIncrCmd): Corrected checks - for immediate operand usage to permit leading space and sign - characters. Restores more efficient bytecode for [incr x -1] - that got lost in the CONST string reforms of Tcl 8.4. [Bug 1165671] + * generic/tclCompCmds.c (TclCompileIncrCmd): Corrected checks for + immediate operand usage to permit leading space and sign characters. + Restores more efficient bytecode for [incr x -1] that got lost in the + CONST string reforms of Tcl 8.4. [Bug 1165671] * generic/tclBasic.c (Tcl_EvalEx): Restored recursion limit * generic/tclParse.c (TclSubstTokens): testing in nested command * tests/basic.test (basic-46.4): substitutions within direct * tests/parse.test (parse-19.*): script evaluation (Tcl_EvalEx) - that got lost in the parser reforms of Tcl 8.1. Added tests for - correct behavior. [Bug 1115904] + that got lost in the parser reforms of Tcl 8.1. Added tests for + correct behavior. [Bug 1115904] 2005-03-15 Vince Darley <vincentdarley@users.sourceforge.net> * generic/tclFileName.c: * win/tclWinFile.c: - * tests/winFCMd.test: fix to 'file pathtype' and 'file norm' - failures on reserved filenames like 'COM1:', etc. + * tests/winFCMd.test: fix to 'file pathtype' and 'file norm' failures + on reserved filenames like 'COM1:', etc. 2005-03-15 Pat Thoyts <patthoyts@users.sourceforge.net> @@ -2603,37 +2573,36 @@ * tests/expr-old.test: * tests/expr.test: * tests/for.test: - * tests/parseExpr.test: - Initial implementation of TIP #232. + * tests/parseExpr.test: Initial implementation of TIP #232. * generic/tclObj.c (Tcl_DbNewBignumObj): Fixed typo that broke --enable-symbols=mem build - * tests/binary.test (binary-40.3, binary-40.6): Corrected tests - to allow NaN(7ffffffffffff). + * tests/binary.test (binary-40.3, binary-40.6): Corrected tests to + allow NaN(7ffffffffffff). -2005-03-14 Miguel Sofer <msofer@users.sf.net> +2005-03-14 Miguel Sofer <msofer@users.sf.net> - * generic/tclExecute.c: fixed INST_PUSH1's debugging code (wrong - obj ref passed to TRACE_WITH_OBJ). + * generic/tclExecute.c: fixed INST_PUSH1's debugging code (wrong obj + ref passed to TRACE_WITH_OBJ). -2005-03-14 Miguel Sofer <msofer@users.sf.net> +2005-03-14 Miguel Sofer <msofer@users.sf.net> * generic/tclCompile.c: fixed INST_RETURN's stack effect in tclInstructionTable (-1 instead of -2) -2005-03-10 Miguel Sofer <msofer@users.sf.net> +2005-03-10 Miguel Sofer <msofer@users.sf.net> * generic/tclCompCmds.c: removed debugging line 2005-03-10 Don Porter <dgp@users.sourceforge.net> * generic/tclTrace.c (TclCheckInterpTraces): Corrected mistaken - cast of ClientData to (TraceCommandInfo *) when not warranted. - Thanks to Yuri Victorovich for the report. [Bug 1153871] + cast of ClientData to (TraceCommandInfo *) when not warranted. Thanks + to Yuri Victorovich for the report. [Bug 1153871] * generic/tcl.h: Moved flag values TCL_TRACE_ENTER_EXEC and * generic/tclInt.h: TCL_TRACE_LEAVE_EXEC from public interface - into private. Should be used only by internal workings of - execution traces. + into private. Should be used only by internal workings of execution + traces. 2005-03-09 Kevin B. Kenny <kennykb@acm.org> @@ -2641,34 +2610,33 @@ * doc/PrintDbl.3: * doc/tclVars.n: Documented new semantics for tcl_precision. - * generic/tclExecute.c (Tcl_ExecuteByteCode): Removed the check - for division-by-zero on IEEE-754 machines. - * generic/tclUtil.c (Tcl_PrintDouble): Corrected bug where numbers - in the range [1e-4 .. 1.) were printed incorrectly. - * tests/compExpr-old.test (compExpr-old-11.13): Revised test - case for division by zero - * tests/expr-old.test (expr-34.11, expr-34.12): Revised test - cases for overflow in pow() to deal with infinities. - * tests/expr.test (expr-11.13, expr-29.1, expr-29.2): Revised - test case for division by zero and for underflow on input - conversions. + * generic/tclExecute.c (Tcl_ExecuteByteCode): Removed the check for + division-by-zero on IEEE-754 machines. + * generic/tclUtil.c (Tcl_PrintDouble): Corrected bug where numbers in + the range [1e-4 .. 1.) were printed incorrectly. + * tests/compExpr-old.test (compExpr-old-11.13): Revised test case for + division by zero. + * tests/expr-old.test (expr-34.11, expr-34.12): Revised test cases for + overflow in pow() to deal with infinities. + * tests/expr.test (expr-11.13, expr-29.1, expr-29.2): Revised test + case for division by zero and for underflow on input conversions. * tests/parseExpr.test (parseExpr-16.11): Revised test case for overflow on input conversion. - * tests/string.test (string-6.38 deleted): Removed test case - for underflow on input conversion, which is no longer an error. + * tests/string.test (string-6.38 deleted): Removed test case for + underflow on input conversion, which is no longer an error. * tests/util.test (util-10.*): Added test case for the bug in tclUtil.c. 2005-03-08 Jeff Hobbs <jeffh@ActiveState.com> - * win/makefile.vc: clarify necessary defined vars that can come - from MSVC or the Platform SDK. + * win/makefile.vc: clarify necessary defined vars that can come from + MSVC or the Platform SDK. 2005-03-07 Donal K. Fellows <dkf@users.sf.net> * doc/string.n: Minor typo. [Bug 1158247] -2005-03-07 Miguel Sofer <msofer@users.sf.net> +2005-03-07 Miguel Sofer <msofer@users.sf.net> * generic/tclExecute.c: new peephole optimisation for INST_PUSH1; fixed the peephole opt in INST_POP so that it is not used when @@ -2678,16 +2646,16 @@ [kennykb-numerics-branch] - * generic/tclCmdMZ.c: Changed [scan] to treat out-of-range - floating point values as infinities and zeroes. + * generic/tclCmdMZ.c: Changed [scan] to treat out-of-range floating + point values as infinities and zeroes. * generic/tclExecute.c: Changed [expr] to be permissive about infinities, allowing them to propagate. * generic/tclGet.c: Changed Tcl_GetDouble to be permissive about over/underflow. - * generic/tclObj.c: Changed SetDoubleFromAny to be permissive - about over/underflow. - * generic/tclParseExpr.c: Made [expr] permissive about input - numbers out of range. + * generic/tclObj.c: Changed SetDoubleFromAny to be permissive about + over/underflow. + * generic/tclParseExpr.c: Made [expr] permissive about input numbers + out of range. 2005-03-03 Kevin B. Kenny <kennykb@acm.org> @@ -2695,60 +2663,48 @@ * generic/tclInt.h: * generic/tclStrToD.c (Tcl_DoubleDigits, TclFormatNaN): - * generic/tclUtil.c (Tcl_PrintDouble): - Changed the signature of TclDoubleDigits so that it - accepts a pointer to the signum of the argument, and - returns the signum via that pointer. Added very - hacky code to handle IEEE signed zeroes in Tcl_DoubleDigits. - (It can't be done other than as a hack until C9x; - C89 simply doesn't deal with the concept of -0.0). - Added output conversion of tagged NaN values. - * generic/tclBinary.c (FormatNumber): - Changed to allow [binary format] to handle NaN. - * tests/binary.test (binary-60.1): - Added a quick-n-dirty test to make sure that NaN's - can be scanned and formatted. - * generic/tclParseExpr.c (GetLexeme, ParseMaxDoubleLength): - Modified so that tagged NaN (e.g., NaN(DEADBEEF)) can - be recognized. + * generic/tclUtil.c (Tcl_PrintDouble): Changed the signature of + TclDoubleDigits so that it accepts a pointer to the signum of the + argument, and returns the signum via that pointer. Added very hacky + code to handle IEEE signed zeroes in Tcl_DoubleDigits. (It can't be + done other than as a hack until C9x; C89 simply doesn't deal with the + concept of -0.0). Added output conversion of tagged NaN values. + * generic/tclBinary.c (FormatNumber): Changed to allow [binary format] + to handle NaN. + * tests/binary.test (binary-60.1): Added a quick-n-dirty test to make + sure that NaN's can be scanned and formatted. + * generic/tclParseExpr.c (GetLexeme, ParseMaxDoubleLength): Modified + so that tagged NaN (e.g., NaN(DEADBEEF)) can be recognized. 2005-03-02 Kevin B. Kenny <kennykb@acm.org> [kennykb-numerics-branch] Merged with HEAD as of 2005-02-23. - * generic/tclExecute.c: - Broadened test for NaN to work on Windows. + * generic/tclExecute.c: Broadened test for NaN to work on Windows. * generic/tclInt.h: * generic/tclStrToD.c (Tcl_DoubleDigits): - * generic/tclUtil.c (Tcl_PrintDouble, TclPrecTraceProc): - Added Tcl_DoubleDigits to format 'double' numbers - with the minimum number of significant digits to - yield correct rounding. Modified tcl_precision to - accept 0 as a precision (meaning "minimum digits"), and - made 0 the default. [TIP #132] - * generic/tclObj.c: - Made NaN's throw an error in Tcl_GetDoubleFromObj. + * generic/tclUtil.c (Tcl_PrintDouble, TclPrecTraceProc): Added + Tcl_DoubleDigits to format 'double' numbers with the minimum number of + significant digits to yield correct rounding. Modified tcl_precision + to accept 0 as a precision (meaning "minimum digits"), and made 0 the + default. [TIP #132] + * generic/tclObj.c: Made NaN's throw an error in Tcl_GetDoubleFromObj. * unix/Makefile.in: * win/Makefile.in: - * win/makefile.vc: - Added libtommath/bn_mp_init_set.c to the build. - * libtommath/tommath.h (mp_iseven): - Fixed a bug that caused zero to test 'odd'. - * generic/tommath.h: - Regenerated. + * win/makefile.vc: Added libtommath/bn_mp_init_set.c to the build. + * libtommath/tommath.h (mp_iseven): Fixed a bug that caused zero to + test 'odd'. + * generic/tommath.h: Regenerated. * tests/binary.test: * tests/expr-old.test: * tests/expr.test: - * tests/scan.test: - Corrected a number of tests that depended on - tcl_precision, and removed the {eformat} condition - from tests that no longer require it. - * tests/util.test: - Corrected a number of tests that depended on - tcl_precision, and removed the {eformat} condition - from tests that no longer require it. Added a series - of tests for correct rounding in Tcl_PrintDouble. [TIP - #132]. + * tests/scan.test: Corrected a number of tests that depended on + tcl_precision, and removed the {eformat} condition from tests that no + longer require it. + * tests/util.test: Corrected a number of tests that depended on + tcl_precision, and removed the {eformat} condition from tests that no + longer require it. Added a series of tests for correct rounding in + Tcl_PrintDouble. [TIP #132]. 2005-03-01 David N. Welton <davidw@dedasys.com> @@ -2759,7 +2715,7 @@ * library/tcltest/tcltest.tcl: Better use of [glob -types] to avoid * tests/tcltest.test: failed attempts to [source] a directory, and - similar matters. Thanks to "mpettigr". [Bug 1119798] + similar matters. Thanks to "mpettigr". [Bug 1119798] * library/tcltest/pkgIndex.tcl: Bump to tcltest 2.2.8 * unix/Makefile.in: @@ -2774,38 +2730,38 @@ * win/tclWinFCmd.c (TraverseWinTree): use wcslen on wchar, not Tcl_UniCharLen. -2005-02-16 Miguel Sofer <msofer@users.sf.net> +2005-02-16 Miguel Sofer <msofer@users.sf.net> - * doc/variable.n: fix for [Bug 1124160], variables are detected - by [info vars] but not by [info locals]. + * doc/variable.n: fix for [Bug 1124160], variables are detected by + [info vars] but not by [info locals]. 2005-02-11 Jeff Hobbs <jeffh@ActiveState.com> - * unix/Makefile.in: remove SHLIB_LD_FLAGS (only for AIX, inlined - * unix/tcl.m4: into SHLIB_LD). Combine AIX-* and AIX-5 - * unix/configure: branches in SC_CONFIG_CFLAGS. - Correct gcc builds for AIX-4+ and HP-UX-11. autoconf-2.59 gen'd. + * unix/Makefile.in: remove SHLIB_LD_FLAGS (only for AIX, inlined into + * unix/tcl.m4: SHLIB_LD). Combine AIX-* and AIX-5 branches in + * unix/configure: SC_CONFIG_CFLAGS. Correct gcc builds for AIX-4+ + and HP-UX-11. autoconf-2.59 gen'd. -2005-02-11 Miguel Sofer <msofer@users.sf.net> +2005-02-11 Miguel Sofer <msofer@users.sf.net> * tests/basic.test (basic-26.3): new test -2005-02-10 Miguel Sofer <msofer@users.sf.net> +2005-02-10 Miguel Sofer <msofer@users.sf.net> * generic/tclBasic.c (Tcl_EvalObjEx): - * tests/basic.test (basic-26.2): preserve the arguments passed to - TEOV in the pure-list branch, in case the list shimmers away. Fix - for [Bug 1119369], reported by Peter MacDonald. + * tests/basic.test (basic-26.2): preserve the arguments passed to TEOV + in the pure-list branch, in case the list shimmers away. Fix for [Bug + 1119369], reported by Peter MacDonald. 2005-02-10 Vince Darley <vincentdarley@users.sourceforge.net> - * generic/tclFileName.c: fix for test failures introduced - on 2005-01-17 [Bug 1119092] + * generic/tclFileName.c: fix for test failures introduced on + 2005-01-17 [Bug 1119092] 2005-02-10 Donal K. Fellows <donal.k.fellows@man.ac.uk> - * doc/binary.n: Made the documentation of sign bit masking and - [binary scan] consistent. [Bug 1117017] + * doc/binary.n: Made the documentation of sign bit masking and [binary + scan] consistent. [Bug 1117017] 2005-02-08 David N. Welton <davidw@dedasys.com> @@ -2815,12 +2771,11 @@ [kennykb-numerics-branch] - * generic/tclStrToD.c (TclStrToD, SafeLdExp): - Added code to manage the FPU precision on gcc+x86. - Enabled fast conversion of floats with small exponents - now that precision is correct. - * tests/expr.test: Corrected test for the smallest representible - value to the right IEEE values. + * generic/tclStrToD.c (TclStrToD, SafeLdExp): Added code to manage the + FPU precision on gcc+x86. Enabled fast conversion of floats with small + exponents now that precision is correct. + * tests/expr.test: Corrected test for the smallest representible value + to the right IEEE values. 2005-02-06 David N. Welton <davidw@dedasys.com> @@ -2828,8 +2783,7 @@ 2005-02-05 David N. Welton <davidw@dedasys.com> - * doc/Thread.3: Fixed sentence describing flags for - Tcl_CreateThread. + * doc/Thread.3: Fixed sentence describing flags for Tcl_CreateThread. * doc/FileSystem.3: Cleaned up typo in Tcl_FSNewNativePath documentation. @@ -2840,49 +2794,45 @@ [kennykb-numerics-branch] - * generic/tclStrToD.c (TclStrToD, RefineResult, SafeLdExp): - Added code to ensure that 'ldexp' is never called with - a value that will underflow. - * tests/expr.test: Added tests for the smallest representible - value, and rounding between it and zero. (The tests reflect - current behaviour; plan is to change the specification of - Tcl so that input conversion of doubles underflows silently.) + * generic/tclStrToD.c (TclStrToD, RefineResult, SafeLdExp): Added code + to ensure that 'ldexp' is never called with a value that will + underflow. + * tests/expr.test: Added tests for the smallest representible value, + and rounding between it and zero. (The tests reflect current + behaviour; plan is to change the specification of Tcl so that input + conversion of doubles underflows silently.) 2005-02-02 Mo DeJong <mdejong@users.sourceforge.net> - * generic/tclProc.c (TclInitCompiledLocals): - Add check for type of the framePtr->procPtr->bodyPtr - passed to TclInitCompiledLocals and panic if - it is not the correct type. If the body of the proc - is not of the compiled byte code type then the - code will crash. This was discovered while tracking - down a crash in Itcl, that crash is fixed by - Itcl patch 1115085. + * generic/tclProc.c (TclInitCompiledLocals): Add check for type of the + framePtr->procPtr->bodyPtr passed to TclInitCompiledLocals and panic + if it is not the correct type. If the body of the proc is not of the + compiled byte code type then the code will crash. This was discovered + while tracking down a crash in Itcl, that crash is fixed by Itcl patch + 1115085. 2005-02-01 Kevin B. Kenny <kennykb@acm.org> [kennykb-numerics-branch] Merged with HEAD as of today. - * generic/tclInt.decls: - Changed numbers of new stubs to resolve a conflict. - * generic/tclInt.h: - Added new TclStrToD routine that replaces the native - 'strtod' thro - ughout Tcl. + * generic/tclInt.decls: Changed numbers of new stubs to resolve a + conflict. + * generic/tclInt.h: Added new TclStrToD routine that replaces the + native 'strtod' throughout Tcl. * generic/tclCmdMZ (Tcl_StringObjCmd): * generic/tclGet.c (Tcl_GetDouble): * generic/tclObj.c (SetBooleanFromAny, SetDoubleFromAny): * generic/tclParseExpr.c (GetLexeme): - * generic/tclScan.c (Tcl_ScanObjCmd): - Replaced all uses of the native 'strtod' with a TclStrToD - routine that performs correct rounding and handles denormals. + * generic/tclScan.c (Tcl_ScanObjCmd): Replaced all uses of the native + 'strtod' with a TclStrToD routine that performs correct rounding and + handles denormals. * generic/tclStrToD.c: (new file) - New scanning function for extracting 'double' from a string - that rounds correctly, and handles denormals and infinities. + New scanning function for extracting 'double' from a string that + rounds correctly, and handles denormals and infinities. * unix/Makefile.in: * win/Makefile.in: * win/makefile.vc: - Added tclStrToD.c and the tommath routines that support it. + Added tclStrToD.c and the tommath routines that support it. These changes represent a partial implementation of TIP #132. Output conversion of floating point numbers, and proper handling @@ -2897,14 +2847,14 @@ * unix/configure: autoconf-2.57 -2005-01-30 Joe English <jenglish@users.sourceforge.net> +2005-01-30 Joe English <jenglish@users.sourceforge.net> - * unix/configure.in: Restored two double-evals that were - removed in the DBGX purge; these are still needed on some - platforms to account for TCL_TRIM_DOTS. [Bug 1112654] + * unix/configure.in: Restored two double-evals that were removed in + the DBGX purge; these are still needed on some platforms to account + for TCL_TRIM_DOTS. [Bug 1112654] - * unix/configure: NOT REGENERATED: only have autoconf 2.59 here, - need to find someone with autoconf 2.57. + * unix/configure: NOT REGENERATED: only have autoconf 2.59 here, need + to find someone with autoconf 2.57. 2005-01-28 Jeff Hobbs <jeffh@ActiveState.com> @@ -2920,7 +2870,7 @@ * generic/tclBasic.c (Tcl_ExprBoolean, Tcl_ExprDouble) (Tcl_ExprLong): Fix to recognize Tcl_WideInt type. [Bug 1109484] -2005-01-26 Andreas Kupries <andreask@activestate.com> +2005-01-26 Andreas Kupries <andreask@activestate.com> TIP#218 IMPLEMENTATION @@ -2946,21 +2896,20 @@ * library/auto.tcl: Updated [auto_reset] to clear auto-loaded commands in namespaces other than :: and to clear auto-loaded commands - that do not happen to be procs. [Bug 1101670] + that do not happen to be procs. [Bug 1101670] ***POTENTIAL INCOMPATIBILITY*** 2005-01-25 Daniel Steffen <das@users.sourceforge.net> - * unix/tcl.m4 (Darwin): fixed bug with static build linking to - dynamic library in /usr/lib etc instead of linking to static library - earlier in search path. [Tcl Bug 956908] - Removed obsolete references to Rhapsody. + * unix/tcl.m4 (Darwin): fixed bug with static build linking to dynamic + library in /usr/lib etc instead of linking to static library earlier + in search path. [Bug 956908] Removed obsolete references to Rhapsody. * unix/configure: autoconf-2.57 -2005-01-21 Andreas Kupries <andreask@activestate.com> +2005-01-21 Andreas Kupries <andreask@activestate.com> - * generic/tclStubInit.c: Regenerated the stubs support code from - * generic/tclDecls.h: the modified tcl.decls (TIP #233, see below). + * generic/tclStubInit.c: Regenerated the stubs support code from the + * generic/tclDecls.h: modified tcl.decls (TIP #233, see below). * doc/GetTime.3: Implemented TIP #233, i.e. the * generic/tcl.decls: 'Virtualization of Tcl's Sense of Time'. @@ -2972,7 +2921,7 @@ * win/tclWinNotify.c: access was done before, and where scaling * win/tclWinTime.c: between domains (real/virtual) is required. -2005-01-21 Andreas Kupries <andreask@activestate.com> +2005-01-21 Andreas Kupries <andreask@activestate.com> * generic/tclThread.c: Typo police. Fixed some nits * generic/tclCmdAH.c: in header comments of functions. @@ -2988,11 +2937,11 @@ [kennykb-numerics-branch] - * unix/Makefile.in: Updated Makefile to build libtommath on - Unix as well as Windows. [Bug 1106865] + * unix/Makefile.in: Updated Makefile to build libtommath on Unix as + well as Windows. [Bug 1106865] - * generic/tclTestObj.c (TestbignumobjCmd): - Silenced a compiler warning about a mismatched 'const'. + * generic/tclTestObj.c (TestbignumobjCmd): Silenced a compiler warning + about a mismatched 'const'. 2005-01-20 Kevin B. Kenny <kennykb@acm.org> @@ -3014,54 +2963,48 @@ * win/rules.vc: * win/tcl.m4: - * generic/tcl.h: Added declarations for bignum types, and - for a 'bignumValue' in the Tcl_Obj structure. - * generic/tclInt.h: Added declarations of interface procedures - for memory allocation in libtommath. + * generic/tcl.h: Added declarations for bignum types, and for a + 'bignumValue' in the Tcl_Obj structure. + * generic/tclInt.h: Added declarations of interface procedures for + memory allocation in libtommath. * generic/tcl.decls: Added new interface to bignum objects. - * generic/tclInt.decls: Added internal stubs for bignum routines - used by the test code in tclTestObj.c. + * generic/tclInt.decls: Added internal stubs for bignum routines used + by the test code in tclTestObj.c. - * generic/tclDecls/h: Regen. + * generic/tclDecls/h: Regen. * generic/tclIntDecls.h: * generic/tclStubInit.h: * tools/fix_tommath_h.tcl: (New file) Script to edit - libtommath/tommath.h and produce - generic/tommath.h so that storage - classes, allocation routines, and - data types conform to Tcl's - conventions. + libtommath/tommath.h and produce generic/tommath.h so that storage + classes, allocation routines, and data types conform to Tcl's + conventions. * generic/tommath.h: (New file) Generated by the above. - * generic/tclTomMath.h: (New file) Additional declarations - to be included in tommath.h when building - Tcl. + * generic/tclTomMath.h: (New file) Additional declarations to be + included in tommath.h when building Tcl. * generic/tclTomMathInterface.c: (New file) Small 'glue' routines - adapting tommath's API to Tcl. + adapting tommath's API to Tcl. * libtommath/bn_fast_s_mp_mul_digs.c: * libtommath/bn_mp_mul_d.c: * libtommath/bn_mp_read_radix.c: - * libtommath/tommath.h: Applied suggested changes from Tom St - Denis that correct an off-by-one error in single-digit - multiplication (leading to a pointer smash if uncorrected) and - change the string argument to 'mp_read_radix' from 'char*' to - 'const char*'. + * libtommath/tommath.h: Applied suggested changes from Tom St Denis + that correct an off-by-one error in single-digit multiplication + (leading to a pointer smash if uncorrected) and change the string + argument to 'mp_read_radix' from 'char*' to 'const char*'. - * libtommath/bn_mp_radix_size.c: - Local patch to ensure that sufficient memory is requested - even if the number has a single digit. + * libtommath/bn_mp_radix_size.c: Local patch to ensure that sufficient + memory is requested even if the number has a single digit. - * libtommath/bn_mp_read_radix.c: - Local patch to return MP_VAL if the input string contains - an invalid character. + * libtommath/bn_mp_read_radix.c: Local patch to return MP_VAL if the + input string contains an invalid character. * generic/tclObj.c: Added accessor functions for bignums. - * generic/tclTestObj.c: Added a 'testbignumobj' command to - exercise the accessor functions for bignums. + * generic/tclTestObj.c: Added a 'testbignumobj' command to exercise + the accessor functions for bignums. * win/Makefile.in: Added rules for making libtommath. @@ -3076,12 +3019,12 @@ 2005-01-19 Mo DeJong <mdejong@users.sourceforge.net> * win/tclWinChan.c (FileCloseProc): Invoke TclpCutFileChannel() to - remove a FileInfo from the thread local list before deallocating - it. This should have been done via an earlier call to - Tcl_CutChannel, but I was running into a crash in the next call to - Tcl_CutChannel during the IO finalization stage. + remove a FileInfo from the thread local list before deallocating it. + This should have been done via an earlier call to Tcl_CutChannel, but + I was running into a crash in the next call to Tcl_CutChannel during + the IO finalization stage. -2005-01-18 Kevin Kenny <kennykb@acm.org> +2005-01-18 Kevin Kenny <kennykb@acm.org> * library/tzdata/GMT+0: * library/tzdata/GMT-0: @@ -3094,40 +3037,40 @@ * library/tzdata/America/Rosario: * library/tzdata/Asia/Jerusalem: * library/tzdata/Brazil/Acre: - Routine update per Olson's tzdata2005c. Removed links to links - (Greenwich in several aliases; Navajo; Acre). Updated Paraguayan - DST rules and "best guess" at this year's Israeli rules. + Routine update per Olson's tzdata2005c. Removed links to links + (Greenwich in several aliases; Navajo; Acre). Updated Paraguayan DST + rules and "best guess" at this year's Israeli rules. 2005-01-17 Vince Darley <vincentdarley@users.sourceforge.net> - * generic/tclFileName.c: fix for glob failure on Windows shares - [Bug 1100542]. + * generic/tclFileName.c: fix for glob failure on Windows shares [Bug + 1100542]. * doc/pkgMkIndex.n: added documentation that 'pkg_mkIndex -lazy' is not a good idea. [Bug 1101678] 2005-01-14 Donal K. Fellows <donal.k.fellows@man.ac.uk> - * tests/compile.test (compile-17.1): Document known issue with - binding time of compiled command interpretations in [expr]. + * tests/compile.test (compile-17.1): Document known issue with binding + time of compiled command interpretations in [expr]. * generic/tclIOUtil.c (TclFSFileAttrIndex): New helper function so that we don't need to hard-code attribute indexes. [Bug 1100671] 2005-01-13 Donal K. Fellows <donal.k.fellows@man.ac.uk> - * doc/string.n: Removed the term 'set' from the documentation of - the [string trim] commands, as it caused confusion. + * doc/string.n: Removed the term 'set' from the documentation of the + [string trim] commands, as it caused confusion. 2005-01-12 Donal K. Fellows <donal.k.fellows@man.ac.uk> - * unix/tcl.m4 (SC_PATH_{TCL,TK}CONFIG): Added code to detect the - case when the --with-tcl/--with-tk arguments point to the config - scripts themselves and not their directory. If this is the case, - they now complain but keep working. [FRQ 951247] + * unix/tcl.m4 (SC_PATH_{TCL,TK}CONFIG): Added code to detect the case + when the --with-tcl/--with-tk arguments point to the config scripts + themselves and not their directory. If this is the case, they now + complain but keep working. [FRQ 951247] * unix/configure: autoconf-2.57 -2005-01-10 Joe English <jenglish@users.sourceforge.net> +2005-01-10 Joe English <jenglish@users.sourceforge.net> * unix/Makefile.in, unix/configure.in, unix/tcl.m4, * unix/tclConfig.sh.in, unix/dltest/Makefile.in: @@ -3136,14 +3079,14 @@ 2005-01-10 Donal K. Fellows <donal.k.fellows@man.ac.uk> - * unix/tclUnixFCmd.c (TclUnixCopyFile): Convert u_int to unsigned - to make clashes with types in standard C headers less of a - problem. [Bug 1098829] + * unix/tclUnixFCmd.c (TclUnixCopyFile): Convert u_int to unsigned to + make clashes with types in standard C headers less of a problem. [Bug + 1098829] -2005-01-09 Joe English <jenglish@users.sourceforge.net> +2005-01-09 Joe English <jenglish@users.sourceforge.net> - * unix/tclUnixThrd.c, unix/tclUnixPort.h: Remove readdir_r() - and related #ifdeffery (see #1095909). + * unix/tclUnixThrd.c, unix/tclUnixPort.h: Remove readdir_r() and + related #ifdeffery (see [Bug 1095909]). * unix/tcl.m4, unix/tclConfig.h.in: Don't check for HAVE_READDIR_R. * unix/configure: Regenerated. @@ -3155,9 +3098,9 @@ 2005-01-05 Donal K. Fellows <donal.k.fellows@man.ac.uk> - * doc/lsearch.n, doc/re_syntax.n: Convert to other form of emacs - mode control comment to prevent problems with old versions of - man. [Bug 1085127] + * doc/lsearch.n, doc/re_syntax.n: Convert to other form of emacs mode + control comment to prevent problems with old versions of man. [Bug + 1085127] 2005-01-05 Pat Thoyts <patthoyts@users.sourceforge.net> @@ -3166,9 +3109,9 @@ 2005-01-05 Donal K. Fellows <donal.k.fellows@man.ac.uk> * generic/tclInt.h, generic/tclPort.h: Move the #include of - tclConfig.h *first* before any reference to tcl.h so that the - build configuration is loaded before the first reference to any - system headers. Issue reported by Art Haas on tcl-core. + tclConfig.h *first* before any reference to tcl.h so that the build + configuration is loaded before the first reference to any system + headers. Issue reported by Art Haas on tcl-core. 2005-01-04 Don Porter <dgp@users.sourceforge.net> |