Arturas Slajus created JRUBY-6369:
-------------------------------------
Summary: Wrong line numbers reported in stacktrace if using
binding.eval
Key: JRUBY-6369
URL: https://jira.codehaus.org/browse/JRUBY-6369
Project: JRuby
Issue Type: Bug
Components: Interpreter
Affects Versions: JRuby 1.6.6
Reporter: Arturas Slajus
Priority: Minor
If error is raised in evaled block which is bound to binding and it raises an
error, wrong line numbers are reported in backtrace:
arturas@zeus:~/work/spacegame/server$ cat test.rb
def test
do_stuff(binding)
end
def do_stuff(binding) # line 5
binding.eval %Q{
raise 'error' # error is actually raised here
}
end
test
arturas@zeus:~/work/spacegame/server$ ruby test.rb
RuntimeError: error
do_stuff at test.rb:5 <------
eval at org/jruby/RubyKernel.java:1088
eval at org/jruby/RubyBinding.java:134
do_stuff at test.rb:6
test at test.rb:2
(root) at test.rb:14
If binding is not used, everything is ok.
arturas@zeus:~/work/spacegame/server$ cat test.rb
def test
do_stuff(binding)
end
def do_stuff(binding)
eval %Q{
raise 'error'
}
end
test
arturas@zeus:~/work/spacegame/server$ ruby test.rb
RuntimeError: error
do_stuff at (eval):5
eval at org/jruby/RubyKernel.java:1088
do_stuff at test.rb:6
test at test.rb:2
(root) at test.rb:14
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://jira.codehaus.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe from this list, please visit:
http://xircles.codehaus.org/manage_email