summaryrefslogtreecommitdiffstats
path: root/generic
Commit message (Collapse)AuthorAgeFilesLines
* * generic/tclInt.decls: Revised the interfaces of the routinesdgp2007-06-2018-90/+122
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * generic/tclExecute.c: TclStackAlloc and TclStackFree to make them easier for callers to use (or more precisely, harder to misuse). TclStackFree now takes a (void *) argument which is the pointer intended to be freed. TclStackFree will panic if that's not actually the memory the call will free. TSA/TSF also now tolerate receiving (interp == NULL), in which case they simply fall back to be calls to Tcl_Alloc/Tcl_Free. * generic/tclIntDecls.h: make genstubs * generic/tclBasic.c: Updated callers * generic/tclCmdAH.c: * generic/tclCmdIL.c: * generic/tclCompCmds.c: * generic/tclCompExpr.c: * generic/tclCompile.c: * generic/tclFCmd.c: * generic/tclFileName.c: * generic/tclIOCmd.c: * generic/tclIndexObj.c: * generic/tclInterp.c: * generic/tclNamesp.c: * generic/tclProc.c: * generic/tclTrace.c: * unix/tclUnixPipe.c:
* improve comments on Tcl stack managementMiguel Sofer2007-06-191-1/+12
|
* adding comments to GrowEvaluationStackMiguel Sofer2007-06-191-1/+13
|
* * generic/tclCmdIL.c (InfoFrameCmd):Miguel Sofer2007-06-185-69/+88
| | | | | | | * generic/tclCmdMZ.c (Tcl_SwitchObjCmd): * generic/tclCompile.c (TclInitCompileEnv): * generic/tclProc.c (Tcl_ProcObjCmd, SetLambdaFromAny): Moved the CmdFrame off the C stack and onto the Tcl stack.
* * generic/tclExecute.c (TEBC): Moved the CmdFrame off the C stackMiguel Sofer2007-06-181-19/+20
| | | | and onto the Tcl stack, between the catch and the execution stacks
* * generic/tclBasic.c (TclEvalEx,TclEvalObjEx): Moved the CmdFrame offdgp2007-06-181-29/+34
| | | | the C stack and onto the Tcl stack.
* * generic/tclBasic.c (TclEvalEx): Moved the CmdFrame off the C ↵dgp2007-06-181-32/+33
| | | | | | stack and onto the Tcl stack.
* Fix [Bug 1738542]dkf2007-06-172-142/+180
|
* * generic/tclProc.c (TclObjInterpProcCore): Use switch instead of adkf2007-06-161-76/+81
| | | | chain of if's for a modest performance gain and a little more clarity.
* * generic/tclCompCmds.c: Simplified [variable] compiler andMiguel Sofer2007-06-152-47/+41
| | | | | * generic/tclExecute.c: executor. Missed updates to "there is always a valid frame".
* * generic/tclCompile.c: reverted TclEvalObjvInternal andMiguel Sofer2007-06-153-244/+57
| | | | | | | | | | | | * generic/tclExecute.c: INST_INVOKE to essentially what they were * generic/tclBasic.c: previous to the commit of 2007-04-03 [Patch 1693802] and the subsequent optimisations, as they break the new trace tests described below. * generic/trace.test: added tests 36 to 38 for dynamic trace creation and addition. These tests expose a change in dynamics due to a recent round of optimisations. The "correct" behaviour is not described in docs nor TIP 62.
* * generic/tclInt.decls: Modif to the internals ofMiguel Sofer2007-06-144-222/+287
| | | | | | | * generic/tclInt.h: TclObjInterpProc to reduce stack * generic/tclIntDecls.h: consumption and improve task * generic/tclProc.c: separation. Changes the interface of TclObjInterpProcCore (patching TclOO simultaneously).
* * generic/tclProc.c (TclObjInterpProcCore): simplified objMiguel Sofer2007-06-141-10/+5
| | | | management in wrongNumArgs calls.
* remove C99 var declarationhobbs2007-06-141-3/+4
|
* * generic/tclCompile.c: SetByteCodeFromAny() can no longer returndgp2007-06-143-46/+25
| | | | | * generic/tclExecute.c: any code other than TCL_OK, so remove code * generic/tclProc.c: that formerly handled exceptional codes.
* * generic/tclExecute.c (TclCompEvalObj): missed update to "thereMiguel Sofer2007-06-142-21/+25
| | | | | | | | | is always a valid frame". * generic/tclProc.c (TclObjInterpProcCore): call TEBC directly instead of going through TclCompEvalObj - no need to check the compilation's freshness, this has already been done. This improves speed and should also provide some relief to [Bug 1066755].
* Silence a 'const'ness warning.dkf2007-06-121-2/+2
|
* Convert [info] into an ensemble command.dkf2007-06-123-191/+153
|
* Improve the argument substitution behaviour of Tcl_WrongNumArgs when faced withdkf2007-06-123-46/+73
| | | | ensemble and interp-alias rewrites.
* * generic/tclNamesp.c: tweaks to Tcl_GetCommandFromObj andMiguel Sofer2007-06-112-110/+70
| | | | | | * generic/tclObj.c: TclGetNamespaceFromObj; modified the usage of structs ResolvedCmdName and ResolvedNsname so that the field refNsPtr is NULL for fully qualified names.
* * generic/tclNamesp.c: tweaks to Tcl_GetCommandFromObj andMiguel Sofer2007-06-112-13/+12
| | | | * generic/tclObj.c: TclGetNamespaceFromObj
* * generic/tclExecute.c: comments added to explain iPtr->numLevelsMiguel Sofer2007-06-111-2/+5
| | | | management.
* * generic/tclBasic.c: Further TEOvI split, creating a newMiguel Sofer2007-06-103-77/+84
| | | | | | | * generic/tclCompile.h: TclEvalObjvKnownCommand() function to * generic/tclExecute.c: handle commands that are already known and are not traced. INST_INVOKE now calls into this function instead of inlining parts of TEOvI. Same perf, better isolation.
* fix Tcl_Panic error message typo [Bug 1712602]hobbs2007-06-101-2/+2
|
* * generic/tclExecute.c (TclExecuteByteCode): restore support forhobbs2007-06-101-9/+140
| | | | | INST_CALL_BUILTIN_FUNC1 and INST_CALL_FUNC1 bytecodes to support 8.4- precompiled sources (math functions). [Bug 1720895]
* * generic/tclInt.h:Miguel Sofer2007-06-104-103/+98
| | | | | | | | | * generic/tclNamesp.c: * generic/tclObj.c: * generic/tclvar.c: new macros TclGetCurrentNamespace() and TclGetGlobalNamespace(); Tcl_GetCommandFromObj and TclGetNamespaceFromObj rewritten to make the logic clearer; slightly faster too.
* fix for ne TclCleanupCommandMacro (doh!)Miguel Sofer2007-06-101-2/+2
|
* * generic/tclExecute.c (INST_INVOKE): isolated two vars to theMiguel Sofer2007-06-091-3/+3
| | | | small block where they are actually used.
* * generic/tclObj.c (Tcl_GetCommandFromObj): rewritten to make theMiguel Sofer2007-06-091-41/+32
| | | | logic clearer; slightly faster too.
* * generic/tclBasic.c: Split TEOv in two, by separating aMiguel Sofer2007-06-096-159/+336
| | | | | | | | | | | | | | | | | | | | | | processor for non-TCL_OK returns. Also spli TEOvI in a full version that handles non-existing and traced commands, and a separate shorter version for the regular case. * generic/tclBasic.c: Moved the generation of command strings for * generic/tclTrace.c: traces: previously in Tcl_EvalObjv(), now in TclCheck[Interp|Execution]Traces(). Also insured that the strings are properly nul terminated at the correct length [Bug 1693986] * generic/tclBasic.c: Extend usage of TclLimitReady() and * generic/tclExecute.c: (new) TclLimitExceeded() macros. * generic/tclInt.h: * generic/tclInterp.c: * generic/tclInt.h: New TclCleanupCommandMacro for core usage. * generic/tclBasic.c: * generic/tclExecute.c: * generic/tclObj.c:
* Make [string first] and [string last] clearerdkf2007-06-081-3/+4
|
* * generic/tclParse.c: fix for uninit read [Bug 1732414].Miguel Sofer2007-06-061-2/+3
|
* * generic/tclBasic.c: Added interp flag value ERR_LEGACY_COPY todgp2007-06-055-12/+24
| | | | | | | | * generic/tclInt.h: control the timing with which the global * generic/tclNamesp.c: variables ::errorCode and ::errorInfo get * generic/tclProc.c: updated after an error. This keeps more * generic/tclResult.c: precise compatibility with Tcl 8.4. * tests/result.test (result-6.2): [Bug 1649062]
* * generic/tclInt.h:Miguel Sofer2007-06-052-190/+296
| | | | * generic/tclExecute.c: Tcl-stack reform, [Patch 1701202]
* * generic/tclBasic.c: Removed code that dealt withdgp2007-05-305-257/+148
| | | | | | | | | | | | | | | | * generic/tclCompile.c: TCL_TOKEN_EXPAND_WORD tokens representing * generic/tclCompile.h: expanded literal words. These sections were mostly in place to enable [info frame] to discover line information in expanded literals. Since the parser now generates a token for each post-expansion word referring to the right location in the original script string, [info frame] gets all the data it needs. * generic/tclInt.h: Revised the parser so that it never produces * generic/tclParse.c: TCL_TOKEN_EXPAND_WORD tokens when parsing an * tests/parse.test: expanded literal word; that is, something like {*}{x y z}. Instead, generate the series of TCL_TOKEN_SIMPLE_WORD tokens to represent the words that expansion of the literal string produces. [RFE 1725186]
* * unix/configure: autoconf-2.59 (FC6 fork)dgp2007-05-182-19/+4
| | | | | | | | | | | | | | | | | * win/configure: * README: Bump version number to 8.5a7 * generic/tcl.h: * library/init.tcl: * tools/tcl.wse.in: * unix/configure.in: * unix/tcl.spec: * win/configure.in: * generic/tclParse.c: Disable and remove the ALLOW_EXPAND sections * tests/info.test: that continued to support the deprecated * tests/mathop.test: {expand} syntax. Updated the few remaining users of that syntax in the test suite.
* suppress compiler warnings about values computed and not useddgp2007-05-171-3/+3
|
* Added macro version of Tcl_LimitReady.dkf2007-05-172-72/+105
|
* * generic/tcl.decls: workaround 'make checkstubs' failures fromdas2007-05-161-1/+14
| | | | tclStubLib.c MODULE_SCOPE revert. [Bug 1716117]
* Change Tcl_InitStubs(), tclStubsPtr, and the auxilliary stubs tablejenglish2007-05-161-11/+4
| | | | | | | | pointers back to public visibility. These symbols need to be exported so that stub-enabled extensions may be statically linked into an extended tclsh or Big Wish with a dynamically-linked libtcl. [Bug#1716117]
* * generic/tclInt.h: Removed TclEvalObjEx and TclGetSrcInfoForPcpatthoyts2007-05-111-5/+1
| | | | from tclInt.h now they are in the internal stubs table.
* Minor whitespace cleanupdkf2007-05-111-1/+6
|
* Add a full stop to a commentdkf2007-05-111-2/+2
|
* Better const correctnessdkf2007-05-111-4/+4
|
* Minor comment improvements and code reordering for claritydkf2007-05-111-32/+42
|
* * generic/tclInt.h: TclFinalizeThreadAlloc() is always defined,dgp2007-05-091-2/+2
| | | | so make sure it is also always declared (with MODULE_SCOPE).
* * generic/tclInt.h: fix warning when building threaded with -DPURIFY.das2007-05-091-1/+2
|
* [Tcl Bug 1706140]dgp2007-05-075-63/+50
| | | | | | | | | | | | | | | | | * generic/tclLink.c (LinkTraceProc): Update Tcl_VarTraceProcs so that * generic/tclNamesp.c (Error*Read): they call Tcl_InterpDeleted() * generic/tclTrace.c (Trace*Proc): for themselves, and do not rely * generic/tclUtil.c (TclPrecTraceProc): on (frequently buggy) setting of the TCL_INTERP_DESTROYED flag by the trace core. * generic/tclVar.c: Update callers of TclCallVarTraces to not pass in the TCL_INTERP_DESTROYED flag. Also apply filters so that public routines only pass documented flag values down to lower level routines. * generic/tclTrace.c (TclCallVarTraces): The setting of the TCL_INTERP_DESTROYED flag is now done entirely within the TclCallVarTraces routine, the only place it can be done right.
* regendkf2007-05-052-2/+26
|
* Changes to allow the tip257 code to work as an extension properly post-tip280dkf2007-05-054-112/+161
|