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]
on 2009-06-30 18:52
on 2009-07-01 03:10
Hi,
In message "Re: [ruby-core:24097] [Bug #1707] Proc#call Raises
ThreadError on 1.8 HEAD; LocalJumpError on Other Versions"
on Wed, 1 Jul 2009 01:07:46 +0900, Run Paint Run Run
<redmine@ruby-lang.org> writes:
|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?
It's not intentional.
matz.
on 2009-07-01 08:57
Issue #1707 has been updated by Nobuyoshi Nakada. Status changed from Open to Closed % Done changed from 0 to 100 Applied in changeset r23922. ---------------------------------------- http://redmine.ruby-lang.org/issues/show/1707
Please log in before posting. Registration is free and takes only a minute.
Existing account
(Switch to SSL-encrypted connection)
NEW: Do you have a Google/GoogleMail or Yahoo account? No registration required!
Log in with Google account | Log in with Yahoo account
Log in with Google account | Log in with Yahoo account
No account? Register here.