Author: Thomas Sawyer
Status: Open, Priority: Normal
Category: core
ruby -v: 1.9.1
binding.eval("__FILE__") does not return the file from which the binding was created.
Given the purpose of binding it should hold that:
__FILE__==binding.eval("__FILE__")
Just my two cents: (yen?)
__FILE__ is expanded at parse time directly into the parse tree. As such, it isn't really a variable or a constant, just a placeholder. I don't think it is going to be easy to make it act like a constant for Binding#eval.
This issue was solved with changeset r27716.
Yuki, thank you for reporting this issue.
Your contribution to Ruby is greatly appreciated.
May Ruby be with you.