#1090: Method persists after undef --------------------------------+------------------------------------------- Reporter: mjkaelbling@… | Owner: lsansonetti@… Type: defect | Status: new Priority: major | Milestone: MacRuby 0.8 Component: MacRuby | Keywords: undef undef_method --------------------------------+------------------------------------------- Below, Fixnum#x was undefined prior to 2.x but x_2 is still output, and the second attempt to undefine it raises NameError. $ macruby -v -e 'class Fixnum; def x; puts "x_#{self}" end end; 1.x; class Fixnum; undef x end; 2.x; class Fixnum; undef x end' {{{ MacRuby 0.8 (ruby 1.9.2) [universal-darwin10.0, x86_64] x_1 x_2 -e:1:in `<main>': undefined method `x' for class `Fixnum' (NameError) }}} Note: NoMethodError is produced if we immediately undefine Fixnum#x, the intervening usage 1.x appears to be critical in reproducing the error behavior above. $ macruby -v -e 'class Fixnum; def x; puts "x_#{self}" end end; class Fixnum; undef x end; 2.x; class Fixnum; undef x end' {{{ MacRuby 0.8 (ruby 1.9.2) [universal-darwin10.0, x86_64] -e:1:in `<main>': undefined method `x' for 2:Fixnum (NoMethodError) }}} The same behavior is visible in macirb -- DietRB (0.6.1) -- Ticket URL: <http://www.macruby.org/trac/ticket/1090> MacRuby <http://macruby.org/>