おまけ: Erubis のベンチマークテストを Ruby1.9 で実行するためのパッチ

Erubis の benchmark/bench.r を Ruby1.9 で実行するためには、以下のパッチが必要。

Index: benchmark/bench.rb
===================================================================
--- benchmark/bench.rb	(revision 96)
+++ benchmark/bench.rb	(working copy)
@@ -93,7 +93,8 @@
 
   def execute_eruby(filename, context)
     return unless ERuby
-    eval context2code(context)
+    #eval context2code(context)
+    list = context['list']
     @ntimes.times do
       ERuby.import(filename)
     end
@@ -101,7 +102,8 @@
   end
 
   def execute_erb(filename, context)
-    eval context2code(context)
+    #eval context2code(context)
+    list = context['list']
     output = nil
     @ntimes.times do
       eruby = ERB.new(File.read(filename))
@@ -112,7 +114,8 @@
   end
 
   def execute_erb_cached(filename, context)
-    eval context2code(context)
+    #eval context2code(context)
+    list = context['list']
     output = nil
     cachefile = filename + '.cache'
     File.unlink(cachefile) if test(?f, cachefile)
@@ -135,7 +138,8 @@
   for klass in %w[Eruby FastEruby TinyEruby ArrayBufferEruby PrintOutEruby StdoutEruby] do
     s = <<-END
     def execute_erubis_#{klass.downcase}(filename, context)
-      eval context2code(context)
+      #eval context2code(context)
+      list = context['list']
       output = nil
       @ntimes.times do
         eruby = Erubis::#{klass}.new(File.read(filename))
@@ -152,7 +156,8 @@
   for klass in %w[Eruby FastEruby] do
     s = <<-END
     def execute_erubis_#{klass.downcase}_cached(filename, context)
-      eval context2code(context)
+      #eval context2code(context)
+      list = context['list']
       cachefile = filename + '.cache'
       File.unlink(cachefile) if test(?f, cachefile)
       output = nil
@@ -173,7 +178,8 @@
 
   def convert_eruby(filename, context)
     return unless ERuby
-    eval context2code(context)
+    #eval context2code(context)
+    list = context['list']
     output = nil
     @ntimes.times do
       output = ERuby::Compiler.new.compile_string(File.read(filename))
@@ -182,7 +188,8 @@
   end
 
   def convert_erb(filename, context)
-    eval context2code(context)
+    #eval context2code(context)
+    list = context['list']
     output = nil
     @ntimes.times do
       eruby = ERB.new(File.read(filename))
@@ -194,7 +201,8 @@
   for klass in %w[Eruby FastEruby TinyEruby]
     s = <<-END
       def convert_erubis_#{klass.downcase}(filename, context)
-        eval context2code(context)
+        #eval context2code(context)
+        list = context['list']
         output = nil
         @ntimes.times do
           eruby = Erubis::#{klass}.new(File.read(filename))