* hash.c (rb_hash_become): Hash#become should check added
self-assignment. * class.c (rb_make_metaclass): metaclass of a superclass may be NULL at boot time. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2903 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
56201383cd
commit
70dc199fdd
@ -1,3 +1,11 @@
|
|||||||
|
Sat Sep 28 10:40:44 2002 Yukihiro Matsumoto <matz@ruby-lang.org>
|
||||||
|
|
||||||
|
* hash.c (rb_hash_become): Hash#become should check added
|
||||||
|
self-assignment.
|
||||||
|
|
||||||
|
* class.c (rb_make_metaclass): metaclass of a superclass may be
|
||||||
|
NULL at boot time.
|
||||||
|
|
||||||
Sat Sep 28 09:50:03 2002 KONISHI Hiromasa <konishih@fd6.so-net.ne.jp>
|
Sat Sep 28 09:50:03 2002 KONISHI Hiromasa <konishih@fd6.so-net.ne.jp>
|
||||||
|
|
||||||
* ext/extmk.rb: The condition judgment without necessity was deleted.
|
* ext/extmk.rb: The condition judgment without necessity was deleted.
|
||||||
|
7
class.c
7
class.c
@ -152,7 +152,12 @@ rb_make_metaclass(obj, super)
|
|||||||
RCLASS(klass)->super = RBASIC(rb_class_real(RCLASS(obj)->super))->klass;
|
RCLASS(klass)->super = RBASIC(rb_class_real(RCLASS(obj)->super))->klass;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
RBASIC(klass)->klass = RBASIC(rb_class_real(super))->klass;
|
VALUE metasuper = RBASIC(rb_class_real(super))->klass;
|
||||||
|
|
||||||
|
/* metaclass of a superclass may be NULL at boot time */
|
||||||
|
if (metasuper) {
|
||||||
|
RBASIC(klass)->klass;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return klass;
|
return klass;
|
||||||
|
1
hash.c
1
hash.c
@ -575,6 +575,7 @@ static VALUE
|
|||||||
rb_hash_become(hash, hash2)
|
rb_hash_become(hash, hash2)
|
||||||
VALUE hash, hash2;
|
VALUE hash, hash2;
|
||||||
{
|
{
|
||||||
|
if (hash == hash2) return hash;
|
||||||
hash2 = to_hash(hash2);
|
hash2 = to_hash(hash2);
|
||||||
rb_hash_clear(hash);
|
rb_hash_clear(hash);
|
||||||
st_foreach(RHASH(hash2)->tbl, replace_i, hash);
|
st_foreach(RHASH(hash2)->tbl, replace_i, hash);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user