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 | f2d22879086a858bfb28dbd8d1b591848d720c70 (patch) | |
tree | e4accb3714459b89fcbef2590a5958a19e9c07b8 /eval_method.c | |
parent | 8f1db1cbc41e8eececb4824b5cd2838c8867327c (diff) | |
download | ruby-f2d22879086a858bfb28dbd8d1b591848d720c70.tar.gz ruby-f2d22879086a858bfb28dbd8d1b591848d720c70.tar.xz ruby-f2d22879086a858bfb28dbd8d1b591848d720c70.zip |
* 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: http://svn.ruby-lang.org/repos/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 ff26ebe08..f7043c006 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; } |