summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--generic/tclCompExpr.c4
2 files changed, 7 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 6e53d98..52f538c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2007-08-23 Don Porter <dgp@users.sourceforge.net>
+
+ * generic/tclCompExpr.c: Suppress the attempt to convert to
+ numeric when pre-compiling a constant expresion indicates an error.
+
2007-08-22 Miguel Sofer <msofer@users.sf.net>
* generic/tclExecute.c (TEBC): disable the new shortcut to frequent
diff --git a/generic/tclCompExpr.c b/generic/tclCompExpr.c
index b7e3404..74e5528 100644
--- a/generic/tclCompExpr.c
+++ b/generic/tclCompExpr.c
@@ -10,7 +10,7 @@
* See the file "license.terms" for information on usage and redistribution of
* this file, and for a DISCLAIMER OF ALL WARRANTIES.
*
- * RCS: @(#) $Id: tclCompExpr.c,v 1.78 2007/08/22 14:04:16 dgp Exp $
+ * RCS: @(#) $Id: tclCompExpr.c,v 1.79 2007/08/23 17:20:07 dgp Exp $
*/
#include "tclInt.h"
@@ -2307,7 +2307,6 @@ CompileExprTree(
Tcl_InterpState save = Tcl_SaveInterpState(interp, TCL_OK);
if (ExecConstantExprTree(interp, nodes, next, litObjvPtr)
== TCL_OK) {
- convert = 0;
TclEmitPush(TclAddLiteralObj(envPtr,
Tcl_GetObjResult(interp), NULL), envPtr);
} else {
@@ -2331,6 +2330,7 @@ CompileExprTree(
TclStackFree(interp, parsePtr);
}
Tcl_RestoreInterpState(interp, save);
+ convert = 0;
} else {
nodePtr = nodes + next;
}