diff options
-rw-r--r-- | ChangeLog | 1 | ||||
-rw-r--r-- | class.c | 2 | ||||
-rw-r--r-- | object.c | 1 |
3 files changed, 2 insertions, 2 deletions
@@ -5,6 +5,7 @@ Thu Dec 13 23:14:17 2012 Shugo Maeda <shugo@ruby-lang.org> See [ruby-core:50871] for details. Thu Dec 13 23:10:52 Charlie Somerville <charlie@charliesomerville.com> + * object.c (Init_Object): use rb_mod_init_copy for Class#initialize_copy * class.c (rb_class_init_copy): rename to class_init_copy_check, performs type checks on arguments to prevent reinitialization of initialized class @@ -177,7 +177,7 @@ class_init_copy_check(VALUE clone, VALUE orig) VALUE rb_mod_init_copy(VALUE clone, VALUE orig) { - if(RB_TYPE_P(clone, T_CLASS)) { + if (RB_TYPE_P(clone, T_CLASS)) { class_init_copy_check(clone, orig); } rb_obj_init_copy(clone, orig); @@ -3101,7 +3101,6 @@ Init_Object(void) rb_define_method(rb_cClass, "allocate", rb_obj_alloc, 0); rb_define_method(rb_cClass, "new", rb_class_new_instance, -1); rb_define_method(rb_cClass, "initialize", rb_class_initialize, -1); - rb_define_method(rb_cClass, "initialize_copy", rb_mod_init_copy, 1); /* in class.c */ rb_define_method(rb_cClass, "superclass", rb_class_superclass, 0); rb_define_alloc_func(rb_cClass, rb_class_s_alloc); rb_undef_method(rb_cClass, "extend_object"); |