From: Run Paint Run Run Date: 2009-07-01T01:07:46+09:00 Subject: [ruby-core:24097] [Bug #1707] Proc#call Raises ThreadError on 1.8 HEAD; LocalJumpError on Other Versions Bug #1707: Proc#call Raises ThreadError on 1.8 HEAD; LocalJumpError on Other Versions http://redmine.ruby-lang.org/issues/show/1707 Author: Run Paint Run Run Status: Open, Priority: Normal Category: core, Target version: Ruby 1.8.8 ruby -v: ruby 1.8.8dev (2009-06-28) [i686-linux] The code below raises a LocalJumpError on 1.8.6, 1.8.7, and 1.9 HEAD. It raises a ThreadError ("return can't jump across threads") on 1.8 HEAD. def some_method(&b) b end a_proc = Proc.new { return } res = some_method(&a_proc) res.call Is this difference intentional? If so, why? Versions ======== * ruby 1.8.6 (2009-06-08 patchlevel 369) [i686-linux] * ruby 1.8.7 (2009-06-12 patchlevel 174) [i686-linux] * ruby 1.8.8dev (2009-06-28) [i686-linux] * ruby 1.9.2dev (2009-06-27 trunk 23871) [i686-linux] ---------------------------------------- http://redmine.ruby-lang.org