Posted to tcl by egavilan at Fri Jan 27 20:40:35 GMT 2012view raw

  1. proc cproc {name arglist body} {
  2. set nbody [format {
  3. if {[catch {%s} res opt]} {
  4. chan puts stderr "Error in %s: $res"
  5. exit 99
  6. }
  7. return -options $opt $res
  8. } $body $name]
  9. uplevel 1 [list proc $name $arglist $nbody]
  10. }