summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rw-r--r--generic/tclParse.c4
2 files changed, 8 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index b228166..02aeadc 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2008-09-16 Joe Mistachkin <joe@mistachkin.com>
+
+ * generic/tclParse.c: move TclResetCancellation to be called on
+ returning to level 0, as opposed to it being called on starting a
+ substitution at level 0.
+
2008-09-16 Miguel Sofer <msofer@users.sf.net>
* generic/tclBasic.c: move TclResetCancellation to be called on
diff --git a/generic/tclParse.c b/generic/tclParse.c
index a71c831..787b556 100644
--- a/generic/tclParse.c
+++ b/generic/tclParse.c
@@ -12,7 +12,7 @@
* See the file "license.terms" for information on usage and redistribution of
* this file, and for a DISCLAIMER OF ALL WARRANTIES.
*
- * RCS: @(#) $Id: tclParse.c,v 1.71 2008/07/15 14:13:05 msofer Exp $
+ * RCS: @(#) $Id: tclParse.c,v 1.72 2008/09/17 02:15:32 mistachkin Exp $
*/
#include "tclInt.h"
@@ -2168,7 +2168,6 @@ TclSubstTokens(
Interp *iPtr = (Interp *) interp;
/* TIP #280: Transfer line information to nested command */
- TclResetCancellation(interp, 0);
iPtr->numLevels++;
code = TclInterpReady(interp);
if (code == TCL_OK) {
@@ -2176,6 +2175,7 @@ TclSubstTokens(
0, line);
}
iPtr->numLevels--;
+ TclResetCancellation(interp, 0);
appendObj = Tcl_GetObjResult(interp);
break;
}