| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| | |
* tests/parse.test: \x and \u substitutions. [Bug 3200987]
|
| |\
| | |
| | | |
* tests/parse.test: \x and \u substitutions. [Bug 3200987]
|
| | |
| | |
| | | |
* tests/parse.test: \x and \u substitutions. [Bug 3200987]
|
| | | |
|
|\ \ \
| |/ /
| | | |
cause more harm than good. Purged them (except in zlib files).
|
| |\ \
| | |/
| | | |
more harm than good. Purged them.
|
| | |
| | |
| | | |
more harm than good. Purged them.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* generic/tclCkalloc.c: call stacks for memory allocation to
* generic/tclParse.c: guarantee that any size values computed
* generic/tclThreadAlloc.c: are within the domains of the routines
they get passed to. [Bugs 2557696 and 2557796].
|
| | |
| | |
| | |
| | | |
after the end of buffer, [Bug 1813528] (Joe Mistachkin).
|
| | |
| | |
| | |
| | | |
might be different, be sure to use the latter for error reporting.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
start==NULL and numBytes<0. This is coverity's bug #20
* generic/tclStringObj.c (STRING_SIZE): fix allocation for
0-length strings. This is coverity's bugs #54-5
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
EvalTokensStandard, Tcl_EvalEx, EvalEx, TclAdvanceContinuations,
TclEvalObjEx):
* generic/tclCmdMZ.c (Tcl_SwitchObjCmd, TclListLines):
* generic/tclCompCmds.c (*):
* generic/tclCompile.c (TclSetByteCodeFromAny, TclInitCompileEnv,
TclFreeCompileEnv, TclCompileScript):
* generic/tclCompile.h (CompileEnv):
* generic/tclInt.h (ContLineLoc, Interp):
* generic/tclObj.c (ThreadSpecificData, ContLineLocFree,
TclThreadFinalizeObjects, TclInitObjSubsystem,
TclContinuationsEnter, TclContinuationsEnterDerived,
TclContinuationsCopy, TclContinuationsGet, TclFreeObj):
* generic/tclParse.c (TclSubstTokens, Tcl_SubstObj):
* generic/tclProc.c (TclCreateProc):
* generic/tclVar.c (TclPtrSetVar):
* tests/info.test (info-30.0-24):
Extended parser, compiler, and execution with code and attendant
data structures tracking the positions of continuation lines which
are not visible in script Tcl_Obj*'s, to properly account for them
while counting lines for #280.
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* tests/parse.test (parse-15.60): routine has no mechanism to
return the "incomplete" status of "\\\n" so calling this routine
anywhere that can be reached within a Tcl_ParseCommand() call is a
mistake. In particular, ParseComment() must not use it. [Bug 1968882].
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* use do { ... } while (0) in macros
* avoid shadowing one local variable with another
* use clearer 'foo.bar++;' instead of '++foo.bar;' where result not
required (i.e., semantically equivalent)
* follow Engineering Manual rules on spacing and declarations
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* generic/tclParse.c: wrapper around TclNRSubstObj(). This has
* tests/basic.test: the effect of caching compiled bytecode in
* tests/parse.test: the value to be substituted. Note that
Tcl_SubstObj() now exists only for extensions. Tcl itself no longer
makes any use of it. Note also that TclSubstTokens() is now reachable
only by Tcl_EvalEx() and Tcl_ParseVar() so tests aiming to test its
functioning needed adjustment to still have the intended effect.
|
| | |
| | |
| | |
| | | |
* tests/into.test: script substitutions. [Bug 2850901].
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* generic/tclBasic.c: compiler routine for the [subst] command.
* generic/tclCmdMZ.c: This is a partial solution to the need to
* generic/tclCompile.c: NR-enable [subst] since bytecode execution is
* generic/tclCompile.h: already NR-enabled. [Bug 2314561] Two new
* generic/tclExecute.c: bytecode instructions, INST_NOP and
* generic/tclInt.h: INST_RETURN_CODE_BRANCH were added to support
* generic/tclParse.c: the new routine. INST_RETURN_CODE_BRANCH is
* tests/basic.test: likely to be useful in any future effort to
* tests/info.test: add a bytecode compiler routine for [try].
* tests/parse.test:
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Tcl_EvalEx, TclEvalEx, TclAdvanceContinuations, TclNREvalObjEx):
* generic/tclCmdMZ.c (Tcl_SwitchObjCmd, TclListLines):
* generic/tclCompCmds.c (*):
* generic/tclCompile.c (TclSetByteCodeFromAny, TclInitCompileEnv,
TclFreeCompileEnv, TclCompileScript, TclCompileTokens):
* generic/tclCompile.h (CompileEnv):
* generic/tclInt.h (ContLineLoc, Interp):
* generic/tclObj.c (ThreadSpecificData, ContLineLocFree,
TclThreadFinalizeObjects, TclInitObjSubsystem,
TclContinuationsEnter, TclContinuationsEnterDerived,
TclContinuationsCopy, TclContinuationsGet, TclFreeObj):
* generic/tclParse.c (TclSubstTokens, Tcl_SubstObj):
* generic/tclProc.c (TclCreateProc):
* generic/tclVar.c (TclPtrSetVar):
* tests/info.test (info-30.0-24):
Extended the parser, compiler, and execution engine with code and
attendant data structures tracking the position of continuation
lines which are not visible in the resulting script Tcl_Obj*'s, to
properly account for them while counting lines for #280.
|
| | | |
|
| | |
| | |
| | |
| | | |
literals.
|
| | | |
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
returning to level 0, as opposed to it being called on starting a
substitution at level 0.
|
| | |
| | |
| | |
| | | |
[Bug 2017583], missing TclResetCancellation call.
|
| | |
| | |
| | |
| | |
| | | |
* tests/parse.test: numLevel management and TclInterpReady check
seems to be necessary after all.
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
* generic/tclExecute.c: TclInterpReady().
* generic/tclParse.c:
|
| | | |
|
| | |
| | |
| | |
| | | |
[Bug 2017583]
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* tests/parse.test (parse-15.60): routine has no mechanism to
return the "incomplete" status of "\\\n" so calling this routine
anywhere that can be reached within a Tcl_ParseCommand() call is a
mistake. In particular, ParseComment() must not use it. [Bug 1968882].
|
|/ / |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* generic/tclCompCmds.c: simplify code that might need to grow
* generic/tclCompExpr.c: an array of Tcl_Tokens in the parsePtr
* generic/tclParse.c: field of a Tcl_Parse. Replaces the
TclExpandTokenArray() routine via replacing:
int needed = parsePtr->numTokens + growth;
while (needed > parsePtr->tokensAvailable) {
TclExpandTokenArray(parsePtr);
}
with:
TclGrowParseTokenArray(parsePtr, growth);
This revision merged over from dgp-refactor branch.
|
| | |
|
| | |
|
| |
| |
| |
| | |
objTypes.
|
| |
| |
| |
| | |
after the end of buffer, [Bug 1813528] (Joe Mistachkin).
|
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| |
| | |
* 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/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.
|
| | |
|