summaryrefslogtreecommitdiffstats
path: root/generic
Commit message (Collapse)AuthorAgeFilesLines
* 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
|
* * generic/tclTest.c (TestsetobjerrorcodeCmd): Simplified.dgp2004-10-071-11/+2
|
* filesystem generic/platform code splittingvincentdarley2004-10-074-261/+40
|
* remove unused vardgp2004-10-071-2/+2
|
* Simplify the guts of [glob]; maybe mortals can comprehend it now?dkf2004-10-062-309/+310
|
* Simplify LoadTableEncodingdkf2004-10-061-21/+10
|
* Formatting fixes.dkf2004-10-061-8/+8
|
* * generic/tclBasic.c:dgp2004-10-0611-159/+130
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * generic/tclBinary.c: * generic/tclCmdAH.c: * generic/tclCmdIL.c: * generic/tclCmdMZ.c: * generic/tclCompExpr.c: * generic/tclDictObj.c: * generic/tclEncoding.c: * generic/tclExecute.c: * generic/tclFCmd.c: * generic/tclHistory.c: * generic/tclIndexObj.c: * generic/tclInterp.c: * generic/tclIO.c: * generic/tclIOCmd.c: * generic/tclNamesp.c: * generic/tclObj.c: * generic/tclPkg.c: * generic/tclResult.c: * generic/tclScan.c: * generic/tclTimer.c: * generic/tclTrace.c: * generic/tclUtil.c: * generic/tclVar.c: It is a poor practice to directly set or append to the value of the objResult of an interp, because that value might be shared, and in that circumstance a Tcl_Panic() will be the result. Searched for example of this practice and replaced with safer alternatives, often using the Tcl_AppendResult() routine that dkf just rehabilitated.
* Silence compiler warning...dkf2004-10-061-1/+2
|
* * generic/tclBasic.c:dgp2004-10-066-104/+79
| | | | | | | | | | | | | | | | | | | | | * generic/tclBinary.c: * generic/tclCmdAH.c: * generic/tclCmdIL.c: * generic/tclCmdMZ.c: * generic/tclCompExpr.c: * generic/tclDictObj.c: * generic/tclEncoding.c: * generic/tclExecute.c: * generic/tclFCmd.c: * generic/tclHistory.c: * generic/tclIndexObj.c: * generic/tclInterp.c: It is a poor practice to directly set or append to the value of the objResult of an interp, because that value might be shared, and in that circumstance a Tcl_Panic() will be the result. Searched for example of this practice and replaced with safer alternatives, often using the Tcl_AppendResult() routine that dkf just rehabilitated.
* Braces round if bodies...dkf2004-10-062-7/+8
|
* Style guide fixesdkf2004-10-061-24/+20
|
* Style fixes (spaces, braces, etc.)dkf2004-10-061-466/+463
|
* Add braces round if body...dkf2004-10-061-2/+4
|
* Minor style guide issues (e.g. making sure all 'if' bodies have bracesdkf2004-10-061-83/+100
| | | | around them)
* More mnemonic variable names, better brace usage.dkf2004-10-061-143/+151
|
* Style improvements and more macro use.dkf2004-10-061-203/+361
|
* Remove useless panic-ing implementations of methods in tclProcBodyTypedkf2004-10-061-97/+30
| | | | | (NULL implies that and produces a better error message). Also converted to using Tcl_AppendResult()
* Style fixes and Tcl_GetString -> TclGetStringdkf2004-10-061-81/+79
|
* Tcl_GetString -> TclGetStringdkf2004-10-061-11/+11
|
* Convert Tcl_GetString to TclGetString for minor speed increasedkf2004-10-061-17/+17
|
* Convert to using the TclGetString macro; slightly faster...dkf2004-10-061-27/+27
|
* Convert string to stringPtrdkf2004-10-061-12/+12
|
* Simplify [switch] implementation.dkf2004-10-061-133/+140
|
* Minor formatting fixesdkf2004-10-061-95/+94
|
* * generic/tclBasic.c:dgp2004-10-064-96/+82
| | | | | | | | | | | | | | | * generic/tclBinary.c: * generic/tclCmdAH.c: * generic/tclCmdIL.c: * generic/tclCmdMZ.c: * generic/tclCompExpr.c: * generic/tclDictObj.c: It is a poor practice to directly set or append to the value of the objResult of an interp, because that value might be shared, and in that circumstance a Tcl_Panic() will be the result. Searched for example of this practice and replaced with safer alternatives, often using the Tcl_AppendResult() routine that dkf just rehabilitated.
* * generic/tclBasic.c:dgp2004-10-061-64/+52
| | | | | | | | | | | | * generic/tclBinary.c: * generic/tclCmdAH.c: * generic/tclCmdIL.c: It is a poor practice to directly set or append to the value of the objResult of an interp, because that value might be shared, and in that circumstance a Tcl_Panic() will be the result. Searched for example of this practice and replaced with safer alternatives, often using the Tcl_AppendResult() routine that dkf just rehabilitated.
* * generic/tclBasic.c:dgp2004-10-063-107/+76
| | | | | | | | | | | * generic/tclBinary.c: * generic/tclCmdAH.c: It is a poor practice to directly set or append to the value of the objResult of an interp, because that value might be shared, and in that circumstance a Tcl_Panic() will be the result. Searched for example of this practice and replaced with safer alternatives, often using the Tcl_AppendResult() routine that dkf just rehabilitated.
* Make Tcl_AppendResult() non-deprecated again. [Patch 1041072]dkf2004-10-051-99/+32
| | | | Also change string to stringPtr to avoid potential future C++ problems.
* * generic/tclBasic.c (TclObjInvoke): More simplification of thedgp2004-10-051-54/+24
| | | | | TclObjInvoke routine toward unification with the rest of the evaluation stack.
* * generic/tclBasic.c (Tcl_CreateInterp,Tcl_DeleteInterp,dgp2004-10-057-70/+133
| | | | | | | | | | | | | | | | | | | | TclEvalObjvInternal,Tcl_LogCommandInfo): * generic/tclCmdAH.c (Tcl_CatchObjCmd): * generic/tclEvent.c (BgError,Tcl_BackgroundError,HandleBgErrors): * generic/tclInt.h (Interp, ERROR_CODE_SET): * generic/tclNamesp.c (Tcl_CreateNamespace,Tcl_DeleteNamespace,TclTeardownNamespace): * generic/tclResult.c (Tcl_ResetResult,Tcl_SetObjErrorCode,TclTransferResult): * generic/tclTrace.c (CallVarTraces): Reworked management of the "errorCode" 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 ::errorCode as the primary storage. The ERROR_CODE_SET 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 ::errorCode variable to hold the information.
* oopsdgp2004-10-051-2/+1
|
* * generic/tclNamesp.c (Tcl_PopCallFrame): Removed Bug 1038021dgp2004-10-051-18/+1
| | | | workaround. That bug is now fixed.
* Stop words starting with 'eq' or 'ne' from being subdivided by the expressiondkf2004-10-041-3/+5
| | | | parser. [Bug 884830]
* Remove unneeded labeldkf2004-10-021-2/+1
|
* Modify the semantics of [dict set] to be what everyone expected them to bedkf2004-10-022-76/+141
| | | | | in a straw poll. Also made T_DODone;T_DONext a non-fatal sequence, leading to simplified code.
* Speed up [upvar] and [uplevel] by not forcing level references to be parseddkf2004-10-017-22/+165
| | | | as strings every time through. [Patch 1037357]
* * generic/tclBasic.c (Tcl_CreateInterp): Removed the flag bit valuedgp2004-10-012-6/+2
| | | | | | * generic/tclInt.h (Interp): EXPR_INITIALIZED. It was set during interp creation and never tested. Whatever purpose it had is in the past.