Posted to tcl by dgp at Thu Nov 06 20:08:04 GMT 2014view pretty
% proc Eval script {uplevel 1 $script} % proc frames {} { set l [info frame] incr l set i 0 while {[incr l -1]} { puts $l:[info frame $i]\n incr i -1 }} % oo::class create A { method foo {} {Eval {my bar}} method bar {} {frames} } ::A % A create a ::a % a foo 6:type proc line 6 cmd {info frame $i} proc ::frames level 0 5:type proc line 1 cmd frames method bar class ::A level 1 4:type eval line 1 cmd {my bar} proc ::Eval 3:type proc line 1 cmd {uplevel 1 $script} proc ::Eval 2:type proc line 1 cmd {Eval {my bar}} method foo class ::A level 2 1:type eval line 1 cmd {a foo} level 3