diff options
author | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-01-23 01:20:51 +0000 |
---|---|---|
committer | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-01-23 01:20:51 +0000 |
commit | 105a66963140e7b3e8056c67c4e4e61b1d5a60d0 (patch) | |
tree | e4accb3714459b89fcbef2590a5958a19e9c07b8 /eval_method.c | |
parent | 008d77d27cf2e468ca5e1d8a7d0c5f8cc102fd89 (diff) | |
download | ruby-105a66963140e7b3e8056c67c4e4e61b1d5a60d0.tar.gz |
* eval_method.c (rb_export_method): set ruby_vm_redefined_flag for
visibility change as well. reported by K.Kosako in
http://d.hatena.ne.jp/kkos/20080122#1201012720.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15175 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'eval_method.c')
-rw-r--r-- | eval_method.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/eval_method.c b/eval_method.c index ff26ebe083..f7043c0069 100644 --- a/eval_method.c +++ b/eval_method.c @@ -388,6 +388,9 @@ rb_export_method(VALUE klass, ID name, ID noex) rb_print_undef(klass, name, 0); } if (fbody->nd_body->nd_noex != noex) { + if (nd_type(fbody->nd_body->nd_body) == NODE_CFUNC) { + rb_vm_check_redefinition_opt_method(fbody); + } if (klass == origin) { fbody->nd_body->nd_noex = noex; } |