ruby-changes:7815
From: yugui <ko1@a...>
Date: Sun, 14 Sep 2008 13:50:54 +0900 (JST)
Subject: [ruby-changes:7815] Ruby:r19336 (trunk): * object.c (Init_Object): added metameta-class initialization for
yugui 2008-09-14 13:48:56 +0900 (Sun, 14 Sep 2008) New Revision: 19336 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=19336 Log: * object.c (Init_Object): added metameta-class initialization for BasicObject, Object, and Module. The metameta-classes of them are now the metaclass of Class, as the metameta-calss of Class is. * object.c (boot_defmetametaclass): added. Modified files: trunk/ChangeLog trunk/object.c Index: ChangeLog =================================================================== --- ChangeLog (revision 19335) +++ ChangeLog (revision 19336) @@ -1,3 +1,12 @@ +Sun Sep 14 13:48:03 2008 Yuki Sonoda (Yugui) <yugui@y...> + + * object.c (Init_Object): added metameta-class initialization for + BasicObject, Object, and Module. + The metameta-classes of them are now the metaclass of Class, as the + metameta-calss of Class is. + + * object.c (boot_defmetametaclass): added. + Sun Sep 14 10:10:43 2008 Tadayoshi Funaba <tadf@d...> * complex.c (f_{add,mul,sub}): omitted some shortcuts for preserve Index: object.c =================================================================== --- object.c (revision 19335) +++ object.c (revision 19336) @@ -2369,6 +2369,12 @@ return obj; } +static void +boot_defmetametaclass(VALUE klass, VALUE metametaclass) +{ + RBASIC(RBASIC(klass)->klass)->klass = metametaclass; +} + /* * Document-class: Class * @@ -2467,6 +2473,9 @@ metaclass = rb_make_metaclass(rb_cObject, metaclass); metaclass = rb_make_metaclass(rb_cModule, metaclass); metaclass = rb_make_metaclass(rb_cClass, metaclass); + boot_defmetametaclass(rb_cModule, metaclass); + boot_defmetametaclass(rb_cObject, metaclass); + boot_defmetametaclass(rb_cBasicObject, metaclass); rb_define_private_method(rb_cBasicObject, "initialize", rb_obj_dummy, 0); rb_define_alloc_func(rb_cBasicObject, rb_class_allocate_instance); -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/