| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
* 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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
TclCleanupByteCode, TclCompileScript):
* generic/tclExecute.c (TclCompileObj, TclExecuteByteCode):
* tclCompile.h (ExtCmdLoc):
* tclInt.h (ExtIndex, CFWordBC, CmdFrame):
* tclBasic.c (DeleteInterpProc, TclArgumentBCEnter,
TclArgumentBCRelease, TclArgumentGet, SAVE_CONTEXT,
RESTORE_CONTEXT, NRCoroutineExitCallback, TclNRCoroutineObjCmd):
* generic/tclCmdAH.c (TclNRForObjCmd, TclNRForIterCallback,
ForNextCallback):
* generic/tclCmdMZ.c (TclNRWhileObjCmd):
Extended the bytecode compiler initialization to recognize the
compilation of whole files (NRE enabled 'source' command) and
switch to the counting of absolute lines in that case.
Further extended the bytecode compiler to track the start line in
the generated information, and modified the bytecode execution to
recompile an object if the location as per the calling context
doesn't match the location saved in the bytecode. This part could
be optimized more by using more memory to keep all possibilities
which occur around, or by just adjusting the location information
instead of a total recompile.
Reworked the handling of literal command arguments in bytecode to
be saved (compiler) and used (execution) per command (See the
TCL_INVOKE_STK* instructions), and not per the whole bytecode.
This, and the previous change remove the problems with location
data caused by literal sharing (across whole files, but also proc
bodies). Simplified the associated datastructures (ExtIndex is
gone, as is the function EnterCmdWordIndex).
The last change causes the hashtable 'lineLABCPtr' to be state
which has to be kept per coroutine, like the CmdFrame stack.
Reworked the coroutine support code to create, delete and switch
the information as needed. Further reworked the tailcall command
as well, it has to pop its own arguments when run in a bytecode
context to keep a proper stack in 'lineLABCPtr'.
Fixed the mishandling of line information in the NRE-enabled 'for'
and 'while' commands introduced when both were made to share their
iteration callbacks without taking into account that the loop body
is found in different words of the command. Introduced a separate
data structure to hold all the callback information, as we went
over the limit of 4 direct client-data values for NRE callbacks.
The above fixes [Bug 1605269].
|
| |
|
| |
|
|
|
|
|
|
| |
* generic/tclCmdIL.c: [yield] out of ::tcl::unsupported
* tests/info.test: and into global scope: TIPs #327
* tests/unsupported.test: and #328
|
|
|
|
|
| |
output of the test to handle the NRE-enabled eval and the proper
propagation of location information through it.
|
|
|
|
|
| |
pattern for file containing tcltest less specific to accept both
.tcl and .tm variants of the file during matching.
|
|
|
|
|
|
|
|
| |
* tests/info.test: in TclEvalEx so that the CmdFrame will still
be on the stack at the time Tcl_LogCommandInfo is called to append
another level of -errorinfo information. Sets the stage to add
file and line data to the stack trace. Added test to check that
[info frame] functioning remains unchanged by the revision.
|
|
|
|
| |
fixes bug [1605269].
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
of location for uplevel scripts. Resolved merge conflict on
info-37.0, switched !singleTestInterp constraint to glob matching
instead. Ditto info-22.8, removed constraint, more glob matching,
and reduced the depth of the stack we check. More is coming, right
now I want to commit the bug fixes.
* tests/oo.test: Updated oo-22.1 for expanded location tracking.
* generic/tclCompile.c (TclInitCompileEnv): Reorganized the
initialization of the #280 location information to match the flow
in TclEvalObjEx to get more absolute contexts.
* generic/tclBasic.c (TclEvalObjEx): Added missing cleanup of
extended location information.
|
|
|
|
|
|
| |
(info-22.8, info-23.0): switch to glob matching to avoid sensitivity
to tcltest.tcl line number changes, remove knownBug constraint, fix
expected result. [Bug 1605269]
|
|
|
|
| |
increasing numbers.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
* generic/tclCmdIL.c: immediately, without search. Reworked setup
* generic/tclCompile.c: of eoFramePtr, doesn't need the line
* tests/info.test: information, more sensible to have everything
on line 1 when eval'ing a pure list. Updated the users of the line
information to special case this based on the frame type (i.e.
TCL_LOCATION_EVAL_LIST). Added a testcase demonstrating the new
behaviour.
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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:
|
| |
|
|
|
|
|
|
|
|
| |
* tests/info.test: information for key 'proc' out of the
TCL_LOCATION_BC branch to after the switch, this is common to all
frame types. Updated the testsuite to match. This was exposed by
the 2008-06-08 commit (Miguel), switching uplevel from direct eval
to compilation. Fixes [Bug 1987851].
|
| |
|
| |
|
|
|
|
|
|
|
| |
* library/tcltest/pkgIndex.tcl: constraint names. Properly handle
constraint expressions that return non-numeric boolean results like
"false". Bump to tcltest 2.3b1. [Bug 1772989; RFE 1071322]
* tests/info.test: Disable fragile tests.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
| |
when running testsuite with -singleproc 1. [Bug 1605269]
|
|
|
|
| |
last tcltest.tcl commit.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* generic/tclCmdAH.c:
* generic/tclCmdIL.c:
* generic/tclCmdMZ.c:
* generic/tclCompCmds.c:
* generic/tclCompExpr.c:
* generic/tclCompile.c:
* generic/tclCompile.h:
* generic/tclExecute.c:
* generic/tclIOUtil.c:
* generic/tclInt.h:
* generic/tclInterp.c:
* generic/tclNamesp.c:
* generic/tclObj.c:
* generic/tclProc.c:
* tests/compile.test:
* tests/info.test:
* tests/platform.test:
* tests/safe.test:
|
|
|
|
| |
structure.
|
|
|
|
| |
* tests/apply.test (apply-4.3-5): tests for [Bug 1574835]
|
| |
|
|
|
|
| |
other developers
|
|
|
|
|
|
|
|
|
|
| |
* tests/compExpr.test: to post-TIP-232 world.
* tests/expr-old.test:
* tests/expr.test:
* tests/info.test:
* tests/indexObj.test: Corrected other test errors revealed by
* tests/upvar.test: testing outside the tcltest application.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
* doc/mathfunc.n: New built-in math function bool().
* generic/tclBasic.c:
* tests/expr.test:
* tests/info.test:
|
|
|
|
| |
* tests/info.test (info-19.6): trivial matching branch [Bug 1072654]
|
| |
|
|
|
|
| |
necessary.
|
|
|
|
| |
real command once again. :^)
|
| |
|
|
|
|
|
| |
Also updated several tests, mostly to correctly create and destroy
any temporary files in the [temporaryDirectory] of tcltest.
|
| |
|
| |
|
|
|
|
| |
[global], [upvar] and [variable].
|
| |
|
| |
|
|
|
|
|
| |
This version builds clean on Solaris/SPARC, with GCC and CC, both with and
without threads and both in 32-bit and 64-bit mode.
|