From f2d22879086a858bfb28dbd8d1b591848d720c70 Mon Sep 17 00:00:00 2001 From: matz Date: Wed, 23 Jan 2008 01:20:51 +0000 Subject: * 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 --- ChangeLog | 6 ++++++ eval_method.c | 3 +++ version.h | 6 +++--- 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index 9a1c2871d..64b76e748 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +Wed Jan 23 10:18:10 2008 Yukihiro Matsumoto + + * 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. + Tue Jan 22 22:26:23 2008 Yusuke Endoh * test/ruby/test_bignum.rb: change some tests because rational 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; } diff --git a/version.h b/version.h index e4098b577..2d9eb6b2a 100644 --- a/version.h +++ b/version.h @@ -1,7 +1,7 @@ #define RUBY_VERSION "1.9.0" -#define RUBY_RELEASE_DATE "2008-01-22" +#define RUBY_RELEASE_DATE "2008-01-23" #define RUBY_VERSION_CODE 190 -#define RUBY_RELEASE_CODE 20080122 +#define RUBY_RELEASE_CODE 20080123 #define RUBY_PATCHLEVEL 0 #define RUBY_VERSION_MAJOR 1 @@ -9,7 +9,7 @@ #define RUBY_VERSION_TEENY 0 #define RUBY_RELEASE_YEAR 2008 #define RUBY_RELEASE_MONTH 1 -#define RUBY_RELEASE_DAY 22 +#define RUBY_RELEASE_DAY 23 #ifdef RUBY_EXTERN RUBY_EXTERN const char ruby_version[]; -- cgit