mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* vm_eval.c (method_missing): should not pop cfp if missing method
is method_missing. [ruby-core:22298] * vm_eval.c (rb_raise_method_missing): new function to directly raise NoMethodError. * vm_insnhelper.c (vm_call_method): fixed the case method_missing is missing. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22495 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
19bbab6140
commit
1e51a7b2c6
1 changed files with 11 additions and 0 deletions
|
@ -1140,3 +1140,14 @@ assert_equal 'Object#foo', %q{
|
|||
end
|
||||
Foo.foo
|
||||
}, '[ruby-dev:37587]'
|
||||
|
||||
assert_normal_exit %q{
|
||||
class BasicObject
|
||||
remove_method :method_missing
|
||||
end
|
||||
begin
|
||||
"a".lalala!
|
||||
rescue NoMethodError => e
|
||||
e.message == "undefined method `lalala!' for \"a\":String" ? :ok : :ng
|
||||
end
|
||||
}, '[ruby-core:22298]'
|
||||
|
|
Loading…
Reference in a new issue