From: Kazuki Tsujimoto Date: 2011-09-04T01:12:09+09:00 Subject: [ruby-core:39252] [Ruby 1.9 - Backport #5234] `unexpected return' occurs when a proc is called in ensure Issue #5234 has been updated by Kazuki Tsujimoto. Target version changed from 1.9.3 to 1.9.2 ---------------------------------------- Backport #5234: `unexpected return' occurs when a proc is called in ensure http://redmine.ruby-lang.org/issues/5234 Author: Koichi Sasada Status: Assigned Priority: Normal Assignee: Yuki Sonoda Category: core Target version: 1.9.2 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