diff options
author | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-11-04 20:36:20 +0000 |
---|---|---|
committer | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-11-04 20:36:20 +0000 |
commit | 1eee78b8769f7f01cead3b0782e1ee4ed84e281b (patch) | |
tree | 32ac34a556e40ef93a8e4a15f328d36886b4fc45 /eval_method.ci | |
parent | ed823523e32e8e8a04123ee5b8ec9c0f3de63c02 (diff) | |
download | ruby-1eee78b8769f7f01cead3b0782e1ee4ed84e281b.tar.gz |
* eval.c (rb_f_send): allow send/__send__ to call methods of all
visibility again. we no longer provide __send, __send!.
* eval.c (rb_invoke_method): new method to honor private
visibility. if it's invoked in a function call style, it calls
private methods as well (previous 1.9 send behavior).
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13824 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'eval_method.ci')
-rw-r--r-- | eval_method.ci | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/eval_method.ci b/eval_method.ci index 6d86e52c50..ff4d3cb0a5 100644 --- a/eval_method.ci +++ b/eval_method.ci @@ -158,7 +158,7 @@ rb_add_method(VALUE klass, ID mid, NODE * node, int noex) } } - if (mid == object_id || mid == __send || mid == __send_bang) { + if (mid == object_id || mid == __send__) { if (node && nd_type(node) == RUBY_VM_METHOD_NODE) { rb_warn("redefining `%s' may cause serious problem", rb_id2name(mid)); @@ -302,7 +302,7 @@ remove_method(VALUE klass, ID mid) } if (OBJ_FROZEN(klass)) rb_error_frozen("class/module"); - if (mid == object_id || mid == __send || mid == __send_bang || mid == init) { + if (mid == object_id || mid == __send__ || mid == init) { rb_warn("removing `%s' may cause serious problem", rb_id2name(mid)); } if (st_lookup(RCLASS_M_TBL(klass), mid, &data)) { @@ -466,7 +466,7 @@ rb_undef(VALUE klass, ID id) rb_id2name(id)); } rb_frozen_class_p(klass); - if (id == object_id || id == __send || id == __send_bang || id == init) { + if (id == object_id || id == __send__ || id == init) { rb_warn("undefining `%s' may cause serious problem", rb_id2name(id)); } body = search_method(klass, id, &origin); |