On Feb 23, 2010, at 05:18 , Thomas Sawyer wrote: > Bug #2782: Binding#eval not completely indicative of its binding > http://redmine.ruby-lang.org/issues/show/2782 >=20 > Author: Thomas Sawyer > Status: Open, Priority: Normal > Category: core > ruby -v: 1.9.1 >=20 > binding.eval("__FILE__") does not return the file from which the = binding was created. >=20 > Given the purpose of binding it should hold that: >=20 > __FILE__ =3D=3D 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.