Posted to tcl by colin at Wed Nov 17 23:34:17 GMT 2010view raw
- proc reader {} {
- ::yield
- }
- oo::class create ::Lamb {
- method reader {} {
- ::yield
- variable var
- puts stderr "Var: $var / [namespace current] / [namespace exists [namespace current]]"
- }
- constructor {} {
- variable var 1
- set ::ns [info object namespace [self]]
- ::coroutine ::meh [self] reader ;# will crash
- #::coroutine ::meh reader ;# will not crash
- }
- }
- [::Lamb new] destroy
- foreach o [info class instances ::Lamb] {
- catch {info object namespace $o} e eo
- puts "1: $e ($eo)"
- }
- puts stderr "NS: [namespace exists $ns]"
- ::meh die
- puts stderr "NS: [namespace exists $ns]"
- foreach o [info class instances ::Lamb] {
- catch {info object namespace $o} e eo
- puts "2: $e ($eo)"
- }