diff options
author | dkf <donal.k.fellows@manchester.ac.uk> | 2010-02-17 15:59:24 (GMT) |
---|---|---|
committer | dkf <donal.k.fellows@manchester.ac.uk> | 2010-02-17 15:59:24 (GMT) |
commit | 0198d4b07964264dc869e7b3ec88e8b7fd25d18f (patch) | |
tree | b368547c3430a89c31c7cdff7e8c4c163646b9a4 /generic/tclCompCmds.c | |
parent | 7db448ffbc8f56ff7e50d542ff112e61fa2f6d94 (diff) | |
download | tcl-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.c | 5 |
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); /* |