Project

General

Profile

Bug #5527

set_trace_func binding incorrect

Added by trans (Thomas Sawyer) over 7 years ago. Updated over 1 year ago.

Status:
Feedback
Priority:
Normal
Target version:
-
ruby -v:
ruby 1.9.3dev (2011-09-23 revision 33323) [x86_64-linux]
[ruby-core:40568]

Description

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.

History

Updated by ko1 (Koichi Sasada) over 7 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?

Updated by ko1 (Koichi Sasada) over 6 years ago

  • Target version changed from 2.0.0 to 2.6

no discussion.

Updated by ko1 (Koichi Sasada) over 2 years ago

  • Status changed from Assigned to Feedback
  • Description updated (diff)

Should we change it?

#4

Updated by naruse (Yui NARUSE) over 1 year ago

  • Target version deleted (2.6)

Also available in: Atom PDF