| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
| |
ParseExpr() to indicate whether the caller is Tcl_ParseExpr(), with an
end goal of filling a Tcl_Parse with Tcl_Tokens representing the
parsed expression, or TclCompileExpr() with the goal of compiling and
executing the expression. In the latter case, more aggressive
conversion of QUOTED and BRACED lexeme to literals is done. In the
former case, all such conversion is avoided, since Tcl_Token production
would revert it anyway. This enables simplifications to the
GenerateTokensForLiteral() routine as well.
|
|
|
|
| |
clarity and replaced some cryptic logic with more readable macros.
|
| |
|
|
|
|
|
|
|
|
| |
to be stored directly in the parse tree. There's no memory cost to
this addition, since that memory would have been lost to alignment
issues anyway. Also, converted precedence definitions and lookup
tables to use symbolic constants instead of raw number for improved
readability, and continued extending/improving/correcting comments.
|
| |
|
|
|
|
|
|
|
| |
gets inserted into the parse tree. Later tree traversal never reaches
it since its location in the tree is not variable. Starting and
stopping with the START lexeme (node 0) is sufficient. Also finished
lexeme code commentary.
|
|
|
|
| |
of the Tcl_Parse fields that indicate error conditions. [Bug 1749987]
|
| |
|
| |
|
| |
|
|
|
|
|
| |
* 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]
|
|
|
|
| |
is now more expansion room to define more BINARY operators.
|
|
|
|
|
|
|
|
| |
* generic/tclHash.c: any code enabled when it is set to 0. We will
* generic/tclStubInit.c: always want to preserve binary compat
of the structs that appear in the interface through the 8.* series of
releases, so it's pointless to drag around this never-enabled
alternative.
|
| |
|
|
|
|
| |
* unix/tclUnixChan.c:
|
|
|
|
|
| |
* generic/tclEvent.c: of expr parsing and compiling, including the
* generic/tclInt.h: routine TclFinalizeCompilation().
|
|
|
|
|
| |
* generic/tclEvent.c: of expr parsing and compiling, including the
* generic/tclInt.h: routine TclFinalizeCompilation().
|
| |
|
|
|
|
| |
[Bug 1717186]
|
|
|
|
|
| |
object lists by reusing already free'd slots, if possible.
See discussion on Bug 1726873 for more information.
|
|
|
|
|
| |
* generic/tclThreadAlloc.c: the custom TclpAlloc()s is aligned to
16 byte boundaries (as is the case with the Darwin system malloc).
|
|
|
|
| |
* generic/tclDate.c: bison 1.875e
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* generic/tclExecute.c: entire file tclMathOp.c.
* generic/tclInt.h:
* generic/tclMathOp.c (removed):
* generic/tclTestObj.c:
* win/tclWinFile.c:
* unix/Makefile.in: Updated to reflect deletion of tclMathOp.c.
* win/Makefile.in:
* win/makefile.bc:
* win/makefile.vc:
|
| |
|
|
|
|
| |
recent streamlining.
|
|
|
|
|
|
| |
* generic/tclTest.c: TclCheckInterpTraces that led to infinite loop
* tests/trace.test: when multiple Tcl_CreateTrace traces were set
and one of them did not fire due to level restrictions. [Bug 1743931].
|
|
|
|
| |
C stack to the Tcl stack.
|
| |
|
|
|
|
|
| |
TclStack* routines when called with an incompletely initialized
interp. [Bug 1743302]
|
|
|
|
| |
more streamlining.
|
| |
|
|
|
|
|
|
| |
that ended up not really optimising (limited benchmarks). Now
calling UnsetVarStruct (streamlined old code is #ifdef'ed out, in
case better benchmarks do show a difference).
|
|
|
|
| |
last commit.
|
| |
|
|
|
|
|
|
|
|
|
| |
slightly clearer, eliminated some duplicated code.
*** POTENTIAL INCOMPATIBILITY *** (tclInt.h and Var struct users)
The core never builds VAR_LINK variable to have traces. Such a
"monster", should one exist, will now have its unset traces called
*before* it is unlinked.
|
|
|
|
| |
* 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/tclCompExpr.c: off the C stack and onto the Tcl stack.
* generic/tclCompile.c: This is a rather large struct (> 3kB).
* generic/tclParse.c:
|
|
|
|
|
|
|
| |
* generic/tclExecute.c (INST_INVOKE): traces that were created
* tests/trace.test (trace-36.2): during execution of an
originally untraced command do not fire [Bug 1740962], partial
fix.
|
| |
|
|
|
|
| |
compute the variable's full name if the variable is traced.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|