mirror of
https://github.com/ruby/ruby.git
synced 2025-09-15 16:44:01 +02: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
|
end
|
||||||
Foo.foo
|
Foo.foo
|
||||||
}, '[ruby-dev:37587]'
|
}, '[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…
Add table
Add a link
Reference in a new issue