青木です。

ERB に関してです。
eRuby スクリプト中でエラーが起きるといつもファイル名が (eval) で
わかりにくいので、eval にファイル名を渡すようにできないでしょうか。
以下のように、ERB#filename= で渡せるだけで十分なのですが。


--- lib/erb.rb  31 Jul 2003 14:49:19 -0000      1.10
+++ lib/erb.rb  8 Dec 2003 05:46:05 -0000
@@ -387,8 +387,10 @@ class ERB
     compiler = ERB::Compiler.new(trim_mode)
     set_eoutvar(compiler, eoutvar)
     @src = compiler.compile(str)
+    @filename = nil
   end
-  attr :src
+  attr_reader :src
+  attr_accessor :filename
 
   def set_eoutvar(compiler, eoutvar = '_erbout')
     compiler.put_cmd = "#{eoutvar}.concat"
@@ -416,7 +418,7 @@ class ERB
       }
       return th.value
     else
-      return eval(@src, b)
+      return eval(@src, b, (@filename || '(erb)'), 1)
     end
   end
 

-------------------------------------------------------------------
青木峰郎