Backport #9403

Updated by Nobuyoshi Nakada over 1 year ago

`__callee__` __callee__ always contains the value `:call` :call in any method of a class derived from `Delegator`. 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
```

Back