Issue #5527 has been updated by Koichi Sasada.

Category set to core
Status changed from Open to Assigned
Assignee set to 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?

----------------------------------------
Bug #5527: set_trace_func binding incorrect
https://bugs.ruby-lang.org/issues/5527

Author: Thomas Sawyer
Status: Assigned
Priority: Normal
Assignee: Koichi Sasada
Category: core
Target version: 2.0.0
ruby -v: ruby 1.9.3dev (2011-09-23 revision 33323) [x86_64-linux] 


set_trace_func seems to be broken. I traced the issue to the binding
(`b` below). 

  $ 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.



-- 
http://bugs.ruby-lang.org/