Project

General

Profile

Bug #5527

set_trace_func binding incorrect

Added by trans (Thomas Sawyer) over 5 years ago. Updated 4 months 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

#1 [ruby-core:43204] Updated by ko1 (Koichi Sasada) about 5 years ago

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

#2 [ruby-core:50130] Updated by ko1 (Koichi Sasada) over 4 years ago

  • Target version changed from 2.0.0 to next minor

no discussion.

#3 [ruby-core:79351] Updated by ko1 (Koichi Sasada) 4 months ago

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

Should we change it?

Also available in: Atom PDF