[MacRuby] #801: The eval is broken when calls eval with Class/Proc's binding.
#801: The eval is broken when calls eval with Class/Proc's binding. ----------------------------------+----------------------------------------- Reporter: watson1978@… | Owner: lsansonetti@… Type: defect | Status: new Priority: blocker | Milestone: Component: MacRuby | Keywords: ----------------------------------+----------------------------------------- Test Script: {{{ #!ruby $ cat test_eval_1.rb p "** 1" a1 = :ng def m a1 = :ok $b1 = binding end m p eval('a1', $b1) #---------- p "** 2" b = proc{ a2 = :ok binding }.call a2 = :ng p eval('a2', b) #---------- p "** 3" INFO = :ng class C1 INFO = :ok def m binding end end p eval('INFO', C1.new.m) #---------- p "** 4" class C2 $b2 = binding end eval(%q{ def m :ok end }, $b2) p C2.new.m }}} Result of Ruby 1.9.1: {{{ $ ruby test_eval_1.rb "** 1" :ok "** 2" :ok "** 3" :ok "** 4" :ok }}} Result of MacRuby Trunk: {{{ $ macruby test_eval_1.rb "** 1" :ok "** 2" :ng "** 3" :ng "** 4" /Users/watson/test/ruby/macruby/test_eval_1.rb:1:in `<main>': private method `m' called for #<C2:0x2000c69a0> (NoMethodError) }}} -- Ticket URL: <http://www.macruby.org/trac/ticket/801> MacRuby <http://macruby.org/>
participants (1)
-
MacRuby