diff options
author | dgp <dgp@users.sourceforge.net> | 2013-09-19 15:05:55 (GMT) |
---|---|---|
committer | dgp <dgp@users.sourceforge.net> | 2013-09-19 15:05:55 (GMT) |
commit | 100b2b2e05bfa69635582926388fe5b9adc6baa3 (patch) | |
tree | 966b73ff43ff8a55beeaa03c75d6b657e49a082f | |
parent | 81c1f15aff0ed7ab5c3e6ff85071787619f7ed45 (diff) | |
parent | 68feed9f4e09c3677ca335a790e197df2bdc5cf5 (diff) | |
download | tcl-100b2b2e05bfa69635582926388fe5b9adc6baa3.zip tcl-100b2b2e05bfa69635582926388fe5b9adc6baa3.tar.gz tcl-100b2b2e05bfa69635582926388fe5b9adc6baa3.tar.bz2 |
Line numbers wrong in compiled [dict update].
-rw-r--r-- | generic/tclCompCmds.c | 2 | ||||
-rw-r--r-- | tests/dict.test | 6 |
2 files changed, 7 insertions, 1 deletions
diff --git a/generic/tclCompCmds.c b/generic/tclCompCmds.c index 45e856f..9829b9c 100644 --- a/generic/tclCompCmds.c +++ b/generic/tclCompCmds.c @@ -1633,7 +1633,7 @@ TclCompileDictUpdateCmd( infoIndex = TclCreateAuxData(duiPtr, &tclDictUpdateInfoType, envPtr); for (i=0 ; i<numVars ; i++) { - CompileWord(envPtr, keyTokenPtrs[i], interp, i); + CompileWord(envPtr, keyTokenPtrs[i], interp, 2*i+2); } TclEmitInstInt4( INST_LIST, numVars, envPtr); TclEmitInstInt4( INST_DICT_UPDATE_START, dictIndex, envPtr); diff --git a/tests/dict.test b/tests/dict.test index f8d62f1..797ab46 100644 --- a/tests/dict.test +++ b/tests/dict.test @@ -1893,6 +1893,12 @@ test dict-23.7 {CompileWord OBOE} { } {} }} [linenumber] } 2 +test dict-23.8 {CompileWord OBOE} { + apply {n { + dict update foo {*}{ + } [return [incr n -[linenumber]]] x {} + }} [linenumber] +} 1 rename linenumber {} test dict-24.22 {dict map results (non-compiled)} { |