diff options
| author | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2002-02-14 07:49:27 +0000 |
|---|---|---|
| committer | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2002-02-14 07:49:27 +0000 |
| commit | c4c13dd09f2550a93d7b1d296d064ee2586d3bb0 (patch) | |
| tree | 78855922da1b79cb8f36a09b8f7898560e92bbd2 | |
| parent | 008d9f3e4a878ea3d91a66601996d2c42b079598 (diff) | |
| download | ruby-c4c13dd09f2550a93d7b1d296d064ee2586d3bb0.tar.gz ruby-c4c13dd09f2550a93d7b1d296d064ee2586d3bb0.tar.xz ruby-c4c13dd09f2550a93d7b1d296d064ee2586d3bb0.zip | |
* struct.c (Init_Struct): should undefine "allocate" for Struct
class (it's redefined in the subclasses).
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@2068 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
| -rw-r--r-- | ChangeLog | 5 | ||||
| -rw-r--r-- | parse.y | 1 | ||||
| -rw-r--r-- | struct.c | 3 |
3 files changed, 7 insertions, 2 deletions
@@ -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 @@ -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: @@ -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); |
