堀之内です。

eval を用いてメソッドを定義すると、その中で例外が上がるた場合、
どこか分かりにくいので、バックトレースの表示がより親切になると嬉
しいと思っています。

例で説明します。

% cat eval_and_raise.rb
def hello
  no_thank_you
end

eval <<EOS
  def no_thank_you
    raise
  end
EOS

hello
% ruby eval_and_raise.rb
(eval):2:in `no_thank_you': unhandled exception
        from eval_and_raise.rb:2:in `hello'
        from eval_and_raise.rb:11

このメッセージから、11行目で hello を呼び、その中(2行目)で
no_thank_you が呼ばれていることがわかります。しかし、この 
no_thank_you が eval の中にあることは分かっても、ファイル内のど
こにあるかは表示されません。この例のように1ファイルしかない場合
は、eval や no_thank_you をサーチすればいいのですが、ファイルを
またがると辛いです。私が実際にeval を使ってメソッドを定義するの
は、

['add','mul'].each do |func|
  eval <<-EOS
    def #{func}(a,b)
      ....
    end
  EOS
end

のように、複数の似たようなメソッドを定義したいときが多いので、余
計トレースしにくいです。

そこで、提案なのですが、raise すると eval がどのファイルの何行目
で呼ばれたかも表示するようにしていただけないでしょうか。eval を
呼ぶとバックトレースに情報を加えればいいのだと思いますが。
上の例で言えば、こんなふうになって欲しいです:

% ruby eval_and_raise.rb
(eval):2:in `no_thank_you': unhandled exception
        from eval_and_raise.rb:5
        from eval_and_raise.rb:2:in `hello'
        from eval_and_raise.rb:11

eval は5行目で呼ばれているので from eval_and_raise.rb:5 を加えま
した。