mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
merges r28453 and r28454 from trunk into ruby_1_9_2.
-- * class.c (rb_mod_init_copy): when class is dup'ed, a metaclass of the class should be attached to the dup'ed class, not the original class. [ruby-core:30843] [Bug #3461] -- * bootstraptest/test_class.rb: add a test for [ruby-core:30843]. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_2@28503 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
391fb9ecbf
commit
2a43e8983d
3 changed files with 18 additions and 0 deletions
10
ChangeLog
10
ChangeLog
|
@ -1,3 +1,13 @@
|
|||
Mon Jun 28 03:12:03 2010 Yusuke Endoh <mame@tsg.ne.jp>
|
||||
|
||||
* bootstraptest/test_class.rb: add a test for [ruby-core:30843].
|
||||
|
||||
Mon Jun 28 02:43:35 2010 Yusuke Endoh <mame@tsg.ne.jp>
|
||||
|
||||
* class.c (rb_mod_init_copy): when class is dup'ed, a metaclass of the
|
||||
class should be attached to the dup'ed class, not the original
|
||||
class. [ruby-core:30843] [Bug #3461]
|
||||
|
||||
Sat Jun 26 07:59:18 2010 Masaki Suketa <masaki.suketa@nifty.ne.jp>
|
||||
|
||||
* test/win32ole/test_win32ole_method.rb (test_offset_vtbl): check
|
||||
|
|
|
@ -150,3 +150,10 @@ assert_match /::C\z/, %q{
|
|||
Module.new{|m| c = class m::C; name; end}
|
||||
c
|
||||
}, '[ruby-dev:38456]'
|
||||
|
||||
assert_normal_exit %q{
|
||||
s = Symbol.dup
|
||||
class << s
|
||||
end
|
||||
s.allocate.to_s
|
||||
}, '[ruby-core:30843]'
|
||||
|
|
1
class.c
1
class.c
|
@ -146,6 +146,7 @@ rb_mod_init_copy(VALUE clone, VALUE orig)
|
|||
rb_obj_init_copy(clone, orig);
|
||||
if (!FL_TEST(CLASS_OF(clone), FL_SINGLETON)) {
|
||||
RBASIC(clone)->klass = rb_singleton_class_clone(orig);
|
||||
rb_singleton_class_attached(RBASIC(clone)->klass, (VALUE)clone);
|
||||
}
|
||||
RCLASS_SUPER(clone) = RCLASS_SUPER(orig);
|
||||
if (RCLASS_IV_TBL(orig)) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue