summaryrefslogtreecommitdiffstats
path: root/generic/tclCompCmdsSZ.c
Commit message (Collapse)AuthorAgeFilesLines
* Better version that can handle simple composite array keys as well. As long asdkf2012-12-181-10/+23
| | | | they are free of command substitutions, we can still safely omit the exception processor code.
* Generate better code for the common case of subst-ed variables where thedkf2012-12-181-0/+15
| | | variable is a simple scalar or an array with a simple literal element name.
* silence compiler warningdgp2012-11-291-7/+7
|
* Added compilation of [array exists], [array set] and [array unset]. Fixed a ↵merge_to_trunkdkf2012-11-051-1/+18
| | | | whole bunch of issues with opcode issuing that were causing problems with stack depth calculations.
* Added compilation of [string last] and improved the compilation of [string ↵dkf2012-11-031-176/+76
| | | | range]. This in turn enables compilation of [namespace qualifiers] and [namespace tail] (also done).
* Added compilation of [tailcall]. Not a particularly efficient compilation ↵dkf2012-11-011-0/+44
| | | | though; it does not detect tailcall-of-self as a special case.
* Compilation of [string first] and [string range] (with constant indices).dkf2012-10-301-70/+209
|
* Added compilation of simplest practical case of [string map].dkf2012-10-291-0/+82
|
* Working towards a BCCed [yield]; this doesn't work right now.dkf2012-10-261-0/+43
|
* Factor out a number of common patterns of use of Tcl_DStringAppend.dkf2012-07-031-2/+1
|
* Rewrite of parts of the switch compiler to better use the powers ofdgp2011-05-021-104/+45
| | | TclFindElement() and do less parsing on its own.
* Adjust ckalloc/ckfree macros to greatly reduce number of explicit casts indkf2011-03-121-18/+17
| | | rest of Tcl source code. No ABI change. API change *should* be harmless.
* * generic/tclBasic.c: More replacements of Tcl_UtfBackslash() callsdgp2011-03-061-1/+2
| | | | | | * generic/tclCompile.c: with TclParseBackslash() where possible. * generic/tclCompCmdsSZ.c: * generic/tclParse.c: * generic/tclUtil.c:
* 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).
* fix leaks in throw and unset compilersmig2011-03-011-0/+2
|
* Various mismatches between Tcl_Panic format string and its arguments,nijtmans2011-01-181-8/+8
| | | | discovered thanks to [Bug 3159920]
* * generic/tclCompCmdsSZ.c (IssueTryFinallyInstructions): [3007374]:dkf2010-05-281-45/+57
| | | | | Corrected error in handling of catch contexts to prevent crash with chained handlers.
* * generic/tclCompCmdsSZ.c (TclSubstCompile): If the first token doesdkf2010-04-081-3/+22
| | | | | | | | not result in a *guaranteed* push of a Tcl_Obj on the stack, we must push an empty object. Otherwise it is possible to get to a 'concat1' or 'done' without enough values on the stack, resulting in a crash. Thanks to Joe Mistachkin for identifying a script that could trigger this case.
* [Freq 2974744] share exception codes (ObjType?)nijtmans2010-03-271-7/+2
|
* Make error message in "try" implementationnijtmans2010-03-231-3/+3
| | | | exactly the same as the one in "return"
* Compile the [throw] command.dkf2010-03-191-1/+111
|
* Fix silly error in bytecode generation for [try].dkf2010-03-181-1/+3
|
* [Bug 2971921]: Corrected jump so that it doesn't skip into the middledkf2010-03-181-33/+40
| | | | | of an instruction! Tightened the instruction issuing. Moved endCatch calls closer to their point that they guard.
* Code Audit results:dkf2010-03-051-4/+4
| | | | | | | | * 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
* Split tclCompCmds.c into two pieces to improve developer sanity.dkf2010-02-261-0/+3499