Evaluated proc setval {list name args} { if { [set i [lsearch $list $name]] >= 0 } { lreplace $list [+ 1 $i] [+ 1 $i] [args] } { lappend list $name [args] } }