set_trace_func binding incorrect
set_trace_func seems to be broken. I traced the issue to the binding
$ cat t.rb fn = lambda do |e, f, l, m, b, k| p Kernel.eval('self', b) end set_trace_func(fn) " a ".strip $ rbenv shell 1.8.7-p352 $ ruby t.rb main " a " " a " $ rbenv shell 1.9.3-rc1 $ ruby t.rb main main main main
It would seem the binding has somehow become the binding-of-caller, rather than receiver.
#1 [ruby-core:43204] Updated by ko1 (Koichi Sasada) about 6 years ago
- Category set to core
- Status changed from Open to Assigned
- Assignee set to ko1 (Koichi Sasada)
- Target version set to 2.0.0
Maybe it is implicit incompatibility between 1.8 and 1.9. No one can find out about it.
What should we do on 2.0?