From: Anuj Dutta Date: 2011-08-28T15:35:41+09:00 Subject: [ruby-core:39159] [Ruby 1.9 - Bug #5234] `unexpected return' occurs when a proc is called in ensure Issue #5234 has been updated by Anuj Dutta. Same issue occurs on 1.9.2-p290. Can this be backported to it as well? Thanks. ---------------------------------------- Bug #5234: `unexpected return' occurs when a proc is called in ensure http://redmine.ruby-lang.org/issues/5234 Author: Koichi Sasada Status: Closed Priority: Normal Assignee: Koichi Sasada Category: core Target version: 1.9.3 ruby -v: ruby 1.9.3dev (2011-08-26 revision 33077) [i686-linux] Similar as Bug #2729, `unexpected return' occurs when a proc is called in ensure. I'm not sure why it doesn't fix with Bug #2729. # test code class C def each begin yield :foo ensure Proc.new end end def detect each{|e| r = yield(e) return true if r } false end end p C.new.detect{|e| true } -- http://redmine.ruby-lang.org