Make warnings show the right line number #1450

Merged
merged 3 commits into from Jan 27, 2014

Projects

None yet

2 participants

@DavidEGrayson
Contributor

As discussed in issue #1446, JRuby warnings (or at least some types of them) were always reporting a line number that was one greater than reality. This pull request fixes the issue and adds a regression test.

There were two places in RubyWarnings.java (one deprecated) where the code was explicitly printing lineNumber + 1 instead of lineNumber. I think we should have a convention where the term "line number" is 1-based and we try to use that everywhere. If we have to use a 0-based number for a line it should be called a "line index" and it should have lots of comments about how it is not actually a "line number".

Unfortunately, my change might cause some other type of warning to have line numbers that are too small by one. I might look into setting up Eclipse so I can find all references to that code and make sure they are passing in proper line numbers instead of line indices.

I also tacked on a third commit that removes some unused code from ThreadContext.gatherCallerBacktrace. I found it while looking for the bug. I hope that's OK!

@enebo enebo merged commit 825cb8f into jruby:jruby-1_7 Jan 27, 2014

1 check failed

default The Travis CI build failed
Details
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment