diff options
author | dkf <donal.k.fellows@manchester.ac.uk> | 2007-09-08 22:36:58 (GMT) |
---|---|---|
committer | dkf <donal.k.fellows@manchester.ac.uk> | 2007-09-08 22:36:58 (GMT) |
commit | 9759bbcba71f400d022a28af45b8fa2a2fe26cc9 (patch) | |
tree | e5d893baaa622d3fde69b26c87e513dbb2ece6c1 /generic/tclExecute.c | |
parent | 700d951d9c38975ec0ecebf81e041ba444d0806b (diff) | |
download | tcl-9759bbcba71f400d022a28af45b8fa2a2fe26cc9.zip tcl-9759bbcba71f400d022a28af45b8fa2a2fe26cc9.tar.gz tcl-9759bbcba71f400d022a28af45b8fa2a2fe26cc9.tar.bz2 |
Fix [Bug 1786481]
Diffstat (limited to 'generic/tclExecute.c')
-rw-r--r-- | generic/tclExecute.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/generic/tclExecute.c b/generic/tclExecute.c index 52f70a3..87b1024 100644 --- a/generic/tclExecute.c +++ b/generic/tclExecute.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: tclExecute.c,v 1.329 2007/09/05 21:31:02 dgp Exp $ + * RCS: @(#) $Id: tclExecute.c,v 1.330 2007/09/08 22:36:59 dkf Exp $ */ #include "tclInt.h" @@ -6724,6 +6724,9 @@ TclExecuteByteCode( } if (valPtr == NULL) { Tcl_DictObjRemove(interp, dictPtr, keyPtrPtr[i]); + } else if (dictPtr == valPtr) { + Tcl_DictObjPut(interp, dictPtr, keyPtrPtr[i], + Tcl_DuplicateObj(valPtr)); } else { Tcl_DictObjPut(interp, dictPtr, keyPtrPtr[i], valPtr); } |