summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--parse.y1
-rw-r--r--struct.c3
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 <matz@ruby-lang.org>
+
+ * 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 <matz@ruby-lang.org>
* 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; i<RARRAY(member)->len; 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);