summaryrefslogtreecommitdiffstats
path: root/generic/tclCompile.c
diff options
context:
space:
mode:
authorMiguel Sofer <miguel.sofer@gmail.com>2004-03-15 20:34:11 (GMT)
committerMiguel Sofer <miguel.sofer@gmail.com>2004-03-15 20:34:11 (GMT)
commit121105e0ad2f6051d2936d793833b2c263c9b1b4 (patch)
treea6c886b5243bb9aa939b0567f583c46699cbfac2 /generic/tclCompile.c
parent074f543ea2e37afc36c7f281e75575d211bde796 (diff)
downloadtcl-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.c10
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