Posted to tcl by venks at Tue Mar 31 23:16:16 GMT 2009view raw

  1. This is on cvs-head as of 4:00 PM Mar. 31, 2009 PDT. The first example
  2. aborts. Changing the name of the coroutine from "::y::run" to "run"
  3. makes it pass.
  4.  
  5. > cat a.tcl
  6. puts [info patchlevel]
  7. set interp [interp create x]
  8. $interp eval {
  9. namespace eval ::y {}
  10. proc ::y::start {} {yield; puts hello}
  11. }
  12. $interp alias ::bgerror ::bgerror
  13. $interp eval [list coroutine ::y::run ::y::start]
  14. interp delete $interp
  15. > tclsh8.6 a.tcl
  16. 8.6b1.1
  17. Argument location tracking table not empty
  18. Abort
  19. > sed -e s/::y::run/run/ < a.tcl > b.tcl
  20. > tclsh8.6 b.tcl
  21. 8.6b1.1
  22. >
  23.