--mimepart_485140f4494f6_624e86f61182622
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: Quoted-printable
Content-Disposition: inline

Issue #146 has been reported by Wilson Bilkovich.

----------------------------------------
Bug #146: Incorrect line numbers in "caller" output when evaluated in a Proc binding
http://redmine.ruby-lang.org/issues/show/146

Author: Wilson Bilkovich
Status: Open
Priority: Low
Assigned to: ategory: arget version: he second frame's line number appears to always be incorrect when a Procs created via a non-toplevel method call.
This small program and its output illustrate the issue:

def first # line 1 of proc_caller.rb on my system
  second
end

def second
  b = third do
    1 + 1
  end
  return b
end

def third(&b)
  return b
end

eval("p caller(0)", first)

Output on recent 1.8 releases, including 1.8.6 and 1.8.7:
["proc_caller.rb:6:in `second'", "proc_caller.rb:6:in `first'", "proc_caller.rb:16"]

Output that I would expect: (line 6 is in 'second', not 'first')
["proc_caller.rb:6:in `second'", "proc_caller.rb:2:in `first'", "proc_caller.rb:16"]


----------------------------------------
You have received this notification because you have either subscribed tot, or are involved in it.
To change your notification preferences, please click here: http://redmine.ruby-lang.org/my/account

--mimepart_485140f4494f6_624e86f61182622--