[#35027] [Ruby 1.9-Bug#4352][Open] [patch] Fix eval(s, b) backtrace; make eval(s, b) consistent with eval(s) — "James M. Lawrence" <redmine@...>

Bug #4352: [patch] Fix eval(s, b) backtrace; make eval(s, b) consistent with eval(s)

16 messages 2011/02/01

[#35114] [Ruby 1.9-Bug#4373][Open] http.rb:677: [BUG] Segmentation fault — Christian Fazzini <redmine@...>

Bug #4373: http.rb:677: [BUG] Segmentation fault

59 messages 2011/02/06

[#35171] [Ruby 1.9-Bug#4386][Open] encoding: directive does not affect regex expressions — mathew murphy <redmine@...>

Bug #4386: encoding: directive does not affect regex expressions

9 messages 2011/02/09

[#35237] [Ruby 1.9-Bug#4400][Open] nested at_exit hooks run in strange order — Suraj Kurapati <redmine@...>

Bug #4400: nested at_exit hooks run in strange order

12 messages 2011/02/15

[ruby-core:35102] [Ruby 1.9-Feature#4197] Improvement of the benchmark library

From: Tomoyuki Chikanaga <redmine@...>
Date: 2011-02-05 15:08:21 UTC
List: ruby-core #35102
Issue #4197 has been updated by Tomoyuki Chikanaga.


Hi,
In Benchmark#bmbm, I think it's better to use ensure clause instead of Object#tap to restore STDOUT.sync. How about a patch below?

diff --git a/lib/benchmark.rb b/lib/benchmark.rb
index 052b9ad..ac17ba4 100644
--- a/lib/benchmark.rb
+++ b/lib/benchmark.rb
@@ -266,9 +266,9 @@ module Benchmark
       GC.start
       print label.ljust(width)
       Benchmark.measure(&item).tap { |res| print res.format }
-    }.tap {
-      STDOUT.sync = sync
     }
+  ensure
+    STDOUT.sync = sync unless sync.nil?
   end
 
   #

----------------------------------------
http://redmine.ruby-lang.org/issues/show/4197

----------------------------------------
http://redmine.ruby-lang.org

In This Thread