Issue #9403 has been updated by Nobuyoshi Nakada. Backport changed from 1.9.3: UNKNOWN, 2.0.0: UNKNOWN, 2.1: UNKNOWN to 1.9.3: DONTNEED, 2.0.0: DONTNEED, 2.1: REQUIRED ---------------------------------------- Bug #9403: Incorrect __callee__ in delegate classes https://bugs.ruby-lang.org/issues/9403#change-44396 * Author: Avdi Grimm * Status: Closed * Priority: Normal * Assignee: * Category: * Target version: * ruby -v: ruby 2.2.0dev (2014-01-12 trunk 44574) [x86_64-linux] * Backport: 1.9.3: DONTNEED, 2.0.0: DONTNEED, 2.1: REQUIRED ---------------------------------------- `__callee__` always contains the value `:call` in any method of a class derived from `Delegator`. This is new behavior in 2.1, and is present in trunk. Using the attached script, here's the output on 1.9.3, 2.0, 2.1, and trunk: ``` Ruby 1.9.3 __callee__ in Proxy#foo: foo __callee__ in Target#foo: foo __callee__ in DelegateClassProxy#foo: foo __callee__ in Target#foo: foo Ruby 2.0.0 __callee__ in Proxy#foo: foo __callee__ in Target#foo: foo __callee__ in DelegateClassProxy#foo: foo __callee__ in Target#foo: foo Ruby 2.1.0 __callee__ in Proxy#foo: call __callee__ in Target#foo: foo __callee__ in DelegateClassProxy#foo: call __callee__ in Target#foo: foo Ruby 2.2.0 __callee__ in Proxy#foo: call __callee__ in Target#foo: foo __callee__ in DelegateClassProxy#foo: call __callee__ in Target#foo: foo ``` ---Files-------------------------------- delegate-callee.rb (452 Bytes) -- http://bugs.ruby-lang.org/