| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
* generic/tclCompExpr.c: Added a "mark" field to the OpNode
struct, which is used to guide tree traversal. This field costs
nothing since alignement requirements used the memory already.
Rewrote ConvertTreeToTokens() to use the new field, which permitted
consolidation of utility routines CopyTokens() and
GenerateTokensForLiteral().
|
|
|
|
|
|
|
|
| |
silence compiler warnings.
* generic/tclDate.c: Regenerated
* win/tclWinTest.c: Added a cast to the call to
GetSecurityDescriptorDacl to silence compiler
warnings.
|
| |
|
| |
|
|
|
|
| |
compilation with MSVC6 and anything else that may not define this macro.
|
|
|
|
| |
Virden.
|
|
|
|
| |
*** POTENTIAL INCOMPATIBILITY *** (tclInt.h and tclCompile.h)
|
| |
|
|
|
|
|
| |
* win/configure.in: [Patch 1754128]
* win/makefile.vc:
|
| |
|
|
|
|
|
| |
replacement to fill the tcl_platform(user) field as it is not subject
to spoofing.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
* generic/tclExecute.c (TEBC, TclGetSrcInfoForCmd):
* generic/tclInt.h:
* generic/tclTrace.c (TclCheck(Interp|Execution)Traces):
Removed the need for TEBC to inspect the command before calling
TEOvI, leveraging the TIP 282 infrastructure. Moved the generation
of a correct nul-terminated command string away from the trace
code, back into TEOvI/GetCommandSource.
|
|
|
|
|
|
|
|
|
| |
* library/platform/pkgIndex.tcl: where identifiers not matching
* unix/Makefile.in: the special linux and solaris forms would not
* win/Makefile.in: get 'tcl' as an acceptable platform added to
* doc/platform.n: the result. Bumped package to version 1.0.3 and
* doc/platform_shell.n: updated documentation and Makefiles. Also
fixed bad version info in the documentation of platform::shell.
|
|
|
|
|
|
| |
might be different, be sure to use the latter for error reporting.
Also pulled the interp argument back out of ParseTokens() since we
already had a parsePtr->interp to work with.
|
| |
|
|
|
|
|
|
| |
explain the operations of ParseExpr(), made significant revisions
to the code so it would be easier to explain, and in the process
made the code simpler and clearer as well.
|
|
|
|
|
|
| |
* tests/parseExpr.test: Several tests of syntax error messages
to check that when expression substrings are truncated they leave
visible the context relevant to the reported error.
|
|
|
|
| |
common code for reporting syntax errors in LEAF elements.
|
|
|
|
|
|
|
|
| |
* generic/tclCompCmds.c (TclCompileWhileCmd):
* generic/tclCompile.c (TclCompileScript):
Corrected faulty avoidance of INST_START_CMD when the first opcode
in a script is within a loop (as produced by 'while 1'), so that
the corresponding command is properly counted [Bug 1752146].
|
|
|
|
|
|
|
|
|
|
|
| |
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]
|
|
|
|
| |
in interactive [unknown] when empty command is invoked. [Bug 1743676]
|
|
|
|
|
| |
* 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().
|
|
|
|
| |
[Bug 1717186]
|
|
|
|
|
| |
object lists by reusing already free'd slots, if possible.
See discussion on Bug 1726873 for more information.
|
|
|
|
| |
[Bug 1710795]
|
|
|
|
|
| |
* generic/tclThreadAlloc.c: the custom TclpAlloc()s is aligned to
16 byte boundaries (as is the case with the Darwin system malloc).
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|