summaryrefslogtreecommitdiffstats
path: root/generic/tclCompCmds.c
diff options
context:
space:
mode:
authordkf <donal.k.fellows@manchester.ac.uk>2010-02-17 15:59:24 (GMT)
committerdkf <donal.k.fellows@manchester.ac.uk>2010-02-17 15:59:24 (GMT)
commit0198d4b07964264dc869e7b3ec88e8b7fd25d18f (patch)
treeb368547c3430a89c31c7cdff7e8c4c163646b9a4 /generic/tclCompCmds.c
parent7db448ffbc8f56ff7e50d542ff112e61fa2f6d94 (diff)
downloadtcl-0198d4b07964264dc869e7b3ec88e8b7fd25d18f.zip
tcl-0198d4b07964264dc869e7b3ec88e8b7fd25d18f.tar.gz
tcl-0198d4b07964264dc869e7b3ec88e8b7fd25d18f.tar.bz2
Fix error in stack depth calculation for [dict update], correct misleading
comment in description of opcode.
Diffstat (limited to 'generic/tclCompCmds.c')
-rw-r--r--generic/tclCompCmds.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/generic/tclCompCmds.c b/generic/tclCompCmds.c
index b9cf5f6..27b41a8 100644
--- a/generic/tclCompCmds.c
+++ b/generic/tclCompCmds.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: tclCompCmds.c,v 1.162 2010/02/13 18:11:05 dkf Exp $
+ * RCS: @(#) $Id: tclCompCmds.c,v 1.163 2010/02/17 15:59:24 dkf Exp $
*/
#include "tclInt.h"
@@ -978,6 +978,7 @@ TclCompileDictUpdateCmd(
const char *name;
int i, nameChars, dictIndex, numVars, range, infoIndex;
Tcl_Token **keyTokenPtrs, *dictVarTokenPtr, *bodyTokenPtr, *tokenPtr;
+ int savedStackDepth = envPtr->currStackDepth;
DictUpdateInfo *duiPtr;
JumpFixup jumpFixup;
@@ -1095,7 +1096,9 @@ TclCompileDictUpdateCmd(
TclEmitInstInt4( INST_BEGIN_CATCH4, range, envPtr);
ExceptionRangeStarts(envPtr, range);
+ envPtr->currStackDepth++;
CompileBody(envPtr, bodyTokenPtr, interp);
+ envPtr->currStackDepth = savedStackDepth;
ExceptionRangeEnds(envPtr, range);
/*