From aac5ff00319e2d215c3dcba557f60595da24bc8d Mon Sep 17 00:00:00 2001 From: matz Date: Thu, 14 Feb 2002 07:49:27 +0000 Subject: * struct.c (Init_Struct): should undefine "allocate" for Struct class (it's redefined in the subclasses). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2068 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 5 +++++ parse.y | 1 - struct.c | 3 ++- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 8b66569f2b..a8214aaba4 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Thu Feb 14 14:13:16 2002 Yukihiro Matsumoto + + * struct.c (Init_Struct): should undefine "allocate" for Struct + class (it's redefined in the subclasses). + Wed Feb 13 17:58:12 2002 Yukihiro Matsumoto * parse.y (stmt): local variable declaration order was changed diff --git a/parse.y b/parse.y index c2594656a1..dcefb3619b 100644 --- a/parse.y +++ b/parse.y @@ -881,7 +881,6 @@ arg : lhs '=' arg int need_negate = Qfalse; if (nd_type($1) == NODE_LIT) { - switch (TYPE($1->nd_lit)) { case T_FIXNUM: case T_FLOAT: diff --git a/struct.c b/struct.c index 0b17eb0302..6a2bb640ab 100644 --- a/struct.c +++ b/struct.c @@ -132,7 +132,7 @@ rb_struct_set(obj, val) member = rb_struct_iv_get(rb_obj_class(obj), "__member__"); if (NIL_P(member)) { - rb_bug("non-initialized struct"); + rb_bug("uninitialized struct"); } rb_struct_modify(obj); for (i=0; ilen; i++) { @@ -568,6 +568,7 @@ Init_Struct() rb_cStruct = rb_define_class("Struct", rb_cObject); rb_include_module(rb_cStruct, rb_mEnumerable); + rb_undef_method(CLASS_OF(rb_cStruct), "allocate"); rb_define_singleton_method(rb_cStruct, "new", rb_struct_s_def, -1); rb_define_method(rb_cStruct, "initialize", rb_struct_initialize, -2); -- cgit v1.2.3