[MacRuby-devel] [MacRuby] #828: A NameError, raised from evalling, gets the wrong constant name.

MacRuby ruby-noreply at macosforge.org
Thu Aug 5 01:34:54 PDT 2010


#828: A NameError, raised from evalling, gets the wrong constant name.
-------------------------------------+--------------------------------------
 Reporter:  eloy.de.enige@…          |       Owner:  lsansonetti@…        
     Type:  defect                   |      Status:  new                  
 Priority:  blocker                  |   Milestone:                       
Component:  MacRuby                  |    Keywords:  dietrb               
-------------------------------------+--------------------------------------
 {{{
 % macruby -e 'module X; eval("Lost", TOPLEVEL_BINDING); end'
 /Users/eloy/Documents/DEVELOPMENT/MacRuby/interactive-macruby/-e:1:in
 `block': uninitialized constant X::Lost (NameError)
         from /Users/eloy/Documents/DEVELOPMENT/MacRuby/interactive-
 macruby/-e:1:in `<main>'

 % ruby19 -e 'module X; eval("Lost", TOPLEVEL_BINDING); end'
 -e:1:in `eval': uninitialized constant Object::Lost (NameError)
         from -e:1:in `eval'
         from -e:1:in `<module:X>'
         from -e:1:in `<main>'

 % ruby -e 'module X; eval("Lost", TOPLEVEL_BINDING); end'
 -e:1:in `eval': (eval):1: uninitialized constant Lost (NameError)
 }}}

 I should note that on 1.9.3 (trunk), it's changed back to 1.8's behavior,
 which is to report simply ‘Lost’, not prefixed with ‘Object::’. I think we
 should try to do that as well. This is from Thibault on 1.9.3:

 {{{
 $> ruby19 -e 'module X; eval("Lost", TOPLEVEL_BINDING); end'
 <main>:in `<main>': uninitialized constant Lost (NameError)
         from -e:1:in `eval'
         from -e:1:in `<module:X>'
         from -e:1:in `<main>'
 }}}

-- 
Ticket URL: <http://www.macruby.org/trac/ticket/828>
MacRuby <http://macruby.org/>



More information about the MacRuby-devel mailing list