I finally found the definition of __set (my tagfile-building recipe was deficient), and, on a hunch, made the tweak shown below, with the following result:
[EMAIL PROTECTED]> ../../parrot tcl.pbc -e 'set a [list a b]; set x $a; set a b; puts $a; puts $x' b a b [EMAIL PROTECTED]> This tweak may break other stuff (I didn't check), so take it with a grain of salt. However, this may be a hint that you are better off using PMCs as values rather than as containers. HTH, -- Bob Rogers http://rgrjr.dyndns.org/ ------------------------------------------------------------------------ Index: runtime/variables.pir =================================================================== --- runtime/variables.pir (revision 13852) +++ runtime/variables.pir (working copy) @@ -227,6 +227,7 @@ .local pmc scalar null scalar scalar = __find_var(name) + goto create_scalar if_null scalar, create_scalar assign scalar, value goto return_scalar