summaryrefslogtreecommitdiffstats
path: root/generic
Commit message (Collapse)AuthorAgeFilesLines
* * generic/tclListObj.c (Tcl_ListObjReplace): use memmove() insteaddas2004-11-112-17/+12
| | | | | | | | | | | of manual copy loop to shift list elements. Decreases time spent in Tcl_ListObjReplace() from 5.2% to 1.7% of overall runtime of tclbench on a ppc 7455 (i.e. 200% speed increase). [Patch 1064243] * generic/tclHash.c: hoisted some constant pointer dereferences out of loops to eliminate redundant loads that the gcc optimizer didn't deal with. Decreases time spend in Tcl_FindHashEntry() by 10% over a full run of the tcl testuite on a ppc 7455. [Patch 1064243]
* Janitorial whitespace/style fixes.dkf2004-11-091-1423/+1455
|
* * generic/tclCompile.h: Removed extrainious reset ofdavygrvy2004-11-031-4/+1
| | | | TCL_STORAGE_CLASS missed in last edit.
* * generic/tcl.h: Moved the preprocessor logicdavygrvy2004-11-036-29/+66
| | | | | | | | | | | * generic/tclDecls.h: from tclInt.h of setting the * generic/tclInt.h: TCL_STORAGE_CLASS macro to the * generic/tclIntDecls.h: tcl*Decls.h files now that no * generic/tclIntPlatDecls.h: use of EXTERN is left in tclInt.h. * generic/tclPlatDecls.h: Proto for Tcl_Main moved in tcl.h * win/tclWinPort.h: to prior the inclusion of the Stubs headers as they are now resetting TCL_STORAGE_CLASS. Removed extrainious reset from tclWinPort.h. [Patch 1055668]
* * generic/tclTrace.c (TclCallVarTraces): Improved ability to debugdgp2004-11-031-7/+34
| | | | | | | * tests/incr-old.test (incr-old-2.6): errors during variable * tests/incr.test (incr-{1,2}.28): traces by preserving the * tests/set.test (set-{2,4}.4): -errorinfo data. * tests/trace.test (trace-33.1): [Bug 527164]
* * generic/tclRegexp.h: manipulating TCL_STORAGE_CLASS unnecessary.davygrvy2004-11-031-6/+1
|
* * generic/tclFileSystem.h: Added use of MODULE_SCOPE on protos.davygrvy2004-11-031-34/+58
|
* * generic/tclCompile.h: Exchanged use of the EXTERN macro to the new ↵davygrvy2004-11-031-71/+66
| | | | | | MODULE_SCOPE macro. Lowered exported internals count by 35.
* * generic/tclInt.h: added a check for #ifdef __cplusplus around the #definedavygrvy2004-11-021-2/+6
| | | | | | of MODULE_SCOPE. About the only time it would be problem is when someone is statically linking to Tcl and accessing internals from a C++ file and has name mangling issues.
* Final fix for NaN != NaN bug. Thanks to Miguel Sofer for his improved patch.dkf2004-11-021-10/+62
| | | | [Bug 761471]
* Make core less eager to spew its guts all over the place; core symbols indkf2004-11-021-514/+616
| | | | tclInt.h are now no longer EXTERN but instead MODULE_SCOPE.
* Remove unused labeldkf2004-11-011-2/+1
|
* Fix for [Bug 761471]; NaN is now *never* equal to NaN...dkf2004-11-011-19/+5
|
* Cleaning up of the namespace guts.dkf2004-11-011-551/+546
|
* Cleaning up; mostly whitespace and comment fixes.dkf2004-11-011-242/+236
|
* Improved comments on selected flags in tcl.hdkf2004-11-011-3/+13
|
* Make [info globals ::foo] work. [Bug 1057461]dkf2004-10-311-1/+9
|
* replaced WIN32 with __WIN32__ [Bug 1054357] (Gravereaux)Kevin B Kenny2004-10-301-2/+2
|
* Allow ensembles to rewrite their subcommands' error messages to be moredkf2004-10-298-121/+263
| | | | | | relevant to users. [Patch 1056864] Also patches to core to take advantage of this Also other general cleaning up of Tcl_WrongNumArgs usage
* fix for execution stack corruption [Bug 1055676]. Credit dgp for detectiveMiguel Sofer2004-10-281-1/+3
| | | | work and fix.
* * generic/tcl.h: Removed the file level 'extern "C" {' and thedavygrvy2004-10-271-17/+1
| | | | | coresponding closing block as it serves no purpose given that all the function prototypes have the proper extern usage already.
* * generic/tclInt.decls: The following 9 functions were moved fromdavygrvy2004-10-274-21/+145
| | | | | | | | | | | | | * generic/tclInt.h: tclInt.h to the internal Stubs table for * generic/tclIntDecls.h: use by the test suite. As tclTest.obj is * generic/tclStubInit.c: linked to the shell, these functions need "blessed" status so as to always be exported from the library. Being placed in the Stubs table guarantees this [Bug 1054748]: TclpObjRemoveDirectory, TclpObjCopyDirectory, TclpObjCreateDirectory, TclpObjDeleteFile, TclpObjCopyFile, TclpObjRenameFile, TclpObjStat, TclpObjAccess, TclpOpenFileChannel
* * generic/tclParse.c (Tcl_SubstObj): Fix for failed subst-12.3 test.dgp2004-10-261-2/+2
| | | | * tests/subst.test (subst-12.3-5): More tests for Bug 1036649.
* * generic/tclPipe.c (TclCleanupChildren): bad cast of resolvedPid causeddavygrvy2004-10-261-3/+3
| | | | | PIDs on win95 to go negative. winpipe-4.2 brought this to the surface. Fixed with sprintf in place of TclFormatInt. Thanks to hgiese [Patch 767676]
* removed more direct references to the VAR flags, replaced with accessMiguel Sofer2004-10-262-11/+16
| | | | macros.
* * generic/tclExecute.c (IllegalExprOperandType,TclExecuteByteCode):dgp2004-10-252-41/+7
| | | | | | | | | | | | | Removed several DECACHE_INFO/CACHE_INFO pairs that are no longer needed for protection because routines like Tcl_SetErrorCode() and Tcl_AddErrorInfo() can no longer re-enter bytecode execution. * generic/tclResult.c (TclProcessReturn): Bug fix. Be sure that a missing -errorinfo option when code == TCL_ERROR causes the errorInfo field to get reset. * tests/thread.test (thread-4.4): Test depended on a ::errorInfo value initialized to "". Added code to test to setup that requirement.
* * library/auto.tcl Purged Tcl's script library of alldgp2004-10-252-12/+15
| | | | | | | | | | | * library/clock.tcl remaining references to global vars * library/init.tcl ::errorInfo and ::errorCode. * generic/tclMain.c (Tcl_Main): Updated to make use of TclGetReturnOptions instead of ::errorInfo variable. * generic/tclInterp.c (tclInit): Bug fix. Access dict variables with [dict get], not array syntax.
* defined new macros to get/set the flags of variables.Miguel Sofer2004-10-254-35/+55
|
* * generic/tclBasic.c (Tcl_LogCommandInfo,Tcl_AddObjErrorInfo):dgp2004-10-243-78/+38
| | | | | | | | | | | | | | Shift the initialization of errorCode to NONE to more central location. * generic/tclEvent.c (BgError,Tcl_BackgroundError,HandleBgErrors): Rewrite to build on the new TclGet/SetReturnOptions routines. * generic/tclResult.c (TclGetReturnOptions): Add call to Tcl_AddObjErrorInfo to be sure error fields are initialized. * generic/tclResult.c (TclTransferResult): Rewrite to build on the new TclGet/SetReturnOptions routines.
* Make ensembles report shorter error traces that conceal more of how thedkf2004-10-221-2/+3
| | | | ensemble implements itself. This is usually the right thing to do.
* Whitespace policedkf2004-10-221-25/+25
|
* Standardize way of calling object freeIntRepProcs...dkf2004-10-222-18/+18
|
* * generic/tclVar.c: fixed bug in commit of 2004-07-23, which wasMiguel Sofer2004-10-221-4/+1
| | | | | | causing a leak of Proc structures and failure of compile-12.1. Two lines were 'zombies' from the previous way localVarNames worked. Credit dgp for finding this.
* * generic/tclInt.h (Interp):dgp2004-10-213-55/+114
| | | | | | | | * generic/tclBasic.c (Tcl_CreateInterp,Tcl_DeleteInterp): * generic/tclResult.c (GetKeys,ReleaseKeys,etc.): Moved the key values of the return options dictionary out of private fields of the Interp struct and into thread-static values managed in tclResult.c.
* * generic/tclCmdAH.c (Tcl_CatchObjCmd, Tcl_ErrorObjCmd):dgp2004-10-215-280/+372
| | | | | | | | | | | | | | | | | | | | | | Updated to call the new TclGet/SetReturnOptions routines to do much of their work. * generic/tclInt.h (TclGetReturnOptions,TclSetReturnOptions): * generic/tclResult.c (TclGetReturnOptions,TclSetReturnOptions): New utility routines to get/set the return options of an interp. Intent is that these routines will be converted to public routines after TIP approval. * generic/tclCmdMZ.c (TclProcessReturn,TclMergeReturnOptions): * generic/tclResult.c (TclProcessReturn,TclMergeReturnOptions): Move internal utility routines from tclCmdMZ.c to tclResult.c. * generic/tclBasic.c (Tcl_CreateInterp, Tcl_DeleteInterp): * generic/tclResult.c (TclTransferResult): Rework so that iPtr->returnOpts can be NULL when there are no special options. * generic/tclResult.c (TclRestoreInterpState): Plug potential memory leak.
* doubled speed of clock formatKevin B Kenny2004-10-213-3/+55
|
* * generic/tclThreadTest.c (ThreadEventProc): Corrected subtledgp2004-10-201-2/+2
| | | | | | | | bug where the returned (char *) from Tcl_GetStringResult(interp) continued to be used without copying or refcounting, while activity on the interp continued. That's not safe, and recent changes demonstrated the lack of safety with failing tests thread-4.3 and thread-4.5.
* Stop losing result codes in [dict with] in some circumstancesdkf2004-10-191-3/+2
|
* * generic/tclInt.h (Tcl*InterpState): New internal routinesdgp2004-10-198-150/+227
| | | | | | | | | | | | | | | | | | | | | * generic/tclResult.c (Tcl*InterpState): TclSaveInterpState, TclRestoreInterpState, and TclDiscardInterpState are superior replacements for Tcl_(Save|Restore|Discard)Result. Intent is that these routines will be converted to public routines after TIP approval. * generic/tclBasic.c (TclEvalObjvInternal): * generic/tclDictObj.c (DictUpdateCmd, DictWithCmd): * generic/tclIOGT.c (ExecuteCallback): * generic/tclTrace.c (Trace*Proc,TclCheck*Traces,TclCallVarTraces): Callers of Tcl_*Result updated to call the new routines. The calls were relocated in several cases to perform save/restore operations only when needed. * generic/tclEvent.c (HandleBgErrors): * generic/tclFCmd.c (CopyRenameOneFile): Calls to Tcl_*Result that were eliminated because they appeared to serve no useful purpose, typically saving/restoring an error message, only to throw it away.
* * generic/tclBasic.c (Tcl_CreateInterp,Tcl_DeleteInterp):dgp2004-10-187-142/+108
| | | | | | | | | | | | * generic/tclCmdAH.c (Tcl_CatchObjCmd): * generic/tclCmdMZ.c (TclMergeReturnOptions,TclProcessReturn): * generic/tclCompCmds.c (TclCompileReturnCmd): * generic/tclExecute.c (TclCompEvalObj): * generic/tclInt.h (Interp): * generic/tclProc.c (TclUpdateReturnInfo): Place primary storage of the -level and -code information in private fields of the Interp struct, rather than in a DictObj. This should significantly improve performance of TclUpdateReturnInfo.
* generic/tclResult.c: removed unused variable [Bug 1048588].Miguel Sofer2004-10-171-2/+1
|
* * generic/tclCmdMZ.c (TclProcessReturn): Now that primarydgp2004-10-152-45/+30
| | | | | | | * generic/tclProc.c (TclUpdateReturnInfo): storage for the errorInfo and errorCode values are internal fields, we can set them at the time of the [return] command, and not have to wait until the specified number of "-level"s have popped.
* Remove unused variabledgp2004-10-151-2/+1
|
* * generic/tclBasic.c (Tcl_CreateInterp,Tcl_DeleteInterp,dgp2004-10-1513-281/+339
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | TclEvalObjvInternal,Tcl_LogCommandInfo,TclAddObjErrorInfo): * generic/tclCmdAH.c (Tcl_CatchObjCmd): * generic/tclEvent.c (BgError,ErrAssocData,Tcl_BackgroundError, HandleBgErrors,BgErrorDeleteProc): * generic/tclExecute.c (TclCreateExecEnv,TclDeleteExecEnv): * generic/tclIOUtil.c (comments only): * generic/tclInt.h (ExecEnv,Interp, ERR_IN_PROGRESS): * generic/tclInterp.c ([tclInit]): * generic/tclMain.c (comments only): * generic/tclNamesp.c (Tcl_CreateNamespace,Tcl_DeleteNamespace,TclTeardownNamespace): * generic/tclProc.c (TclUpdateReturnInfo): * generic/tclResult.c (Tcl_ResetResult,TclTransferResult): * generic/tclTrace.c (CallVarTraces): Reworked management of the "errorInfo" data of an interp. That information is now primarily stored in a new private (Tcl_Obj *) field of the Interp struct, rather than using a global variable ::errorInfo as the primary storage. The ERR_IN_PROGRESS flag bit value is no longer required to manage the value in its new location, and is removed. Variable traces are established to support compatibility for any code expecting the ::errorInfo variable to hold the information. ***POTENTIAL INCOMPATIBILITY*** Code that sets traces on the ::errorInfo variable may notice a difference in timing of the firing of those traces. Code that uses the value ERR_IN_PROGRESS.
* TIP#217 implementationdkf2004-10-141-12/+32
|
* Speed up [info <thing> <simplePattern>]dkf2004-10-145-51/+214
|
* Fix comments...dkf2004-10-111-3/+3
|
* Fix things so we can pass our own test suite for TIP#212...dkf2004-10-081-3/+3
|
* Core of implementation of TIP#201 ('in' and 'ni' operators)dkf2004-10-085-11/+114
|
* Core of implementation of TIP#212dkf2004-10-081-60/+379
|