Posted to tcl by pooryorick at Sun Nov 08 05:01:54 GMT 2015view pretty
#grap scriptSplit from http://wiki.tcl.tk/21701 rename proc ::tcl::proc ::tcl::proc proc {name args body} { ::uplevel [::list ::tcl::proc $name $args [::list apply [::list args [ ::string map [::list {${body}} [::list $body]] { ::foreach command [::scriptSplit ${body}] { ::if {[::catch [::list ::uplevel 1 $command] cres copts]} { ::tailcall ::errorhandler $cres $copts } } } ]] [uplevel namespace current]]] }