Conrad Irwin created JRUBY-6473: ----------------------------------- Summary: __LINE__ is incorrect when using eval() with binding objects. Key: JRUBY-6473 URL: https://jira.codehaus.org/browse/JRUBY-6473 Project: JRuby Issue Type: Bug Components: Core Classes/Modules, RubySpec Reporter: Conrad Irwin Priority: Minor
MRI has traditionally preserved the value of __LINE__ inside binding objects; a fact that is relied on by Pry to discover where the user "is" in relation to their source-code. (https://github.com/pry/pry/issues/475). Jruby nearly implements this, but it relies on binding.getFrame().getLine() (as of c9acf3b44b5651dd9a7f483b2a425dc25bfe1998), which unfortunately seems not to point to the line currently being executed. To get round this problem it's possible to instead use the same information as used to populate the caller() array, https://github.com/ConradIrwin/jruby/commit/e1272dc07455a34dfca063b9a82a6819295cdee8, though I'm sure there are better ways. To get this code: git pull https://github.com/ConradIrwin/jruby.git bug/line-in-binding -- 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