The [downlevel] command (currently available in [Eagle] only), is used to evaluate a script in the variable context that existed just prior to the previous [uplevel] command. Example #1: proc deepdown {} { lappend a 1 uplevel 1 { lappend a 2 downlevel { lappend a 3 uplevel #0 { lappend a 4 downlevel { lappend a 5 } } } } return $a } deepdown; # returns 1 3 5 Example #2: proc deepdown2 {} { lappend a [info level]; # 1 uplevel 1 { lappend a [info level]; # 0 downlevel { lappend a [info level]; # 1 uplevel #0 { lappend a [info level]; # 0 downlevel { lappend a [info level]; # 1 } } } } return $a } deepdown2; # returns 1 1 1 <> Command | Introspection | Control Structure