Posted to tcl by aspect at Fri Mar 01 22:49:16 GMT 2024view pretty
#!/usr/bin/env tclsh # # set interp [interp create] $interp eval { proc Try {script} { list [catch {uplevel #0 $script} e o] $e $o } } proc Call {interp script} { lassign [$interp eval [list Try $script]] rc res opts return -code $rc -options $opts $res } proc putl args { puts $args } interp bgerror {} {putl bgerror} after 0 {Call $interp {expr 1/0}} after 100 {incr forever} vwait forever puts done