Bug #2393

NoMethodError's message change in second time

Added by wanabe (_ wanabe) over 2 years ago. Updated about 1 year ago.

[ruby-dev:39757]
Status:Closed Start date:11/23/2009
Priority:Low Due date:
Assignee:- % Done:

100%

Category:core
Target version:Ruby 1.8.8
ruby -v:ruby 1.8.8dev (2009-11-23 revision 25888) [i386-mingw32]

Description

何もオーバーライドしていないメソッドから super でメソッドを呼び出そうとしたとき
一度目と二度目以降で以下のように例外のメッセージが変化します。
1.9 のチケットなので関係あるかわかりませんが、Bug #2312 の三番目の例に似ている気がします。

$ ruby -ve 'def foo; super; end; 2.times{foo rescue p $!}'
ruby 1.8.8dev (2009-11-23 revision 25888) [i386-mingw32]
-e:1: warning: too many arguments for format string
#<NoMethodError: super: no superclass method `foo'>
#<NoMethodError: undefined method `foo' for main:Object>

Associated revisions

Revision 25890
Added by nobu over 2 years ago

* eval.c (rb_method_missing): adjusted format and argument number. * eval.c (rb_call): fixed for super in cached method. [ruby-dev:39757]

History

Updated by nobu (Nobuyoshi Nakada) over 2 years ago

  • Status changed from Open to Closed
  • % Done changed from 0 to 100
This issue was solved with changeset r25890.
_, thank you for reporting this issue.
Your contribution to Ruby is greatly appreciated.
May Ruby be with you.

Also available in: Atom PDF