summaryrefslogtreecommitdiffstats
path: root/generic/tclEnsemble.c
Commit message (Collapse)AuthorAgeFilesLines
* The EnsembleCmdRep struct that is the internal rep for caching ensembledgp2016-07-011-5/+21
| | | dispatches and spelling corrections can now be file static.
* [4402cfa58c] Rework the spell check machinery into something that will not bedgp2016-07-011-21/+165
| | | foiled by value sharing.
* Encapsulate the fetching of the ensemble rewrite root, used by [namespace].dgp2016-07-011-0/+34
|
* merge 8.6dgp2016-06-281-19/+3
|\
| * Adapt and tidy up the bug fix.dgp2016-05-241-34/+0
| |
| * Merge the bug fix and test case.dgp2016-05-241-1/+2
| |\
| | * Now fix the bug.dgp_bug_finddgp2016-05-241-2/+2
| | |
| | * New test namespace-53.11 demonstrates the bug.dgp2016-05-241-7/+1
| | |
| | * The handling of ensemble rewriting here is not right, but I've not yetdgp2016-05-241-0/+7
| | | | | | | | | | | | found the test case to demonstrate it. Checking in debugging code to spread to other dev platforms.
| * | Appears that the TclInitRewriteEnsemble() routine was created with an intentdgp2016-05-241-1/+18
| |/ | | | | to refactor, but never actually got used. Work on continuing that effort.
* | Don't see why the intrep should make and keep copies of things alreadydgp2016-05-121-27/+10
| | | | | | stored in the hash table.
* | The "ensembleCommand" Tcl_ObjType has no need for an UpdateString routine.dgp2016-05-121-31/+1
| | | | | | It is entirely a caching type. No "pure" value can exist.
* | Remove the nsPtr field from the EnsembleCmdRep struct. Cannot see anydgp2016-05-121-8/+1
|/ | | justification for keeping it (can get via token), and test suite doesn't care.
* [b9b2079e6d] Proposed fix. When a compileProc fails, it may have done andgp2016-03-101-0/+43
| | | | | arbitrary amount of partial work, which needs to be undone. When the exception handling machinery got its last big revision, the undoing of what it does was neglected. I think this patch gets it all, but more eyes would be good.
* Align comment. Remove some end-of-line spacing. No functional changes.jan.nijtmans2015-09-281-1/+1
|
* [e75fabac06] Teardown line information after failed ensemble subcommanddgp2014-08-011-0/+18
| | | | compile attempts. Copy/paste from CompileCmdCompileProc(). May be refactor opportunity here.
* Correction and commentary in the details of ensemble compiling.dgp2014-08-011-1/+17
|
* [6d2f249a01] Handle a failure to comprehend half-way through the compilation ↵dkf2014-05-111-7/+17
| | | | of a chain of compileable ensembles.
* Working towards better handling of stack balance with break and continue ↵dkf2013-10-081-3/+1
| | | | exceptions.
* more disabled code removaldgp2013-07-241-46/+0
|
* Factor out the call to a compileProc into one place used by both ensembledgp2013-07-171-7/+21
| | | subcommand compiles and toplevel command compiles in TclCompileScript.
* Simplify the ensemble subcommand compile. There's no need to bedgp2013-07-161-55/+15
| | | crafting synthetic Tcl_Parse and copying tokens. Some pointer shifts will do.
* Simplify arguments to TclContinuationsEnterDerived().dgp2013-07-161-6/+8
|
* Build CompileBasicNArgCommand on top of TclCompileInvocation.dgp2013-07-151-0/+10
|
* Have TclMakeEnsemble() set ENSEMBLE_COMPILE at creation, not as a separatedgp2013-07-111-8/+8
| | | epoch-bumping step.
* Revert the revised macros used in developing the new tests.tip280_test_coveragedgp2013-07-111-2/+2
|
* Add tests for the SetLineInformation() calls in tclEnsemble.c, and fixdgp2013-07-111-6/+3
| | | the bugs around those calls exposed by the tests.
* merge trunkdgp2013-07-101-0/+16
|\
| * Fix for [86fb5ea28e]. Test will eventually merge in from tip280-test-coverage.dgp2013-07-101-0/+16
| |
* | First additional test. Remove dup macros in tclEnsemble.c.dgp2013-07-101-10/+0
|/
* New internal routine TclFetchLiteral() for better CompileEnv encapsulation.dgp2013-03-051-3/+3
|
* merge core-8-5-branchjan.nijtmans2013-01-311-7/+7
|
* Eliminate some unneeded usages of Tcl_SetResult, Tcl_AddObjErrorInfojan.nijtmans2013-01-251-1/+1
| | | Fix "make test-packages" on cygwin
* merge trunkdkf2013-01-111-2/+2
|\
| * Name functions according to 'what' instead of 'how' in the [tailcall]mig2013-01-111-2/+2
| | | | | | machinery, in view of making public some parts of it.
* | First attempt at fixing problems caused by [array set] inside [namespace eval],dkf2013-01-111-0/+14
|/ | | | | which caused partial bytecode generation followed by a reject which triggered the issuing of generic ensemble code with an extra push of the variable name at the start (which got the stack depth wrong).
* tailcall now running in a simpler model, with no eval-flags and no nre-stack ↵mig2013-01-101-2/+2
| | | | rewriting; yieldto also requires one fewer bounce. Mostly from mig-nre-mods
* Fix bad memory access problems found by Miguel Sofer when valgrinding.dkf2013-01-041-4/+9
|
* Add super-simple compiler to many ensemble subcommands to allow better codedkf2013-01-041-0/+336
| | | | | generation where we can detect that we're not in the WrongNumArgs case. The compiler just checks that the argument count is in the right range and issues a standard dispatch; that's enough to do an efficient job.
* Added mechanism for pre-parsing built-in ensembles even when they are not goingdkf2013-01-031-56/+235
|\ | | | | to generate specific code. This provides a good speedup in some cases.
| * Got the test suite passing cleanly. Excellent.dkf2013-01-031-35/+60
| |
| * All tests pass except one; not sure what's wrong there.dkf2013-01-021-55/+99
| |
| * Passing more tests.dkf2013-01-021-41/+78
| |
| * Working towards more efficient treatment of non-bytecoded ensemble subcommands.dkf2012-12-311-5/+76
| |
* | remove stray calls to Tcl_Alloc and friends: the core should only use ↵mig2013-01-021-1/+1
|/ | | | ckalloc to allow MEM_DEBUG to work properly
* converting to using Tcl_Obj API for error message generation; part donedkf2012-08-031-61/+106
|
* Factor out a number of common patterns of use of Tcl_DStringAppend.dkf2012-07-031-8/+8
|
* Remove some low-value C stack frames.dkf2012-04-151-1/+1
|
* Reduce amount of unreachable code. Refactor Win socket and load code to be lessdkf2012-04-051-6/+0
| | | baroque in its internals.
* Honor per-namespace compile suppression in ensemble subcommands.dgp2012-02-061-0/+1
|