I'm trying to add the ability to view and edit source
similarly to that found in SmallTalk browsers.
Please see ruby-talk posts #21478 and #21555

The technique suggested by Matz at that time (Sep. '01)
to get source file and line # for a method was:

   eval("[__FILE__,__LINE__]", obj.method(:method_name).to_proc)

This dosn't appear to work.  __FILE__ and __LINE__ are evaluated
in the parser, so I cannot see how this technique could succeed.
However, it does feel like the "right" way to do this and I think it could
be made to work if __FILE__ and __LINE__ were implemented as virtual global 
variables (in eval.c?).

In any case:
The simple patch to eval.c suggested originally by Ned Konz in post #21478
does appear to work when applied to Ruby v1.68. It is only valid for Methods,
but that's perfectly adequate for my needs.  [Most Procs are anynonomous anyway.]

Without some sort of patch on the core, the only way I see to
get at source references is via the method_added hooks.  This is _much_ less
efficient and especially frustrating given that this information
is already encoded all over the parse tree.