diff options
author | dgp <dgp@users.sourceforge.net> | 2007-09-04 17:43:42 (GMT) |
---|---|---|
committer | dgp <dgp@users.sourceforge.net> | 2007-09-04 17:43:42 (GMT) |
commit | 6071dd54232192dfc2f58917e4e64fd8d3940368 (patch) | |
tree | 6bd7a89eb2e5d78bce73e0e1b76b8e8683e5a5b3 /ChangeLog | |
parent | e0cfac8e8cf8670ea3513386a39250c155c0e22f (diff) | |
download | tcl-6071dd54232192dfc2f58917e4e64fd8d3940368.zip tcl-6071dd54232192dfc2f58917e4e64fd8d3940368.tar.gz tcl-6071dd54232192dfc2f58917e4e64fd8d3940368.tar.bz2 |
merge updates from HEAD
Diffstat (limited to 'ChangeLog')
-rw-r--r-- | ChangeLog | 486 |
1 files changed, 458 insertions, 28 deletions
@@ -1,3 +1,434 @@ +2007-09-03 Kevin B, Kenny <kennykb@acm.org> + + * library/tzdata/Africa/Cairo: + * library/tzdata/America/Grand_Turk: + * library/tzdata/America/Port-au-Prince: + * library/tzdata/America/Indiana/Petersburg: + * library/tzdata/America/Indiana/Tell_City: + * library/tzdata/America/Indiana/Vincennes: + * library/tzdata/Antarctica/McMurdo: + * library/tzdata/Australia/Adelaide: + * library/tzdata/Australia/Broken_Hill: + * library/tzdata/Australia/Currie: + * library/tzdata/Australia/Hobart: + * library/tzdata/Australia/Lord_Howe: + * library/tzdata/Australia/Melbourne: + * library/tzdata/Australia/Sydney: + * library/tzdata/Pacific/Auckland: + * library/tzdata/Pacific/Chatham: Olson's tzdata2007g. + + * generic/tclListObj.c (TclLindexFlat): + * tests/lindex.test (lindex-17.[01]): Added code to detect the + error when a script does [lindex {} end foo]; an overaggressive + optimisation caused this call to return an empty object rather + than an error. + +2007-09-03 Daniel Steffen <das@users.sourceforge.net> + + * generic/tclObj.c (TclInitObjSubsystem): restore registration of the + "wideInt" Tcl_ObjType for compatibility with 8.4 extensions that access + the tclWideIntType Tcl_ObjType; add setFromAnyProc for tclWideIntType. + +2007-09-02 Donal K. Fellows <dkf@users.sf.net> + + * doc/lsearch.n: Added note that order of results with the -all option + is that of the input list. It always was, but this makes it crystal. + +2007-08-30 Don Porter <dgp@users.sourceforge.net> + + * generic/tclCompile.c: Added fflush() calls following all callers of + * generic/tclExecute.c: TclPrintByteCodeObj() so that tcl_traceCompile + output is less likely to get mangled when writes to stdout interleave + with other code. + +2007-08-28 Don Porter <dgp@users.sourceforge.net> + + * generic/tclCompExpr.c: Use a table lookup in ParseLexeme() + to determine lexemes with single-byte representations. + + * generic/tclBasic.c: Used unions to better clarify overloading of + * generic/tclCompExpr.c: the fields of the OpCmdInfo and + * generic/tclCompile.h: TclOpCmdClientData structs. + +2007-08-27 Don Porter <dgp@users.sourceforge.net> + + * generic/tclCompExpr.c: Call TclCompileSyntaxError() when + expression syntax errors are found when compiling expressions. With + this in place, convert TclCompileExpr to return void, since there's no + longer any need to report TCL_ERROR. + * generic/tclCompile.c: Update callers. + * generic/tclExecute.c: + + * generic/tclCompCmds.c: New routine TclCompileSyntaxError() + * generic/tclCompile.h: to directly compile bytecodes that report a + * generic/tclCompile.c: syntax error, rather than (ab)use a call to + TclCompileReturnCmd. Also, undo the most recent commit that papered + over some issues with that (ab)use. New routine produces a new + opcode INST_SYNTAX, which is a minor variation of INST_RETURN_IMM. + Also a bit of constification. + + * generic/tclCompile.c: Move the deallocation of local LiteralTable + * generic/tclCompExpr.c: entries into TclFreeCompileEnv(). + * generic/tclExecute.c: Update callers. + + * generic/tclCompExpr.c: Force numeric and boolean literals + in expressions to register with their intreps intact, even if that + means overwriting existing intreps in already registered literals. + +2007-08-25 Kevin B. Kenny <kennykb@acm.org> + + * generic/tclExecute.c (TclExecuteByteCode): Added code to handle + * tests/expr.test (expr-23.48-53) integer exponentiation + that results in 32- and 64-bit integer results, avoiding calls to + wide integer exponentiation routines in this common case. + [Bug 1767293] + + * library/clock.tcl (ParseClockScanFormat): Modified code to allow + * tests/clock.test (clock-60.*): case-insensitive + matching of time zone and month names. [Bug 1781282] + + +2007-08-24 Don Porter <dgp@users.sourceforge.net> + + * generic/tclCompExpr.c: Register literals found in expressions + * tests/compExpr.test: to restore literal sharing. Preserve numeric + intreps when literals are created for the first time. Correct memleak + in ExecConstantExprTree() and add test for the leak. + +2007-08-24 Miguel Sofer <msofer@users.sf.net> + + * generic/tclCompile.c: replaced copy loop that tripped some + compilers with memmove [Bug 1780870] + +2007-08-23 Don Porter <dgp@users.sourceforge.net> + + * library/init.tcl ([auto_load_index]): Delete stray "]" that created + an expr syntax error (masked by a [catch]). + + * generic/tclCompCmds.c (TclCompileReturnCmd): Added crash protection + to handle callers other than TclCompileScript() failing to meet the + initialization assumptions of the TIP 280 code in CompileWord(). + + * generic/tclCompExpr.c: Suppress the attempt to convert to + numeric when pre-compiling a constant expresion indicates an error. + +2007-08-22 Miguel Sofer <msofer@users.sf.net> + + * generic/tclExecute.c (TEBC): disable the new shortcut to frequent + INSTs for debug builds. REVERTED (collision with alternative fix) + +2007-08-21 Don Porter <dgp@users.sourceforge.net> + + * generic/tclMain.c: Corrected the logic of dropping the last + * tests/main.test: newline from an interactively typed command. + [Bug 1775878]. + +2007-08-21 Pat Thoyts <patthoyts@users.sourceforge.net> + + * tests/thread.test: thread-4.4: clear ::errorInfo in the thread as + a message is left here from init.tcl on windows due to no tcl_pkgPath. + +2007-08-20 Miguel Sofer <msofer@users.sf.net> + + * generic/tclExecute.c (INST_SUB): fix usage of the new macro for + overflow detection in sums, adapt to subtraction. Lenghty comment + added. + +2007-08-19 Donal K. Fellows <dkf@users.sf.net> + + * generic/tclExecute.c (Overflowing, TclIncrObj, TclExecuteByteCode): + Encapsulate Miguel's last change in a more mnemonic macro. + +2007-08-19 Miguel Sofer <msofer@users.sf.net> + + * generic/tclExecute.c: changed the check for overflow in sums, + reducing objsize, number of branches and cache misses (according to + cachegrind). Non-overflow for s=a+b: + previous + ((a >= 0 || b >= 0 || s < 0) && (s >= 0 || b < 0 || a < 0)) + now + (((a^s) >= 0) || ((a^b) < 0)) + This expresses: "a and s have the same sign or else a and b have + different sign". + +2007-08-19 Donal K. Fellows <dkf@users.sf.net> + + * doc/interp.n (RESOURCE LIMITS): Added text to better explain why + time limits are described using absolute times. [Bug 1752148] + +2007-08-16 Miguel Sofer <msofer@users.sf.net> + + * generic/tclVar.c: improved localVarNameType caching to leverage + the new availability of Tcl_Obj in variable names, avoiding string + comparisons to verify that the cached value is usable. + + * generic/tclExecute.c: check the two most frequent instructions + before the switch. Reduces both runtime and obj size a tiny bit. + +2007-08-16 Don Porter <dgp@users.sourceforge.net> + + * generic/tclCompExpr.c: Added a "constant" field to the OpNode + struct (again "free" due to alignment requirements) to mark those + subexpressions that are completely known at compile time. Enhanced + CompileExprTree() and its callers to precompute these constant + subexpressions at compile time. This resolves the issue raised + in [Bug 1564517]. + +2007-08-15 Donal K. Fellows <donal.k.fellows@man.ac.uk> + + * generic/tclIOUtil.c (TclGetOpenModeEx): Only set the O_APPEND flag + * tests/ioUtil.test (ioUtil-4.1): on a channel for the 'a' + mode and not for 'a+'. [Bug 1773127] + +2007-08-14 Miguel Sofer <msofer@users.sf.net> + + * generic/tclExecute.c (INST_INVOKE*): peephole opt, do not get + the interp's result if it will be pushed/popped. + +2007-08-14 Don Porter <dgp@users.sourceforge.net> + + * generic/tclBasic.c: Use fully qualified variable names for + * tests/thread.test: ::errorInfo and ::errorCode so that string + * tests/trace.test: reported to variable traces are fully + qualified in agreement with Tcl 8.4 operations. + +2007-08-14 Daniel Steffen <das@users.sourceforge.net> + + * unix/tclLoadDyld.c: use dlfcn API on Mac OS X 10.4 and later; fix + issues with loading from memory on intel and 64bit; add debug messages. + + * tests/load.test: add test load-10.1 for loading from vfs. + + * unix/dltest/pkga.c: whitespace & comment cleanup, remove + * unix/dltest/pkgb.c: unused pkgf.c. + * unix/dltest/pkgc.c: + * unix/dltest/pkge.c: + * unix/dltest/pkgf.c (removed): + * unix/dltest/pkgua.c: + * macosx/Tcl.xcodeproj/project.pbxproj: + +2007-08-13 Don Porter <dgp@users.sourceforge.net> + + * generic/tclExecute.c: Provide DECACHE/CACHE protection to the + * tests/trace.test: Tcl_LogCommandInfo() call. [Bug 1773040] + +2007-08-12 Miguel Sofer <msofer@users.sf.net> + + * generic/tclCmdMZ.c (Tcl_SplitObjCmd): use TclNewStringObj macro + instead of calling the function. + + * generic/tcl_Obj.c (TclAllocateFreeObjects): remove unneeded + memset to 0 of all allocated objects. + +2007-08-10 Miguel Sofer <msofer@users.sf.net> + + * generic/tclInt.h: remove redundant ops in TclNewStringObj macro + +2007-08-10 Miguel Sofer <msofer@users.sf.net> + + * generic/tclInt.h: fix the TclSetVarNamespaceVar macro, was + causing a leak. + +2007-08-10 Don Porter <dgp@users.sourceforge.net> + + * generic/tclCompExpr.c: Revise CompileExprTree() to use the + OpNode mark field scheme of tree traversal. This eliminates the need + to use magic values in the left and right fields for that purpose. + Also stop abusing the left field within ParseExpr() to store the + number of arguments in a parsed function call. CompileExprTree() now + determines that for itself at compile time. Then reorder code to + eliminate duplication. + +2007-08-09 Miguel Sofer <msofer@users.sf.net> + + * generic/tclProc.c (TclCreateProc): better comments on the + required varflag values when loading precompiled procs. + + * generic/tclExecute.c (INST_STORE_ARRAY): + * tests/trace.test (trace-2.6): whole array write traces on + compiled local variables were not firing [Bug 1770591] + +2007-08-08 Jeff Hobbs <jeffh@ActiveState.com> + + * generic/tclProc.c (InitLocalCache): reference firstLocalPtr via + procPtr. codePtr->procPtr == NULL exposed by tbcload. + +2007-08-08 Don Porter <dgp@users.sourceforge.net> + + * generic/tclExecute.c: Corrected failure to compile/link + in the -DNO_WIDE_TYPE configuration. + + * generic/tclExecute.c: Corrected improper use of bignum arguments + * tests/expr.test: to *SHIFT operations. [Bug 1770224]. + +2007-08-07 Miguel Sofer <msofer@users.sf.net> + + * generic/tclInt.h: remove comments refering to VAR_SCALAR, as + that flag bit does not exist any longer. + * generic/tclProc.c (InitCompiledLocals): removed optimisation for + non-resolved case, as the function is never called in that + case. Renamed the function to InitResolvedLocals to calrify the + point. + +2007-08-07 Miguel Sofer <msofer@users.sf.net> + + * generic/tclInt.decls: Exporting via stubs to help + * generic/tclInt.h: xotcl adapt to VarReform. + * generic/tclIntDecls.h: + * generic/tclStubInit.c: + +2007-08-07 Daniel Steffen <das@users.sourceforge.net> + + * generic/tclEnv.c: improve environ handling on Mac OS X (adapted + * unix/tclUnixPort.h: from Apple changes in Darwin tcl-64). + + * unix/Makefile.in: add support for compile flags specific to + object files linked directly into executables. + + * unix/configure.in (Darwin): only use -seg1addr flag when prebinding; + use -mdynamic-no-pic flag for object files linked directly into exes; + support overriding TCL_PACKAGE_PATH/TCL_MODULE_PATH in environment. + + * unix/configure: autoconf-2.59 + +2007-08-06 Don Porter <dgp@users.sourceforge.net> + + * tests/parseExpr.test: Update source file name of expr parser code. + + * generic/tclCompExpr.c: Added a "mark" field to the OpNode + struct, which is used to guide tree traversal. This field costs + nothing since alignement requirements used the memory already. + Rewrote ConvertTreeToTokens() to use the new field, which permitted + consolidation of utility routines CopyTokens() and + GenerateTokensForLiteral(). + +2007-08-06 Kevin B. Kenny <kennykb@users.sf.net> + + * generic/tclGetDate.y: Added a cast to the definition of YYFREE to + silence compiler warnings. + * generic/tclDate.c: Regenerated + * win/tclWinTest.c: Added a cast to the call to + GetSecurityDescriptorDacl to silence compiler + warnings. + +2007-08-04 Miguel Sofer <msofer@users.sf.net> + + * generic/tclInt.decls: Exporting via stubs to help + * generic/tclInt.h: itcl adapt to VarReform. Added + * generic/tclIntDecls.h: localCache initialization to + * generic/tclProc.c: TclInitCompiledLocals (which + * generic/tclStubInit.c: only exists for itcl). + * generic/tclVar.c: + +2007-08-01 Donal K. Fellows <donal.k.fellows@manchester.ac.uk> + + * library/word.tcl: Rewrote for greater efficiency. [Bug 1764318] + +2007-08-01 Pat Thoyts <patthoyts@users.sourceforge.net> + + * generic/tclInt.h: Added a TclOffset macro ala Tk_Offset to + * generic/tclVar.c: abstract out 'offsetof' which may not be + * generic/tclExceute.c: defined (eg: msvc6). + +2007-08-01 Miguel Sofer <msofer@users.sf.net> + + * generic/tclVar.c (TclCleanupVar): fix [Bug 1765225], thx Larry + Virden. + +2007-07-31 Miguel Sofer <msofer@users.sf.net> + + * doc/Hash.3: + * generic/tclHash.c: + * generic/tclObj.c: + * generic/tclThreadStorage.c: (changes part of the patch below) + Stop Tcl_CreateHashVar from resetting hPtr->clientData to NULL after + calling the allocEntryProc for a custom table. + + * generic/tcl.h: + * generic/tclBasic.c: + * generic/tclCmdIL.c: + * generic/tclCompCmds.c: + * generic/tclCompile.c: + * generic/tclCompile.h: + * generic/tclExecute.c: + * generic/tclHash.c: + * generic/tclInt.decls: + * generic/tclInt.h: + * generic/tclIntDecls.h: + * generic/tclLiteral.c: + * generic/tclNamesp.c: + * generic/tclObj.c: + * generic/tclProc.c: + * generic/tclThreadStorage.c: + * generic/tclTrace.c: + * generic/tclVar.c: VarReform [Patch 1750051] + + *** POTENTIAL INCOMPATIBILITY *** (tclInt.h and tclCompile.h) + Extensions that access internals defined in tclInt.h and/or + tclCompile.h may lose both binary and source compatibility. The + relevant changes are: + 1. 'struct Var' is completely changed, all acceses to its internals + (either direct or via the TclSetVar* and TclIsVar* macros) will + malfunction. Var flag values and semantics changed too. + 2. 'struct Bytecode' has an additional field that has to be + initialised to NULL + 3. 'struct Namespace' is larger, as the varTable is now one pointer + larger than a Tcl_HashTable. Direct access to its fields will + malfunction. + 4. 'struct CallFrame' grew one more field (the second such growth with + respect to Tcl8.4). + 5. api change for the functions TclFindCompiledLocal, TclDeleteVars + and many internal functions in tclVar.c + + Additionally, direct access to variable hash tables via the standard + Tcl_Hash* interface is to be considered as deprecated. It still works + in the present version, but will be broken by further specialisation + of these hash tables. This concerns especially the table of array + elements in an array, as well as the varTable field in the Namespace + struct. + +2007-07-31 Miguel Sofer <msofer@users.sf.net> + + * unix/configure.in: allow use of 'inline' in Tcl sources + * win/configure.in: [Patch 1754128] + * win/makefile.vc: Regen with autoconf 2.61 + +2007-07-31 Donal K. Fellows <donal.k.fellows@manchester.ac.uk> + + * unix/tclUnixInit.c (TclpSetVariables): Use the thread-safe getpwuid + replacement to fill the tcl_platform(user) field as it is not subject + to spoofing. [Bug 681877] + + * unix/tclUnixCompat.c: Simplify the #ifdef logic. + + * unix/tclUnixChan.c (FileWatchProc): Fix test failures. + +2007-07-30 Donal K. Fellows <donal.k.fellows@manchester.ac.uk> + + * unix/tclUnixChan.c (SET_BITS, CLEAR_BITS): Added macros to make this + file clearer. + +2007-07-24 Miguel Sofer <msofer@users.sf.net> + + * generic/tclBasic.c (TEOvI, GetCommandSource): + * generic/tclExecute.c (TEBC, TclGetSrcInfoForCmd): + * generic/tclInt.h: + * generic/tclTrace.c (TclCheck(Interp|Execution)Traces): + Removed the need for TEBC to inspect the command before calling TEOvI, + leveraging the TIP 280 infrastructure. Moved the generation of a + correct nul-terminated command string away from the trace code, back + into TEOvI/GetCommandSource. + +2007-07-20 Andreas Kupries <andreask@activestate.com> + + * library/platform/platform.tcl: Fixed bug in 'platform::patterns' + * library/platform/pkgIndex.tcl: where identifiers not matching + * unix/Makefile.in: the special linux and solaris forms would not + * win/Makefile.in: get 'tcl' as an acceptable platform added to + * doc/platform.n: the result. Bumped package to version 1.0.3 and + * doc/platform_shell.n: updated documentation and Makefiles. Also + fixed bad version info in the documentation of platform::shell. + 2007-07-19 Don Porter <dgp@users.sourceforge.net> * generic/tclParse.c: In contexts where interp and parsePtr->interp @@ -12,9 +443,9 @@ 2007-07-17 Don Porter <dgp@users.sourceforge.net> * generic/tclCompExpr.c (ParseExpr): While adding comments to - explain the operations of ParseExpr(), made significant revisions - to the code so it would be easier to explain, and in the process - made the code simpler and clearer as well. + explain the operations of ParseExpr(), made significant revisions to + the code so it would be easier to explain, and in the process made the + code simpler and clearer as well. 2007-07-15 Don Porter <dgp@users.sourceforge.net> @@ -32,9 +463,9 @@ * generic/tclCompCmds.c (TclCompileWhileCmd): * generic/tclCompile.c (TclCompileScript): - Corrected faulty avoidance of INST_START_CMD when the first opcode - in a script is within a loop (as produced by 'while 1'), so that - the corresponding command is properly counted [Bug 1752146]. + Corrected faulty avoidance of INST_START_CMD when the first opcode in + a script is within a loop (as produced by 'while 1'), so that the + corresponding command is properly counted. [Bug 1752146] 2007-07-11 Don Porter <dgp@users.sourceforge.net> @@ -42,33 +473,33 @@ ParseExpr() to indicate whether the caller is Tcl_ParseExpr(), with an end goal of filling a Tcl_Parse with Tcl_Tokens representing the parsed expression, or TclCompileExpr() with the goal of compiling and - executing the expression. In the latter case, more aggressive - conversion of QUOTED and BRACED lexeme to literals is done. In the + executing the expression. In the latter case, more aggressive + conversion of QUOTED and BRACED lexeme to literals is done. In the former case, all such conversion is avoided, since Tcl_Token production - would revert it anyway. This enables simplifications to the + would revert it anyway. This enables simplifications to the GenerateTokensForLiteral() routine as well. 2007-07-10 Don Porter <dgp@users.sourceforge.net> * generic/tclCompExpr.c: Added a field for operator precedence - to be stored directly in the parse tree. There's no memory cost to + to be stored directly in the parse tree. There's no memory cost to this addition, since that memory would have been lost to alignment - issues anyway. Also, converted precedence definitions and lookup + issues anyway. Also, converted precedence definitions and lookup tables to use symbolic constants instead of raw number for improved readability, and continued extending/improving/correcting comments. - Removed some unused counter variables. Renamed some variables for + Removed some unused counter variables. Renamed some variables for clarity and replaced some cryptic logic with more readable macros. 2007-07-09 Don Porter <dgp@users.sourceforge.net> * generic/tclCompExpr.c: Revision so that the END lexeme never - gets inserted into the parse tree. Later tree traversal never reaches - it since its location in the tree is not variable. Starting and - stopping with the START lexeme (node 0) is sufficient. Also finished + gets inserted into the parse tree. Later tree traversal never reaches + it since its location in the tree is not variable. Starting and + stopping with the START lexeme (node 0) is sufficient. Also finished lexeme code commentary. - * generic/tclCompExpr.c: Added missing creation and return - of the Tcl_Parse fields that indicate error conditions. [Bug 1749987] + * generic/tclCompExpr.c: Added missing creation and return of + the Tcl_Parse fields that indicate error conditions. [Bug 1749987] 2007-07-05 Don Porter <dgp@users.sourceforge.net> @@ -77,15 +508,14 @@ 2007-07-05 Miguel Sofer <msofer@users.sf.net> - * generic/tclNamesp.c (SetNsNameFromAny): - * generic/tclObj.c (SetCmdNameFromAny): Avoid unnecessary + * generic/tclNamesp.c (SetNsNameFromAny): + * generic/tclObj.c (SetCmdNameFromAny): Avoid unnecessary ckfree/ckalloc when the old structs can be reused. - + 2007-07-04 Miguel Sofer <msofer@users.sf.net> - * generic/tclNamesp.c: Fix case where a FQ cmd or ns was being - * generic/tclObj.c: cached in a different interp, tkcon - [Bug 1747512] + * generic/tclNamesp.c: Fix case where a FQ cmd or ns was being cached + * generic/tclObj.c: in a different interp, tkcon. [Bug 1747512] 2007-07-03 Don Porter <dgp@users.sourceforge.net> @@ -194,12 +624,12 @@ * generic/tclExecute.c: Safety checks to avoid crashes in the TclStack* routines when called with an incompletely initialized - interp. [Bug 1743302] + interp. [Bug 1743302] 2007-06-25 Miguel Sofer <msofer@users.sf.net> - * generic/tclVar.c (UnsetVarStruct): fixing incomplete change, - more streamlining. + * generic/tclVar.c (UnsetVarStruct): fixing incomplete change, more + streamlining. 2007-06-24 Miguel Sofer <msofer@users.sf.net> @@ -208,8 +638,8 @@ UnsetVarStruct (streamlined old code is #ifdef'ed out, in case better benchmarks do show a difference). - * generic/tclVar.c (UnsetVarStruct): fixed a leak introduced in - last commit. + * generic/tclVar.c (UnsetVarStruct): fixed a leak introduced in last + commit. 2007-06-23 Miguel Sofer <msofer@users.sf.net> |