diff options
author | ko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-08-17 12:25:47 +0000 |
---|---|---|
committer | ko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-08-17 12:25:47 +0000 |
commit | b982cff67c1e7e879b4532f496c40d9ebd3b1c0d (patch) | |
tree | 9f8d1c255a53e591b22b132f3dbf0f30ffd9dbeb /eval_method.ci | |
parent | e5d5f5a61a484c5d3993cee2c02c4f501a6f74f8 (diff) | |
download | ruby-b982cff67c1e7e879b4532f496c40d9ebd3b1c0d.tar.gz |
* eval.c (rb_call), eval_method.ci (rb_add_method, rb_alias),
insnhelper.ci (vm_call_method): fix to save safelevel for
method node.
* include/ruby/node.h: ditto.
* bootstraptest/test_method.rb: add a test for above.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13079 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'eval_method.ci')
-rw-r--r-- | eval_method.ci | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/eval_method.ci b/eval_method.ci index f91e89c034..5a30596198 100644 --- a/eval_method.ci +++ b/eval_method.ci @@ -132,7 +132,7 @@ rb_add_method(VALUE klass, ID mid, NODE * node, int noex) * nd_cnt : alias count // (3) */ if (node) { - body = NEW_FBODY(NEW_METHOD(node, klass, noex), 0); + body = NEW_FBODY(NEW_METHOD(node, klass, NOEX_WITH_SAFE(noex)), 0); } else { body = 0; @@ -580,7 +580,7 @@ rb_alias(VALUE klass, ID name, ID def) (st_data_t) NEW_FBODY( NEW_METHOD(orig_fbody->nd_body->nd_body, orig_fbody->nd_body->nd_clss, - orig_fbody->nd_body->nd_noex), def)); + NOEX_WITH_SAFE(orig_fbody->nd_body->nd_noex)), def)); rb_clear_cache_by_id(name); |