Actions
Bug #6981
closedset_trace_func passes strange bindng on method call defined by define_method
Bug #6981:
set_trace_func passes strange bindng on method call defined by define_method
Description
set_trace_func passes strange binding on method call ("call") if invoked method was defined by define_method. Correctly speaking, the caller's binding was passed.
example¶
class C
define_method(:foo){
p:foo
}
def bar
p:bar
end
end
set_trace_func(lambda{|ev, *args|
if ev == 'call'
p eval('self', args[3])
end
})
C.new.foo
#=> main
C.new.bar
#=> #<C:0x2bbc360>
On Ruby 1.8, there is no problem.
Updated by ko1 (Koichi Sasada) almost 13 years ago
- Target version changed from 2.0.0 to 2.6
time up.
Updated by ko1 (Koichi Sasada) about 10 years ago
- Status changed from Open to Closed
Ruby 2.1 solved this issue.
Actions