なかだです。

At Thu, 26 Jun 2003 23:27:09 +0900,
Yukihiro Matsumoto wrote:
> |> コードの本流と GC 対策はキッチリ分かれてるほうが読みやすいので、
> |> 「変更する」に一票入れます。
> |
> |あおきさんがいうとなんか説得力あるかも。
> 
> 仮にそうするならclass_tblは残して、Object->iv_tblとclass_tbl
> の両方に登録するのがよいのでしょうね。

うっかり忘れるとこでした。variable.cの分は[ruby-dev:20454]と同
じなので省略。


Index: class.c =================================================================== RCS file: /cvs/ruby/src/ruby/class.c,v retrieving revision 1.70 diff -u -2 -p -r1.70 class.c --- class.c 26 Jun 2003 12:34:51 -0000 1.70 +++ class.c 26 Jun 2003 19:09:41 -0000 @@ -214,4 +214,5 @@ rb_define_class(name, super) klass = rb_define_class_id(id, super); st_add_direct(rb_class_tbl, id, klass); + rb_const_set(rb_cObject, id, klass); rb_class_inherited(super, klass); @@ -293,4 +294,5 @@ rb_define_module(name) module = rb_define_module_id(id); st_add_direct(rb_class_tbl, id, module); + rb_const_set(rb_cObject, id, module); return module; Index: object.c =================================================================== RCS file: /cvs/ruby/src/ruby/object.c,v retrieving revision 1.121 diff -u -2 -p -r1.121 object.c --- object.c 21 Jun 2003 14:51:21 -0000 1.121 +++ object.c 26 Jun 2003 19:07:15 -0000 @@ -1342,4 +1342,5 @@ boot_defclass(name, super) rb_name_class(obj, id); st_add_direct(rb_class_tbl, id, obj); + rb_const_set((rb_cObject ? rb_cObject : obj), id, obj); return obj; }
-- --- 僕の前にBugはない。 --- 僕の後ろにBugはできる。 中田 伸悦