ruby-changes:14478
From: marcandre <ko1@a...>
Date: Wed, 13 Jan 2010 11:58:03 +0900 (JST)
Subject: [ruby-changes:14478] Ruby:r26314 (trunk): * object.c (rb_class_initialize): Make sure BasicObject doesn't get initialized twice
marcandre 2010-01-13 11:57:48 +0900 (Wed, 13 Jan 2010) New Revision: 26314 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=26314 Log: * object.c (rb_class_initialize): Make sure BasicObject doesn't get initialized twice [ruby-core:27577] * class.c (rb_class_init_copy): ditto Modified files: trunk/ChangeLog trunk/class.c trunk/object.c Index: ChangeLog =================================================================== --- ChangeLog (revision 26313) +++ ChangeLog (revision 26314) @@ -1,3 +1,10 @@ +Wed Jan 13 11:57:38 2010 Marc-Andre Lafortune <ruby-core@m...> + + * object.c (rb_class_initialize): Make sure BasicObject doesn't get + initialized twice [ruby-core:27577] + + * class.c (rb_class_init_copy): ditto + Wed Jan 13 06:54:44 2010 Nobuyoshi Nakada <nobu@r...> * configure.in: check for if struct timezone is defined. Index: object.c =================================================================== --- object.c (revision 26313) +++ object.c (revision 26314) @@ -1427,7 +1427,7 @@ { VALUE super; - if (RCLASS_SUPER(klass) != 0) { + if (RCLASS_SUPER(klass) != 0 || klass == rb_cBasicObject) { rb_raise(rb_eTypeError, "already initialized class"); } if (argc == 0) { Index: class.c =================================================================== --- class.c (revision 26313) +++ class.c (revision 26314) @@ -180,7 +180,7 @@ VALUE rb_class_init_copy(VALUE clone, VALUE orig) { - if (RCLASS_SUPER(clone) != 0) { + if (RCLASS_SUPER(clone) != 0 || clone == rb_cBasicObject) { rb_raise(rb_eTypeError, "already initialized class"); } if (FL_TEST(orig, FL_SINGLETON)) { -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/