====== proc ?append {v_name args} { upvar 1 $v_name v if {![info exists v]} { error "can't read \"$v_name\": no such variable" } append v [join $args ""] } ;# GPS ====== [DKF]: I've updated the code above to match the calling convention for [append] [MC]: I've updated the code to return the value of $val and to give the same error message if you try to append to the name of an array, like [append] does :-) [AMG]: Simplified. ---- See also [?set], [?lappend] <> Command