Feature #2824
closedBacktrace from Singleton Classes is Unclear
Description
=begin
The backtrace from singleton classes needs a space between 'singleton' and 'class'.
$ ruby -e 'class << self; x; end'
-e:1:in singletonclass': undefined local variable or method
x' for #<Class:#Object:0x83efde8> (NameError)
from -e:1:in `'
However, more useful would be to indicate which object's singleton class raised the exception. This is particularly relevant for exceptions whose messages do not include the caller's #inspect output. For example, compare:
$ ruby -e 'class H; 1/0; end'
-e:1:in /': divided by 0 (ZeroDivisionError) from -e:1:in
class:H'
from -e:1:in `'
$ ruby -e 'class << "c"; 1/0; end'
-e:1:in /': divided by 0 (ZeroDivisionError) from -e:1:in
singletonclass'
from -e:1:in `'
=end
Files
Updated by runpaint (Run Paint Run Run) over 14 years ago
=begin
The attached fixes the typo; improving the error message appears to require knowledge of YARV internals.
=end
Updated by akr (Akira Tanaka) almost 13 years ago
- Status changed from Open to Closed
- % Done changed from 0 to 100
This issue was solved with changeset r35079.
Run Paint, thank you for reporting this issue.
Your contribution to Ruby is greatly appreciated.
May Ruby be with you.
- compile.c: typo fix by Run Paint Run Run.
[ruby-core:28368] [Bug #2824]