summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Demonstrate and fix memory leak in Tcl_ParseVar().dgp2013-07-242-0/+22
|\
| * Demonstrate and fix memory leak in Tcl_ParseVar().dgp2013-07-242-0/+22
| |
* | Mark commands with potential to compile expansion arguments (as [list] does).dgp2013-07-243-0/+18
| |
* | more disabled code removaldgp2013-07-242-53/+0
| |
* | Remove outdated, disabled code.dgp2013-07-231-503/+0
| |
* | Remove outdated comment. Stack depths are well checked now.dgp2013-07-231-3/+0
| |
* | Stop checking stack depth in [catch] compiler.dgp2013-07-231-10/+0
| | | | | | | | Stack depth is checked in compiles of *all* Tcl commands/scripts/bodies in debug builds already.
* | Add "testfork" test command. Not used in any test-case yetjan.nijtmans2013-07-233-103/+152
|\ \ | |/
| * Add "testfork" test command. Not used in any test-case yetjan.nijtmans2013-07-233-103/+153
| |
* | Rewrite of the TclCompileScript() routine.dgp2013-07-1810-227/+654
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Primarily this breaks that large, rather convoluted routine into many smaller more single-purpose routines for greater clarity. This also permits more sharing of function components. Ensemble compiles now share the same low level routines as top-level command compiles. This refactoring should also have the benefit of easing merging between branches by better locating patches according to what function or data structure they tweak. Also in this checkin: Minimized calls to Tcl_ResetResult() during compile. Several commands compile their detected syntax errors into bytecode that reports the syntax error. Significant reform to the TIP 280 machinery, including elimination of the litInfo hash table. Its function of finding the index of a compiled command in a script from a pc value has been redone using the codeDelta information already stored in ByteCode.
| * | [assemble] compile syntax error into bytecode reporting syntax error message.dgp_tcs_rewritedgp2013-07-181-7/+3
| | |
| * | merge trunkdgp2013-07-184-15/+14
| |\ \ | |/ / |/| |
* | | [Bug 1c17fbba5d] Fix -errorinfo from syntax errors so that the error isdgp2013-07-185-20/+15
| | | | | | | | | not obscured. Instead highlight it by making it the last character quoted.
| * | Factor out the call to a compileProc into one place used by both ensembledgp2013-07-173-41/+38
| | | | | | | | | subcommand compiles and toplevel command compiles in TclCompileScript.
| * | Streamline the housekeeping on the operands of INST_START_CMD.dgp2013-07-161-49/+32
| | | | | | | | | For example, do only incr on success, not incr on attempt + decr on error.
| * | Simplify the ensemble subcommand compile. There's no need to bedgp2013-07-162-56/+15
| | | | | | | | | crafting synthetic Tcl_Parse and copying tokens. Some pointer shifts will do.
| * | Simplify arguments to TclContinuationsEnterDerived().dgp2013-07-162-10/+10
| | |
| * | Eliminate the litInfo table and all the code tending to its care and feeding.dgp2013-07-165-134/+97
| | | | | | | | | | | | The pc -> command index mapping function it provided can be achieved using other data already in the ByteCode struct.
| * | Build CompileBasicNArgCommand on top of TclCompileInvocation.dgp2013-07-154-7/+34
| | |
| * | merge trunkdgp2013-07-156-62/+62
| |\ \ | |/ / |/| |
* | | Prefer CompileWord() over CompileTokens() when possible.dgp2013-07-153-6/+3
| | |
* | | Global replace: CompileBody() -> BODY().dgp2013-07-124-30/+19
| | |
* | | Tests demonstrating the need for the last two SetLineInformation() calls.dgp2013-07-121-0/+25
| | |
* | | Revise the CompileWord() and PushVarNameWord() macros to make explicit thedgp2013-07-112-18/+7
| | | | | | | | | SetLineInformation() that's in each of them.
* | | Have TclMakeEnsemble() set ENSEMBLE_COMPILE at creation, not as a separatedgp2013-07-111-8/+8
| | | | | | | | | epoch-bumping step.
| * | merge trunkdgp2013-07-114-61/+447
| |\ \ | |/ / |/| |
* | | Add a test for each call to SetLineInformation() demonstrating the needdgp2013-07-114-61/+431
|\ \ \ | | | | | | | | | | | | | | | | | | | | for it to be there. Fixed bugs revealed by the new tests. What's still missing are more tests demonstrating the need for other SetLineInformation() calls that are not there yet. ;)
| * | | Revert the revised macros used in developing the new tests.tip280_test_coveragedgp2013-07-115-27/+24
| | | |
| * | | Add tests for the SetLineInformation() calls in tclEnsemble.c, and fixdgp2013-07-112-6/+28
| | | | | | | | | | | | the bugs around those calls exposed by the tests.
| * | | Add tests for SetLineInformation() calls in tclCompCmdsSZ.c as well as somedgp2013-07-102-46/+206
| | | | | | | | | | | | obvious refactoring improvements.
| * | | Add tests for SetLineInformation() calls in tclCompCmdsGR.c.dgp2013-07-102-4/+57
| | | |
| * | | Add tests for, and fix bugs in, the SetLineInformation() calls in tclCompCmds.c.dgp2013-07-102-11/+127
| | | |
| * | | merge trunkdgp2013-07-101-0/+16
| |\ \ \ | |/ / / |/| | |
* | | | Fix for [86fb5ea28e]. Test will eventually merge in from tip280-test-coverage.dgp2013-07-101-0/+16
| | | |
| * | | Next attempt. Appears to have uncovered a bug.dgp2013-07-102-1/+15
| | | |
| * | | First additional test. Remove dup macros in tclEnsemble.c.dgp2013-07-106-20/+21
| | | |
| * | | Disabling the SetLineInformation() macro entirely causes only 3 testsdgp2013-07-103-3/+10
|/ / / | | | | | | | | | | | | | | | | | | in the test suite to fail. Restoring just 2 SetLineInformation() calls fixes those failures. The need for all the other SLI() calls is not demonstrated by any test. Without more complete test coverage, it is difficult to confidently tweak the TIP 280 implementation without fear that changes are introducing breakage.
| * | Remove the (now unused) wlineat arguments.dgp2013-07-101-6/+2
| | |
| * | Revise the litInfo table so that it gets built later (in TclInitByteCodeObj)dgp2013-07-102-60/+20
| | | | | | | | | from a simpler store of data that can unwind.
| * | Tentative Work In Progress unwinding TIP 280 line information.dgp2013-07-091-10/+29
| | |
| * | Use the TokenAfter() macro.dgp2013-07-081-7/+5
| | |
| * | Use TIP 280 macros.dgp2013-07-081-4/+2
| | |
| * | merge trunkdgp2013-07-081-1/+1
| |\ \ | |/ / |/| |
* | | Unbreak MSVC6 debug build (thanks Andreas Kupries!)jan.nijtmans2013-07-081-1/+1
|\ \ \ | | |/ | |/|
| * | Unbreak MSVC6 debug build (thanks Andreas Kupries!)jan.nijtmans2013-07-081-1/+1
| | |
| | * Factor out compiling the Command literal.dgp2013-07-081-22/+19
| | |
| | * Plug memory leak; Break three compilation mechanisms into routines.dgp2013-07-081-196/+266
| | |
| | * Move TIP 280 and command extent housekeeping to the periphery.dgp2013-07-081-27/+27
| | |
| | * Defer expansion request detection as much as possible.dgp2013-07-081-13/+30
| | |
| | * Consolidate the StartExpanding() calls.dgp2013-07-081-7/+3
| | |