ruby-changes:12445
From: ko1 <ko1@a...>
Date: Thu, 16 Jul 2009 17:44:44 +0900 (JST)
Subject: [ruby-changes:12445] Ruby:r24145 (trunk): * vm_method.c (rb_alias): fix a case which try non-existing method alias.
ko1 2009-07-16 17:44:23 +0900 (Thu, 16 Jul 2009) New Revision: 24145 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=24145 Log: * vm_method.c (rb_alias): fix a case which try non-existing method alias. * test/ruby/test_alias.rb: add a test. Modified files: trunk/ChangeLog trunk/test/ruby/test_alias.rb trunk/vm_method.c Index: ChangeLog =================================================================== --- ChangeLog (revision 24144) +++ ChangeLog (revision 24145) @@ -1,3 +1,9 @@ +Thu Jul 16 17:41:28 2009 Koichi Sasada <ko1@a...> + + * vm_method.c (rb_alias): fix a case which try non-existing method alias. + + * test/ruby/test_alias.rb: add a test. + Thu Jul 16 15:52:25 2009 Nobuyoshi Nakada <nobu@r...> * bignum.c (rb_big_new, rb_bigzero_p), range.c (rb_range_values): Index: vm_method.c =================================================================== --- vm_method.c (revision 24144) +++ vm_method.c (revision 24145) @@ -814,11 +814,10 @@ if (!orig_me || orig_me->type == VM_METHOD_TYPE_UNDEF) { if (TYPE(klass) == T_MODULE) { orig_me = search_method(rb_cObject, def); - - if (!orig_me || !orig_me->type == VM_METHOD_TYPE_UNDEF) { - rb_print_undef(klass, def, 0); - } } + if (!orig_me || !orig_me->type == VM_METHOD_TYPE_UNDEF) { + rb_print_undef(klass, def, 0); + } } if (FL_TEST(klass, FL_SINGLETON)) { singleton = rb_iv_get(klass, "__attached__"); Index: test/ruby/test_alias.rb =================================================================== --- test/ruby/test_alias.rb (revision 24144) +++ test/ruby/test_alias.rb (revision 24145) @@ -61,4 +61,12 @@ }.call assert_raise(SecurityError) { d.mm } end + + def test_nonexistmethod + assert_raise(NameError){ + Class.new{ + alias_method :foobarxyzzy, :barbaz + } + } + end end -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/