# expected: 100 999 proc with-temp-var {varname tempval body} { upvar 1 $varname v set saved $v set v $tempval uplevel 1 $body set v $saved } set x 100 with-temp-var x 999 { set captured $x } list $x $captured