summaryrefslogtreecommitdiffstats
path: root/generic/tclCompile.c
diff options
context:
space:
mode:
authordonal.k.fellows@manchester.ac.uk <dkf>2010-10-20 13:34:09 (GMT)
committerdonal.k.fellows@manchester.ac.uk <dkf>2010-10-20 13:34:09 (GMT)
commit169e540a270f8555a3760242afff91aa04faa22b (patch)
treee6696e5723dc7f6b5911fdaaec323e228b564d7a /generic/tclCompile.c
parentbe446a434c54f27e647ad72c25886775770b239f (diff)
downloadtcl-169e540a270f8555a3760242afff91aa04faa22b.zip
tcl-169e540a270f8555a3760242afff91aa04faa22b.tar.gz
tcl-169e540a270f8555a3760242afff91aa04faa22b.tar.bz2
* generic/tclCompCmds.c (TclCompileDictForCmd): Update the compilation
* generic/tclCompile.c (tclInstructionTable): of [dict for] so that * generic/tclExecute.c (TEBCresume): it no longer makes any use of INST_DICT_DONE now that's not needed, and make it clearer in the implementation of the instruction that it's just a deprecated form of unset operation. Followup to my commit of 2010-10-16.
Diffstat (limited to 'generic/tclCompile.c')
-rw-r--r--generic/tclCompile.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/generic/tclCompile.c b/generic/tclCompile.c
index dd92f27..7781066 100644
--- a/generic/tclCompile.c
+++ b/generic/tclCompile.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: tclCompile.c,v 1.191 2010/10/13 17:10:57 dgp Exp $
+ * RCS: @(#) $Id: tclCompile.c,v 1.192 2010/10/20 13:34:11 dkf Exp $
*/
#include "tclInt.h"
@@ -343,14 +343,16 @@ InstructionDesc const tclInstructionTable[] = {
* Stack: ... key valueToAppend => ... newDict */
{"dictFirst", 5, +2, 1, {OPERAND_LVT4}},
/* Begin iterating over the dictionary, using the local scalar
- * indicated by op4 to hold the iterator state. If doneBool is true,
- * dictDone *must* be called later on.
+ * indicated by op4 to hold the iterator state. The local scalar
+ * should not refer to a named variable as the value is not wholly
+ * managed correctly.
* Stack: ... dict => ... value key doneBool */
{"dictNext", 5, +3, 1, {OPERAND_LVT4}},
/* Get the next iteration from the iterator in op4's local scalar.
* Stack: ... => ... value key doneBool */
{"dictDone", 5, 0, 1, {OPERAND_LVT4}},
- /* Terminate the iterator in op4's local scalar. */
+ /* Terminate the iterator in op4's local scalar. Use unsetScalar
+ * instead (with 0 for flags). */
{"dictUpdateStart", 9, 0, 2, {OPERAND_LVT4, OPERAND_AUX4}},
/* Create the variables (described in the aux data referred to by the
* second immediate argument) to mirror the state of the dictionary in