mirror of
https://github.com/ruby/ruby.git
synced 2025-09-16 17:14:01 +02:00
merge revision(s) 44198: [Backport #9236]
* proc.c (mnew_from_me): method by respond_to_missing? should be owned by the original class. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@44366 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
f0f3821be7
commit
aadf98f11f
4 changed files with 20 additions and 3 deletions
|
@ -1,3 +1,8 @@
|
|||
Mon Dec 23 22:37:01 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
||||
|
||||
* proc.c (mnew_from_me): method by respond_to_missing? should be
|
||||
owned by the original class.
|
||||
|
||||
Sun Dec 22 22:56:06 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
||||
|
||||
* proc.c (mnew_from_me): achieve the original defined_class from
|
||||
|
|
1
proc.c
1
proc.c
|
@ -955,6 +955,7 @@ mnew(VALUE klass, VALUE obj, ID id, VALUE mclass, int scope)
|
|||
def->type = VM_METHOD_TYPE_MISSING;
|
||||
def->original_id = id;
|
||||
def->alias_count = 0;
|
||||
defined_class = klass;
|
||||
|
||||
meb.flag = 0;
|
||||
meb.mark = 0;
|
||||
|
|
|
@ -189,6 +189,17 @@ class TestMethod < Test::Unit::TestCase
|
|||
assert_equal(c, c2.instance_method(:foo).owner)
|
||||
end
|
||||
|
||||
def test_owner_missing
|
||||
c = Class.new do
|
||||
def respond_to_missing?(name, bool)
|
||||
name == :foo
|
||||
end
|
||||
end
|
||||
c2 = Class.new(c)
|
||||
assert_equal(c, c.new.method(:foo).owner)
|
||||
assert_equal(c2, c2.new.method(:foo).owner)
|
||||
end
|
||||
|
||||
def test_receiver_name_owner
|
||||
o = Object.new
|
||||
def o.foo; end
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
#define RUBY_VERSION "2.0.0"
|
||||
#define RUBY_RELEASE_DATE "2013-12-22"
|
||||
#define RUBY_PATCHLEVEL 371
|
||||
#define RUBY_RELEASE_DATE "2013-12-23"
|
||||
#define RUBY_PATCHLEVEL 372
|
||||
|
||||
#define RUBY_RELEASE_YEAR 2013
|
||||
#define RUBY_RELEASE_MONTH 12
|
||||
#define RUBY_RELEASE_DAY 22
|
||||
#define RUBY_RELEASE_DAY 23
|
||||
|
||||
#include "ruby/version.h"
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue