diff options
author | ocean <ocean@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2005-05-13 08:56:40 +0000 |
---|---|---|
committer | ocean <ocean@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2005-05-13 08:56:40 +0000 |
commit | 701243c468da4fc2fd3fd5fbe4e490e4f71f9c89 (patch) | |
tree | f43bb12b699c9e43fe1de374dd1d987a359c8c95 | |
parent | b1d0c69c05f05b1b3b3d5f903d9c1a71ba3835bf (diff) | |
download | ruby-701243c468da4fc2fd3fd5fbe4e490e4f71f9c89.tar.gz |
* variable.c (generic_ivar_get): rb_attr_get should not warn.
[ruby-dev:26010]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@8449 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-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; } |