| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The final argument had been bracePtr, the address of a boolean var, where
the caller can be told whether or not the parsed list element was enclosed
in braces. In practice, no callers really care about that. What the callers
really want to know is whether the list element value exists as a literal
substring of the string being parsed, or whether a call to
TclCopyAndCollpase() is needed to produce the list element value. Now the
final argument is changed to do what callers actually need. This is a
better fit for the calls in tclParse.c, where now a good deal of
post-processing checking for "naked backslashes" is no longer necessary.
***POTENTIAL INCOMPATIBILITY***
For any callers calling in via the internal stubs table who really do use
the final argument explicitly to check for the enclosing brace scenario.
Simply looking for the braces where they must be is the revision available
to those callers, and it will backport cleanly.
Tests for expanded literals quoting detection.
|
| | |
|
|\ \
| |/
| | |
* 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.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* changes: changes to start prep for an 8.4.13 release.
* generic/tcl.h:
* tools/tcl.wse.in:
* unix/configure{.in}:
* unix/tcl.spec:
* win/README.binary:
* win/configure{.in}:
* tests/parse.test: Missing constraint
|
| | |
| | |
| | |
| | |
| | | |
* tests/parse.test: simplify TclEvalObjvInternal and to correct
the auto-loading of alias targets (parse-8.12). [Bug 1444291].
|
| | |
| | |
| | |
| | |
| | |
| | | |
* tests/parse.test: evaluations act the same as [uplevel #0]
* tests/trace.test: evaluations, even when execution traces or
invocations of [::unknown] are present. [Bug 1439836].
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* generic/tclCmdMZ.c (Tcl_SubstObj):
* tests/basic.test (basic-46.4): Restored recursion limit
* tests/parse.test (parse-19.*): testing in nested command
substitutions within direct script evaluation (Tcl_EvalEx)
that got lost in the parser reforms of Tcl 8.1. Added tests for
correct behavior. [Bug 1115904]
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* 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/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.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* generic/tclCmdMZ.c: [Bug 2314561].
* generic/tclCompCmds.c:
* generic/tclCompile.c:
* generic/tclInt.h:
* tests/coroutine.test:
* tests/parse.test:
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* 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:
|
| | |
| | |
| | |
| | | |
literals.
|
| | |
| | |
| | |
| | | |
expanded literals.
|
| | |
| | |
| | |
| | |
| | | |
* tests/parse.test: numLevel management and TclInterpReady check
seems to be necessary after all.
|
| | |
| | |
| | |
| | | |
[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/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]
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* doc/fconfigure.n, doc/interp.n, doc/unknown.n:
* library/auto.tcl, library/init.tcl, library/package.tcl:
* library/safe.tcl, library/tm.tcl, library/msgcat/msgcat.tcl:
* tests/all.tcl, tests/basic.test, tests/cmdInfo.test:
* tests/compile.test, tests/encoding.test, tests/execute.test:
* tests/fCmd.test, tests/http.test, tests/init.test:
* tests/interp.test, tests/io.test, tests/ioUtil.test:
* tests/iogt.test, tests/namespace-old.test, tests/namespace.test:
* tests/parse.test, tests/pkg.test, tests/pkgMkIndex.test:
* tests/proc.test, tests/reg.test, tests/trace.test:
* tests/upvar.test, tests/winConsole.test, tests/winFCmd.test:
* tools/tclZIC.tcl:
* generic/tclParse.c (Tcl_ParseCommand): Replace {expand} with {*}
officially (TIP #293). Leave -DALLOW_EXPAND=0|1 option to keep
{expand} syntax for transition users. [Bug 1589629]
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
global variables ::errorInfo, ::errorCode, ::env and
::tcl_platform: many were relying on the alternative lookup in the
global namespace, that feature is tested specifically in namespace
and variable tests.
The modified testfiles are: apply.test, basic.test, case.test,
cmdIL.test, cmdMZ.test, compExpr-old.test, error.test, eval.test,
event.test, expr.test, fileSystem.test, for.test, http.test,
if.test, incr-old.test, incr.test, interp.test, io.test,
ioCmd.test, load.test, misc.test, namespace.test, parse.test,
parseOld.test, pkg.test, proc-old.test, set.test, switch.test,
tcltest.test, thread.test, var.test, while-old.test, while.test.
|
| |
| |
| |
| |
| | |
Consistent method of calling test constraints, and (try to) move constraint
setup to the top of the test file
|
| |
| |
| |
| |
| | |
* tests/parse.test: simplify TclEvalObjvInternal and to correct
the auto-loading of alias targets (parse-8.12). [Bug 1444291].
|
| |
| |
| |
| |
| |
| |
| | |
* tests/namespace.test: evaluations act the same as [uplevel #0]
* tests/parse.test: evaluations, even when execution traces or
* tests/trace.test: invocations of [::unknown] are present.
[Bug 1439836].
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| | |
* generic/tclParse.c (TclSubstTokens): testing in nested command
* tests/basic.test (basic-46.4): substitutions within direct
* tests/parse.test (parse-19.*): script evaluation (Tcl_EvalEx)
that got lost in the parser reforms of Tcl 8.1. Added tests for
correct behavior. [Bug 1115904]
|
| |
| |
| |
| |
| |
| |
| | |
* generic/tclInt.h (Interp): USE_EVAL_DIRECT. It was used only
* generic/tcLTest.c (TestevalexObjCmd): in the testing command
* tests/parser.test (parse-9.2): [testevalex] and nothing in the
test suite made use of the capability it enabled.
|
| |
| |
| |
| |
| | |
space in {expand} parsing. Thanks Andreas Leitgeb. [Bug 848262].
* tests/parse.test: New tests for the bug.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* doc/Tcl.n: of the new leading {expand} syntax on words.
* generic/tcl.h: Parses such words as the new Tcl_Token type
* generic/tclBasic.c: TCL_TOKEN_EXPAND_WORD. Updated Tcl_EvalEx
* generic/tclCompile.c: and the bytecode compiler/execution engine
* generic/tclCompile.h: to recognize the new token type. New opcodes
* generic/tclExecute.c: INST_LIST_VERIFY and INST_INVOKE_EXP and a new
* generic/tclParse.c: operand type OPERAND_ULIST1 are defined. Docs
* generic/tclTest.c: and tests are included.
* tests/basic.test:
* tests/compile.test:
* tests/parse.test:
* library/auto.tcl: Replaced several [eval]s used to perform
* library/package.tcl: argument expansion with the new syntax.
* library/safe.tcl: In the test files lindex.test and lset.test,
* tests/cmdInfo.test: replaced use of [eval] to force direct
* tests/encoding.test: string evaluation with use of [testevalex]
* tests/execute.test: which more directly and robustly serves the
* tests/fCmd.test: same purpose.
* tests/http.test:
* tests/init.test:
* tests/interp.test:
* tests/io.test:
* tests/ioUtil.test:
* tests/iogt.test:
* tests/lindex.test:
* tests/lset.test:
* tests/namespace-old.test:
* tests/namespace.test:
* tests/pkg.test:
* tests/pkgMkIndex.test:
* tests/proc.test:
* tests/reg.test:
* tests/trace.test:
* tests/upvar.test:
* tests/winConsole.test:
* tests/winFCmd.test:
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* tests/basic.test: Bug 489537, Tcl's longstanding failure to
* tests/dict.test: properly quote any leading '#' character
* tests/dstring.test: when generating the string rep of a list
* tests/list.test: so that the comment-power of that character
* tests/parse.test: is hidden from any [eval], in order to
* tests/util.test: satisfy the documentation that [list] does
[eval]-safe quoting.
|
| | |
|
| |
| |
| |
| |
| |
| | |
to reset iPtr->returnCode, causing tests parse-18.17 and parse-18.21
to fail strangely.
* tests/parse.test (parse-18.21): Corrected now functioning test.
|
| |
| |
| |
| |
| | |
implementation of Tcl_SubstObj(). Note that tests parse-18.17 and
parse-18.21 demonstrate some bugs left to fix in the current code.
|
|/ |
|
| |
|
| |
|
|
|
|
| |
* tests/parse.test: fix for [Bug 684744], by Don Porter.
|
|
|
|
| |
of Tcl_EvalTokens, replaced by the new Tcl_EvalTokensStandard.
|
|
|
|
| |
::tcltest" to "namespace import -force ::tcltest" [Bug: 3948].
|
|
|
|
|
|
|
|
|
| |
easier to turn on compiler tracing.
* tests/parse.test:
* generic/tclParse.c: Fixed bug in Tcl_EvalEx where the termOffset
was not being updated in cases where the evaluation returned a non
TCL_OK error code. [Bug: 2535]
|
| |
|
| |
|