diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | variable.c | 13 |
2 files changed, 12 insertions, 6 deletions
@@ -1,3 +1,8 @@ +Fri May 13 17:54:39 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp> + + * variable.c (generic_ivar_get): rb_attr_get should not warn. + [ruby-dev:26010] + Fri May 13 12:28:43 2005 Daniel Berger <djberge@qwest.com> * array.c (rb_ary_select): can remove argc check. [ruby-core:4911] diff --git a/variable.c b/variable.c index 506657e6e0..04d826bf2d 100644 --- a/variable.c +++ b/variable.c @@ -842,9 +842,10 @@ rb_generic_ivar_table(obj) } static VALUE -generic_ivar_get(obj, id) +generic_ivar_get(obj, id, warn) VALUE obj; ID id; + int warn; { st_table *tbl; VALUE val; @@ -856,8 +857,9 @@ generic_ivar_get(obj, id) } } } - - rb_warning("instance variable %s not initialized", rb_id2name(id)); + if (warn) { + rb_warning("instance variable %s not initialized", rb_id2name(id)); + } return Qnil; } @@ -1008,13 +1010,12 @@ ivar_get(obj, id, warn) break; default: if (FL_TEST(obj, FL_EXIVAR) || rb_special_const_p(obj)) - return generic_ivar_get(obj, id); + return generic_ivar_get(obj, id, warn); break; } - if (warn && ruby_verbose) { + if (warn) { rb_warning("instance variable %s not initialized", rb_id2name(id)); } - return Qnil; } |