diff options
author | usa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2013-08-02 14:58:11 +0000 |
---|---|---|
committer | usa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2013-08-02 14:58:11 +0000 |
commit | 0f0b60ea86af7fd9db03639a8a92d63a49e94f24 (patch) | |
tree | 4bfdc07284c33030c6608b87841c9386ddd3bb8f | |
parent | 5339293fb868a0273507f6f9de705b2babd8dad5 (diff) | |
download | ruby-0f0b60ea86af7fd9db03639a8a92d63a49e94f24.tar.gz |
* vm.c (m_core_define_method, m_core_define_singleton_method): now
the value of def-expr is the Symbol of the name of the method, not
nil.
ref. [ruby-dev:42151] [Feature #3753]
* test/ruby/test_syntax.rb (TestSyntax#test_value_of_def): test for
above changes.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42337 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | ChangeLog | 10 | ||||
-rw-r--r-- | test/ruby/test_syntax.rb | 7 | ||||
-rw-r--r-- | vm.c | 4 |
3 files changed, 19 insertions, 2 deletions
@@ -1,3 +1,13 @@ +Fri Aug 2 23:57:57 2013 NAKAMURA Usaku <usa@ruby-lang.org> + + * vm.c (m_core_define_method, m_core_define_singleton_method): now + the value of def-expr is the Symbol of the name of the method, not + nil. + ref. [ruby-dev:42151] [Feature #3753] + + * test/ruby/test_syntax.rb (TestSyntax#test_value_of_def): test for + above changes. + Fri Aug 2 23:54:11 2013 Masaki Matsushita <glass.saga@gmail.com> * array.c (rb_ary_zip): performance improvement by avoiding diff --git a/test/ruby/test_syntax.rb b/test/ruby/test_syntax.rb index 9daa0e4d49..99470691ef 100644 --- a/test/ruby/test_syntax.rb +++ b/test/ruby/test_syntax.rb @@ -370,6 +370,13 @@ eom end end + def test_value_of_def + assert_separately [], <<-EOS + assert_equal(:foo, (def foo; end)) + assert_equal(:foo, (def (Object.new).foo; end)) + EOS + end + private def not_label(x) @result = x; @not_label ||= nil end @@ -2052,7 +2052,7 @@ m_core_define_method(VALUE self, VALUE cbase, VALUE sym, VALUE iseqval) REWIND_CFP({ vm_define_method(GET_THREAD(), cbase, SYM2ID(sym), iseqval, 0, rb_vm_cref()); }); - return Qnil; + return sym; } static VALUE @@ -2061,7 +2061,7 @@ m_core_define_singleton_method(VALUE self, VALUE cbase, VALUE sym, VALUE iseqval REWIND_CFP({ vm_define_method(GET_THREAD(), cbase, SYM2ID(sym), iseqval, 1, rb_vm_cref()); }); - return Qnil; + return sym; } static VALUE |