summaryrefslogtreecommitdiffstats
path: root/tests/var.test
diff options
context:
space:
mode:
authordgp <dgp@users.sourceforge.net>2007-03-13 15:59:51 (GMT)
committerdgp <dgp@users.sourceforge.net>2007-03-13 15:59:51 (GMT)
commit121ca6e85ce19edbcd5faf64870f619c2e7a6b5b (patch)
tree4d389b4a06d153cf1f155302bf79074e9fe3ee43 /tests/var.test
parent2f63836c80c7425913f22b2769480e242a33406e (diff)
downloadtcl-121ca6e85ce19edbcd5faf64870f619c2e7a6b5b.zip
tcl-121ca6e85ce19edbcd5faf64870f619c2e7a6b5b.tar.gz
tcl-121ca6e85ce19edbcd5faf64870f619c2e7a6b5b.tar.bz2
* generic/tclVar.c (TclArraySet): Re-fetch pointers for the list
* tests/var.test (var-17.1): argument of [array set] each time through the loop as defense against possible shimmer issues. [Bug 1669489].
Diffstat (limited to 'tests/var.test')
-rw-r--r--tests/var.test14
1 files changed, 13 insertions, 1 deletions
diff --git a/tests/var.test b/tests/var.test
index 64f52707..9f163e8 100644
--- a/tests/var.test
+++ b/tests/var.test
@@ -14,7 +14,7 @@
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
#
-# RCS: @(#) $Id: var.test,v 1.20.2.3 2004/09/30 22:45:17 dgp Exp $
+# RCS: @(#) $Id: var.test,v 1.20.2.4 2007/03/13 15:59:53 dgp Exp $
#
if {[lsearch [namespace children] ::tcltest] == -1} {
@@ -701,6 +701,18 @@ test var-16.1 {CallVarTraces: save/restore interp error state: 1038021} {
set errorInfo
} bar
+test var-17.1 {TclArraySet [Bug 1669489]} -setup {
+ unset -nocomplain ::a
+} -body {
+ namespace eval :: {
+ set elements {1 2 3 4}
+ trace add variable a write {string length $elements ;#}
+ array set a $elements
+ }
+} -cleanup {
+ unset -nocomplain ::a ::elements
+} -result {}
+
catch {namespace delete ns}
catch {unset arr}
catch {unset v}