Donal K. Fellows
-
2010-02-11
- status: open --> closed-fixed
==== upvar-3.5 unsetting array elements with upvar FAILED
==== Contents of test case:
proc p1 {} {
set a(0) zeroth
set a(1) first
set a(2) second
p2
array names a
}
proc p2 {} {upvar a(0) x; unset x}
p1
---- Result was:
2 1
---- Result should have been (exact matching):
1 2
==== upvar-3.5 FAILED
==== upvar-3.6 unsetting then resetting array elements with upvar FAILED
==== Contents of test case:
proc p1 {} {
set a(0) zeroth
set a(1) first
set a(2) second
p2
list [array names a] [catch {set a(0)} msg] $msg
}
proc p2 {} {upvar a(0) x; unset x; set x 12345}
p1
---- Result was:
{2 1 0} 0 12345
---- Result should have been (exact matching):
{0 1 2} 0 12345
==== upvar-3.6 FAILED
New hash ordering, I imagine.