summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMiguel Sofer <miguel.sofer@gmail.com>2005-04-09 21:14:22 (GMT)
committerMiguel Sofer <miguel.sofer@gmail.com>2005-04-09 21:14:22 (GMT)
commita2781456a8073fc4a0496514c9a1d9c9a5764c80 (patch)
tree8b12c197148fb5ded8d658aa9f9418c5b0460301
parente2c08535f035fb77e79ea66ff3f19ae5b183a6dc (diff)
downloadtcl-a2781456a8073fc4a0496514c9a1d9c9a5764c80.zip
tcl-a2781456a8073fc4a0496514c9a1d9c9a5764c80.tar.gz
tcl-a2781456a8073fc4a0496514c9a1d9c9a5764c80.tar.bz2
fix in last commit
-rw-r--r--generic/tclExecute.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/generic/tclExecute.c b/generic/tclExecute.c
index 726c024..fcb1322 100644
--- a/generic/tclExecute.c
+++ b/generic/tclExecute.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: tclExecute.c,v 1.180 2005/04/09 21:12:36 msofer Exp $
+ * RCS: @(#) $Id: tclExecute.c,v 1.181 2005/04/09 21:14:22 msofer Exp $
*/
#include "tclInt.h"
@@ -5061,6 +5061,12 @@ TclExecuteByteCode(interp, codePtr)
abnormalReturn:
{
+ Tcl_Obj **initTosPtr = eePtr->stackPtr + initStackTop;
+ while (tosPtr > initTosPtr) {
+ Tcl_Obj *objPtr = POP_OBJECT();
+ TclDecrRefCount(objPtr);
+ }
+
/*
* Clear all expansions.
*/
@@ -5070,11 +5076,6 @@ TclExecuteByteCode(interp, codePtr)
TclDecrRefCount(expandNestList);
expandNestList = objPtr;
}
- Tcl_Obj **initTosPtr = eePtr->stackPtr + initStackTop;
- while (tosPtr > initTosPtr) {
- Tcl_Obj *objPtr = POP_OBJECT();
- TclDecrRefCount(objPtr);
- }
if (tosPtr < initTosPtr) {
fprintf(stderr, "\nTclExecuteByteCode: abnormal return at pc %u: stack top %d < entry stack top %d\n",
(unsigned int)(pc - codePtr->codeStart),