diff options
| author | dgp@users.sourceforge.net <dgp> | 2013-09-19 13:13:00 (GMT) | 
|---|---|---|
| committer | dgp@users.sourceforge.net <dgp> | 2013-09-19 13:13:00 (GMT) | 
| commit | 6b2c1df724021424d23a41e7ed0e06415509ce11 (patch) | |
| tree | 8b1952594bfe664131235a2cdd9ad38ffe3bee56 /generic/tclCompCmds.c | |
| parent | a699c79914431e471e4f98588e6985df9b486492 (diff) | |
| parent | b81c2a86c4e86f3895fc29489530d11880af2649 (diff) | |
| download | tcl-6b2c1df724021424d23a41e7ed0e06415509ce11.zip tcl-6b2c1df724021424d23a41e7ed0e06415509ce11.tar.gz tcl-6b2c1df724021424d23a41e7ed0e06415509ce11.tar.bz2  | |
Line numbers wrong in compiled [dict set].
Diffstat (limited to 'generic/tclCompCmds.c')
| -rw-r--r-- | generic/tclCompCmds.c | 7 | 
1 files changed, 3 insertions, 4 deletions
diff --git a/generic/tclCompCmds.c b/generic/tclCompCmds.c index 572331b..e26f29c 100644 --- a/generic/tclCompCmds.c +++ b/generic/tclCompCmds.c @@ -839,7 +839,7 @@ TclCompileDictSetCmd(      CompileEnv *envPtr)		/* Holds resulting instructions. */  {      Tcl_Token *tokenPtr; -    int numWords, i, dictVarIndex; +    int i, dictVarIndex;      DefineLineInformation;	/* TIP #280 */      Tcl_Token *varTokenPtr; @@ -868,8 +868,7 @@ TclCompileDictSetCmd(       */      tokenPtr = TokenAfter(varTokenPtr); -    numWords = parsePtr->numWords-1; -    for (i=1 ; i<numWords ; i++) { +    for (i=2 ; i< parsePtr->numWords ; i++) {  	CompileWord(envPtr, tokenPtr, interp, i);  	tokenPtr = TokenAfter(tokenPtr);      } @@ -878,7 +877,7 @@ TclCompileDictSetCmd(       * Now emit the instruction to do the dict manipulation.       */ -    TclEmitInstInt4( INST_DICT_SET, numWords-2,		envPtr); +    TclEmitInstInt4( INST_DICT_SET, parsePtr->numWords-3,	envPtr);      TclEmitInt4(     dictVarIndex,			envPtr);      TclAdjustStackDepth(-1, envPtr);      return TCL_OK;  | 
