From: "ko1 (Koichi Sasada)" Date: 2012-11-26T09:28:07+09:00 Subject: [ruby-core:50130] [ruby-trunk - Bug #5527] set_trace_func binding incorrect Issue #5527 has been updated by ko1 (Koichi Sasada). Target version changed from 2.0.0 to next minor no discussion. ---------------------------------------- Bug #5527: set_trace_func binding incorrect https://bugs.ruby-lang.org/issues/5527#change-33916 Author: trans (Thomas Sawyer) Status: Assigned Priority: Normal Assignee: ko1 (Koichi Sasada) Category: core Target version: next minor 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/