Posted to tcl by aspect at Mon Jun 17 22:24:47 GMT 2013view pretty
#!/usr/bin/tclsh # set i [interp create -safe] foreach cmd [$i eval {info commands}] { puts "Hiding $cmd" $i hide $cmd } $i alias unknown metatcl $i proc metatcl {i cmd args} { puts "Invoked in child: $cmd $args" if {$cmd in {"set" "incr" "for" "while" "foreach"}} { return [$i invokehidden $cmd {*}$args] } else { return [$cmd {*}$args] } } $i eval { set x 0 while {$x<10} { incr x puts $x } }