proc ?lappend {v_name args} { upvar $v_name v if {![info exists v]} { return -code error "expected $v_name to exist!" } foreach val $args { lappend v $val } } [MG] - How does this differ from ''lappend''? Unless I'm missing something (quite possible;) it seems to work exactly the same. . . ---- See also [?set],[?append] ---- [Category Command]