Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Stop checking stack depth in [catch] compiler. | dgp | 2013-07-23 | 1 | -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 yet | jan.nijtmans | 2013-07-23 | 3 | -103/+152 |
|\ | |||||
| * | Add "testfork" test command. Not used in any test-case yet | jan.nijtmans | 2013-07-23 | 3 | -103/+153 |
| | | |||||
* | | Rewrite of the TclCompileScript() routine. | dgp | 2013-07-18 | 10 | -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_rewrite | dgp | 2013-07-18 | 1 | -7/+3 |
| | | | |||||
| * | | merge trunk | dgp | 2013-07-18 | 4 | -15/+14 |
| |\ \ | |/ / |/| | | |||||
* | | | [Bug 1c17fbba5d] Fix -errorinfo from syntax errors so that the error is | dgp | 2013-07-18 | 5 | -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 ensemble | dgp | 2013-07-17 | 3 | -41/+38 |
| | | | | | | | | | subcommand compiles and toplevel command compiles in TclCompileScript. | ||||
| * | | Streamline the housekeeping on the operands of INST_START_CMD. | dgp | 2013-07-16 | 1 | -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 be | dgp | 2013-07-16 | 2 | -56/+15 |
| | | | | | | | | | crafting synthetic Tcl_Parse and copying tokens. Some pointer shifts will do. | ||||
| * | | Simplify arguments to TclContinuationsEnterDerived(). | dgp | 2013-07-16 | 2 | -10/+10 |
| | | | |||||
| * | | Eliminate the litInfo table and all the code tending to its care and feeding. | dgp | 2013-07-16 | 5 | -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. | dgp | 2013-07-15 | 4 | -7/+34 |
| | | | |||||
| * | | merge trunk | dgp | 2013-07-15 | 6 | -62/+62 |
| |\ \ | |/ / |/| | | |||||
* | | | Prefer CompileWord() over CompileTokens() when possible. | dgp | 2013-07-15 | 3 | -6/+3 |
| | | | |||||
* | | | Global replace: CompileBody() -> BODY(). | dgp | 2013-07-12 | 4 | -30/+19 |
| | | | |||||
* | | | Tests demonstrating the need for the last two SetLineInformation() calls. | dgp | 2013-07-12 | 1 | -0/+25 |
| | | | |||||
* | | | Revise the CompileWord() and PushVarNameWord() macros to make explicit the | dgp | 2013-07-11 | 2 | -18/+7 |
| | | | | | | | | | SetLineInformation() that's in each of them. | ||||
* | | | Have TclMakeEnsemble() set ENSEMBLE_COMPILE at creation, not as a separate | dgp | 2013-07-11 | 1 | -8/+8 |
| | | | | | | | | | epoch-bumping step. | ||||
| * | | merge trunk | dgp | 2013-07-11 | 4 | -61/+447 |
| |\ \ | |/ / |/| | | |||||
* | | | Add a test for each call to SetLineInformation() demonstrating the need | dgp | 2013-07-11 | 4 | -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_coverage | dgp | 2013-07-11 | 5 | -27/+24 |
| | | | | |||||
| * | | | Add tests for the SetLineInformation() calls in tclEnsemble.c, and fix | dgp | 2013-07-11 | 2 | -6/+28 |
| | | | | | | | | | | | | the bugs around those calls exposed by the tests. | ||||
| * | | | Add tests for SetLineInformation() calls in tclCompCmdsSZ.c as well as some | dgp | 2013-07-10 | 2 | -46/+206 |
| | | | | | | | | | | | | obvious refactoring improvements. | ||||
| * | | | Add tests for SetLineInformation() calls in tclCompCmdsGR.c. | dgp | 2013-07-10 | 2 | -4/+57 |
| | | | | |||||
| * | | | Add tests for, and fix bugs in, the SetLineInformation() calls in tclCompCmds.c. | dgp | 2013-07-10 | 2 | -11/+127 |
| | | | | |||||
| * | | | merge trunk | dgp | 2013-07-10 | 1 | -0/+16 |
| |\ \ \ | |/ / / |/| | | | |||||
* | | | | Fix for [86fb5ea28e]. Test will eventually merge in from tip280-test-coverage. | dgp | 2013-07-10 | 1 | -0/+16 |
| | | | | |||||
| * | | | Next attempt. Appears to have uncovered a bug. | dgp | 2013-07-10 | 2 | -1/+15 |
| | | | | |||||
| * | | | First additional test. Remove dup macros in tclEnsemble.c. | dgp | 2013-07-10 | 6 | -20/+21 |
| | | | | |||||
| * | | | Disabling the SetLineInformation() macro entirely causes only 3 tests | dgp | 2013-07-10 | 3 | -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. | dgp | 2013-07-10 | 1 | -6/+2 |
| | | | |||||
| * | | Revise the litInfo table so that it gets built later (in TclInitByteCodeObj) | dgp | 2013-07-10 | 2 | -60/+20 |
| | | | | | | | | | from a simpler store of data that can unwind. | ||||
| * | | Tentative Work In Progress unwinding TIP 280 line information. | dgp | 2013-07-09 | 1 | -10/+29 |
| | | | |||||
| * | | Use the TokenAfter() macro. | dgp | 2013-07-08 | 1 | -7/+5 |
| | | | |||||
| * | | Use TIP 280 macros. | dgp | 2013-07-08 | 1 | -4/+2 |
| | | | |||||
| * | | merge trunk | dgp | 2013-07-08 | 1 | -1/+1 |
| |\ \ | |/ / |/| | | |||||
* | | | Unbreak MSVC6 debug build (thanks Andreas Kupries!) | jan.nijtmans | 2013-07-08 | 1 | -1/+1 |
|\ \ \ | | |/ | |/| | |||||
| * | | Unbreak MSVC6 debug build (thanks Andreas Kupries!) | jan.nijtmans | 2013-07-08 | 1 | -1/+1 |
| | | | |||||
| | * | Factor out compiling the Command literal. | dgp | 2013-07-08 | 1 | -22/+19 |
| | | | |||||
| | * | Plug memory leak; Break three compilation mechanisms into routines. | dgp | 2013-07-08 | 1 | -196/+266 |
| | | | |||||
| | * | Move TIP 280 and command extent housekeeping to the periphery. | dgp | 2013-07-08 | 1 | -27/+27 |
| | | | |||||
| | * | Defer expansion request detection as much as possible. | dgp | 2013-07-08 | 1 | -13/+30 |
| | | | |||||
| | * | Consolidate the StartExpanding() calls. | dgp | 2013-07-08 | 1 | -7/+3 |
| | | | |||||
| | * | The routines StartExpanding() and EnterCmdWordData() are orthogonal, so it's | dgp | 2013-07-08 | 1 | -4/+3 |
| | | | | | | | | | ok to reverse the order in which they are called. | ||||
| | * | merge trunk | dgp | 2013-07-08 | 10 | -248/+560 |
| | |\ | |_|/ |/| | | |||||
* | | | Build stub objects with -DSTATIC_BUILD on all platforms. Only important on ↵ | jan.nijtmans | 2013-07-08 | 1 | -1/+1 |
|\ \ \ | |/ / | | | | | | | win32 (already done) and cygwin, on other platforms it should not have any effect. | ||||
| * | | Build stub objects with -DSTATIC_BUILD on all platforms. Only important on ↵ | jan.nijtmans | 2013-07-08 | 1 | -1/+1 |
| | | | | | | | | | | | | win32 (already done) and cygwin, on other platforms it should not have any effect. | ||||
* | | | merge-mark | jan.nijtmans | 2013-07-07 | 0 | -0/+0 |
|\ \ \ | |/ / | |||||
| * | | OpenBSD/m88k is now elf. Remove unneeded elf check. | stwo | 2013-07-07 | 2 | -50/+8 |
| | | |