| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Arrange for [dict for] to be NRE-enabled when not compiled. [Bug 2017632]
|
| |
|
|
|
|
|
|
|
|
|
| |
* generic/tclCompile.h: that shares the implementation with
* generic/tclExecute.c: tailcall. Fixed a segfault in
* generic/tclInt.h: tailcalls. Tests added.
* generic/tclInterp.c:
* generic/tclNamesp.c:
* tests/unsupported.test:
|
|
|
|
|
|
| |
unrefernced everywhere but in macosx/Tcl.xcodeproj/project.pbxproj: some
knowledgeable maintainer please remove tclNRE.h after making sure it
doesn't break the build on macosx
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
* generic/tclCmdAH.c: frame), added the ability to track the
* generic/tclCompCmds.c: absolute location of literal procedure
* generic/tclCompile.c: arguments, and making this information
* generic/tclCompile.h: available to uplevel, eval, and
* generic/tclInterp.c: siblings. This allows proper tracking of
* generic/tclInt.h: absolute location through custom (Tcl-coded)
* generic/tclNamesp.c: control structures based on uplevel, etc.
* generic/tclProc.c:
* tests/info.test:
|
|
|
|
|
|
|
|
|
|
| |
* generic/tclBasic.c: [namespace import]; removed
* generic/tclDecls.h: Tcl_NRObjProc, replaced with
* generic/tclExecute.c: Tcl_NRCmdSwap (proposed public
* generic/tclInt.h: NRE API). This should fix
* generic/tclNRE.h: [Bug 582506].
* generic/tclNamesp.c:
* generic/tclStubInit.c:
|
| |
|
|
|
|
| |
Tcl_NRAddCallback
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* generic/tcl.h: TclNR_foo to Tcl_NRfoo
* generic/tclBasic.c:
* generic/tclDecls.h:
* generic/tclDictObj.c:
* generic/tclExecute.c:
* generic/tclInterp.c:
* generic/tclNRE.h:
* generic/tclNamesp.c:
* generic/tclOO.c:
* generic/tclOOBasic.c:
* generic/tclOOCall.c:
* generic/tclOOMethod.c:
* generic/tclProc.c:
* generic/tclStubInit.c:
|
| |
|
| |
|
|
|
|
|
| |
handle the argument value length = -1. Thanks to Chris Darroch for
discovering the bug and providing the fix. [Bug 1968245].
|
|
|
|
| |
handler.
|
|
|
|
|
| |
an nsNameType obj when the reference crosses interpreter
boundaries.
|
| |
|
| |
|
|
|
|
|
| |
that the dict value passed in is in the format required to make the
internals of ensembles work.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
It is usually not enabled though; only worth it when a subcommand is actually
expected to undergo bytecode compilation.
|
| |
|
| |
|
|
|
|
| |
objTypes.
|
|
|
|
|
| |
names are searched from the global namespace, ie, bypassing
resolvers of the current namespace [Bug 1114355].
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* generic/tclNamesp.c: registered set. Revised the management of
* generic/tclObj.c: the intrep of that Tcl_ObjType. Revised the
* tests/obj.test: TclGetNamespaceFromObj() routine to return
TCL_ERROR and write a consistent error message when a namespace is
not found. [Bug 1588842. Patch 1686862]
***POTENTIAL INCOMPATIBILITY***
For callers of Tcl_GetObjType() on the name "nsName".
* generic/tclExecute.c: Update TclGetNamespaceFromObj() callers.
* generic/tclProc.c:
* tests/apply.test: Updated tests to expect new consistent
* tests/namespace-old.test: error message when a namespace is not
* tests/namespace.test: found.
* tests/upvar.test:
|
| |
|
|
|
|
| |
*** POTENTIAL INCOMPATIBILITY *** (tclInt.h and tclCompile.h)
|
| |
|
|
|
|
|
| |
* generic/tclObj.c (SetCmdNameFromAny): Avoid unnecessary
ckfree/ckalloc when the old structs can be reused.
|
|
|
|
|
| |
* generic/tclObj.c: cached in a different interp, tkcon
[Bug 1747512]
|
|
|
|
| |
* generic/tclScan.c:
|
|
|
|
|
|
|
| |
* generic/tclInt.h: parallel (and fall back on) Tcl_Realloc.
* generic/tclNamesp.c (TclResetShadowesCmdRefs): Replaced
ckrealloc based allocations with TclStackRealloc allocations.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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:
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
|
|
| |
* 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/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.
|
|
|
|
|
| |
flag marking scheme to be sure that global namespaces are freed when
their interp is deleted. [Bug 1705778].
|
|
|
|
| |
1515234]
|
|
|
|
| |
efficient). After [Patch 1529526] (afredd)
|
|
|
|
|
|
|
|
| |
* generic/tclNamespace.c (NsEnsembleImplementationCmd):
* generic/tclProc.c (InitCompiledLocals, ObjInterpProcEx,
TclObjInterpProcCore, ProcCompileProc): code reordering to reduce
branching and improve branch prediction (assume that forward
branches are typically not taken).
|
|
|
|
|
| |
trace routines so they guarantee the ::errorCode and ::errorInfo
variable always appear to exist. [Bug 1693252].
|
|
|
|
|
|
|
|
|
|
|
|
| |
* generic/tclExecute.c: calls with TclStackAlloc calls to use memory
* generic/tclFCmd.c: on Tcl's evaluation stack.
* generic/tclFileName.c:
* generic/tclIOCmd.c:
* generic/tclIndexObj.c:
* generic/tclInterp.c:
* generic/tclNamesp.c:
* generic/tclTrace.c:
* unix/tclUnixPipe.c:
|
|
|
|
|
|
|
|
|
| |
* generic/tclLiteral.c:
* generic/tclNamesp.c:
* generic/tclParse.c:
* generic/tclPreserve.c:
* generic/tclStringObj.c:
* generic/tclUtil.c:
|