summaryrefslogtreecommitdiffstats
path: root/generic/tclEnsemble.c
Commit message (Collapse)AuthorAgeFilesLines
* [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
|
* 3485022 Disable ensemble subcommand compile inside a Tcl_Create*Trace().dgp2012-02-061-1/+2
|
* 3485022 TclCompileEnsemble() avoid compile when exec traces set.dgp2012-02-061-1/+2
|
* Adjust ckalloc/ckfree macros to greatly reduce number of explicit casts indkf2011-03-121-12/+10
| | | rest of Tcl source code. No ABI change. API change *should* be harmless.
* Turn namespace into an ensemble. Not yet on trunk because of some mysterious ↵dkf2011-03-091-18/+18
| | | | failures that need resolving...
* Now that we're no longer using SCM based on RCS, the RCS Keyword linesdgp2011-03-021-2/+0
| | | cause more harm than good. Purged them (except in zlib files).
* Various mismatches between Tcl_Panic format string and its arguments,nijtmans2011-01-181-2/+2
| | | | discovered thanks to [Bug 3159920]
* * generic/tclCmdAH.c (TclInitFileCmd, TclMakeFileCommandSafe, ...):dkf2010-12-091-6/+37
| | | | | | | | | | | | | | | | | | Break up [file] into an ensemble. Note that the ensemble is safe in itself, but the majority of its subcommands are not. * generic/tclFCmd.c (FileCopyRename,TclFileDeleteCmd,TclFileAttrsCmd) (TclFileMakeDirsCmd): Adjust these subcommand implementations to work inside an ensemble. (TclFileLinkCmd, TclFileReadLinkCmd, TclFileTemporaryCmd): Move these subcommand implementations from tclCmdAH.c, where they didn't really belong. * generic/tclIOCmd.c (TclChannelNamesCmd): Move to more appropriate source file. * generic/tclEnsemble.c (TclMakeEnsemble): Start of code to make partially-safe ensembles. Currently does not function as expected due to various shortcomings in how safe interpreters are constructed. * tests/cmdAH.test, tests/fCmd.test, tests/interp.test: Test updates to take into account systematization of error messages.
* Code Audit results:dkf2010-03-051-14/+14
| | | | | | | | * use do { ... } while (0) in macros * avoid shadowing one local variable with another * use clearer 'foo.bar++;' instead of '++foo.bar;' where result not required (i.e., semantically equivalent) * follow Engineering Manual rules on spacing and declarations
* Pure whitespace changes, changing to follow Engineering Manual style.dkf2010-02-241-3/+3
|
* reverted earlier rename from tcl*Stubs tonijtmans2010-02-151-2/+2
| | | | | | | | tcl*ConstStubs, it's not necessary at all. tclEnsemble.c: Fix signed-unsigned mismatch make tclWinProcs "const" Add first part of mslu support, See [Feature Request #2819611]
* Reduce code nesting in [namespace ensemble] implementation.dkf2010-02-141-139/+116
|
* Hive off the ensemble code into its own file.dkf2010-02-131-0/+2965
Split the [switch] compiler for sanity's sake.