diff options
author | Miguel Sofer <miguel.sofer@gmail.com> | 2004-03-15 20:34:11 (GMT) |
---|---|---|
committer | Miguel Sofer <miguel.sofer@gmail.com> | 2004-03-15 20:34:11 (GMT) |
commit | 121105e0ad2f6051d2936d793833b2c263c9b1b4 (patch) | |
tree | a6c886b5243bb9aa939b0567f583c46699cbfac2 /generic/tclCompile.c | |
parent | 074f543ea2e37afc36c7f281e75575d211bde796 (diff) | |
download | tcl-121105e0ad2f6051d2936d793833b2c263c9b1b4.zip tcl-121105e0ad2f6051d2936d793833b2c263c9b1b4.tar.gz tcl-121105e0ad2f6051d2936d793833b2c263c9b1b4.tar.bz2 |
* generic/tclCompile.c (TclCompileScript):
* tests/compile.test (compile-3.5): corrected wrong test and
behaviour in the earlier fix for [Bug 705406]; Don Porter reported
this as [Bug 735055], and provided the solution.
Fixed in HEAD on 2003-05-09, but backport to 8-4-branch was
wrongly omitted; re-reported as [Bug 916795] by Roy Terry,
diagnosed by dgp.
Diffstat (limited to 'generic/tclCompile.c')
-rw-r--r-- | generic/tclCompile.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/generic/tclCompile.c b/generic/tclCompile.c index 6c619e9..a244be9 100644 --- a/generic/tclCompile.c +++ b/generic/tclCompile.c @@ -11,7 +11,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclCompile.c,v 1.43.2.3 2003/07/18 23:35:38 dgp Exp $ + * RCS: @(#) $Id: tclCompile.c,v 1.43.2.4 2004/03/15 20:34:13 msofer Exp $ */ #include "tclInt.h" @@ -990,6 +990,7 @@ TclCompileScript(interp, script, numBytes, nested, envPtr) && !(cmdPtr->flags & CMD_HAS_EXEC_TRACES) && !(iPtr->flags & DONT_COMPILE_CMDS_INLINE)) { int savedNumCmds = envPtr->numCommands; + unsigned char *savedCodeNext = envPtr->codeNext; code = (*(cmdPtr->compileProc))(interp, &parse, envPtr); @@ -997,11 +998,12 @@ TclCompileScript(interp, script, numBytes, nested, envPtr) goto finishCommand; } else if (code == TCL_OUT_LINE_COMPILE) { /* - * Restore numCommands to its correct value, removing - * any commands compiled before TCL_OUT_LINE_COMPILE - * [Bug 705406] + * Restore numCommands and codeNext to their correct + * values, removing any commands compiled before + * TCL_OUT_LINE_COMPILE [Bugs 705406 and 735055] */ envPtr->numCommands = savedNumCmds; + envPtr->codeNext = savedCodeNext; } else { /* an error */ /* * There was a compilation error, the last |