| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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:
|
| |
|
| |
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
| |
and onto the Tcl stack, between the catch and the execution stacks
|
|
|
|
| |
the C stack and onto the Tcl stack.
|
|
|
|
|
|
| |
stack
and onto the Tcl stack.
|
| |
|
|
|
|
| |
chain of if's for a modest performance gain and a little more clarity.
|
|
|
|
|
| |
* generic/tclExecute.c: executor. Missed updates to "there is
always a valid frame".
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.h: TclObjInterpProc to reduce stack
* generic/tclIntDecls.h: consumption and improve task
* generic/tclProc.c: separation. Changes the interface of
TclObjInterpProcCore (patching TclOO simultaneously).
|
|
|
|
| |
management in wrongNumArgs calls.
|
| |
|
|
|
|
|
| |
* generic/tclExecute.c: any code other than TCL_OK, so remove code
* generic/tclProc.c: that formerly handled exceptional codes.
|
|
|
|
|
|
|
|
|
| |
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].
|
| |
|
| |
|
|
|
|
| |
ensemble and interp-alias rewrites.
|
|
|
|
|
|
| |
* generic/tclObj.c: TclGetNamespaceFromObj; modified the
usage of structs ResolvedCmdName and ResolvedNsname so that the
field refNsPtr is NULL for fully qualified names.
|
|
|
|
| |
* generic/tclObj.c: TclGetNamespaceFromObj
|
|
|
|
| |
management.
|
|
|
|
|
|
|
| |
* 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.
|
| |
|
|
|
|
|
| |
INST_CALL_BUILTIN_FUNC1 and INST_CALL_FUNC1 bytecodes to support
8.4- precompiled sources (math functions). [Bug 1720895]
|
|
|
|
|
|
|
|
|
| |
* 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.
|
| |
|
|
|
|
| |
small block where they are actually used.
|
|
|
|
| |
logic clearer; slightly faster too.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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:
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
* 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/tclExecute.c: Tcl-stack reform, [Patch 1701202]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
| |
|
| |
|
|
|
|
| |
tclStubLib.c MODULE_SCOPE revert. [Bug 1716117]
|
|
|
|
|
|
|
|
| |
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]
|
|
|
|
| |
from tclInt.h now they are in the internal stubs table.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
so make sure it is also always declared (with MODULE_SCOPE).
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
| |
|
| |
|