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