[MacRuby-devel] Kernel#caller doesn't show directories
Brian Marick
marick at exampler.com
Tue May 4 06:13:57 PDT 2010
I couldn't reproduce it. Vanilla 1.8.6 is still slightly better in that it prints
from ../../foo.rb:6
whereas a recent 0.7 prints a full path:
from /Users/marick/src/clients/SES/Tests/preferences/../../foo.rb:6:in `<main>'
On May 3, 2010, at 4:46 PM, Laurent Sansonetti wrote:
> Hi Brian,
>
> This looks like a bug. I don't know why it's fixed in 0.7 for you, because we haven't changed a lot of things there.
>
> In any case, a trac ticket might be a good idea if you still reproduce the problem. Note that backtraces in MacRuby are generated by walking through the stack and sometimes some entries are missing. File/line numbering is retrieved from DWARF metadata but sometimes it's incorrectly compiled. So, bug reports are welcome :-)
>
> Laurent
>
> On May 3, 2010, at 1:12 PM, Brian Marick wrote:
>
>> I see that this works in 0.7. Sorry for the waste of bandwidth.
>>
>> On May 3, 2010, at 11:27 AM, Brian Marick wrote:
>>
>>> Suppose you have foo.rb:
>>>
>>> def __DIR__
>>> caller[0]
>>> raise 'death'
>>> end
>>>
>>> puts __DIR__
>>>
>>>
>>> If you call that from, say, a directory two levels below it, you get this:
>>>
>>> 818 $ macruby ../../foo.rb
>>> foo.rb:2:in `__DIR__': death (RuntimeError)
>>> from foo.rb:6:in `<main>'
>>>
>>> In 1.8.6 (and I sure hope in stock 1.9), you get filenames with the relative directory:
>>>
>>> 819 $ ruby ../../foo.rb
>>> ../../foo.rb:3:in `__DIR__': death (RuntimeError)
>>> from ../../foo.rb:6
>>>
>>> I think that's important because there are tools (IDEs, my emacs hacks) that use the backtrace from a test to jump to the failing code. You can't do that unless you have the full pathname.
>>>
>>> I will file a ticket if this is a real bug.
>>>
>>>
>>> -----
>>> Brian Marick, independent consultant
>>> Mostly on agile methods with a testing slant
>>> Author of /Programming Cocoa with Ruby/
>>> www.exampler.com, www.exampler.com/blog, www.twitter.com/marick
>>>
>>> _______________________________________________
>>> MacRuby-devel mailing list
>>> MacRuby-devel at lists.macosforge.org
>>> http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel
>>
>>
>>
>> -----
>> Brian Marick, independent consultant
>> Mostly on agile methods with a testing slant
>> Author of /Programming Cocoa with Ruby/
>> www.exampler.com, www.exampler.com/blog, www.twitter.com/marick
>>
>> _______________________________________________
>> MacRuby-devel mailing list
>> MacRuby-devel at lists.macosforge.org
>> http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel
>
> _______________________________________________
> MacRuby-devel mailing list
> MacRuby-devel at lists.macosforge.org
> http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel
-----
Brian Marick, independent consultant
Mostly on agile methods with a testing slant
Author of /Programming Cocoa with Ruby/
www.exampler.com, www.exampler.com/blog, www.twitter.com/marick
More information about the MacRuby-devel
mailing list