From aa2de9e3e00db4ecffa592cdeb177d13b28d328a Mon Sep 17 00:00:00 2001 From: matz Date: Fri, 5 Aug 2005 00:50:46 +0000 Subject: [PATCH] * eval.c (return_jump): fix "can't across thread" error message when no thread associated. http://www.namikilab.tuat.ac.jp/~sasada/diary/200507.html#d31 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8920 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 6 ++++++ eval.c | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 8838cd1948..e01fdecb77 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +Fri Aug 5 08:08:05 2005 Yukihiro Matsumoto + + * eval.c (return_jump): fix "can't across thread" error message + when no thread associated. + http://www.namikilab.tuat.ac.jp/~sasada/diary/200507.html#d31 + Fri Aug 5 00:25:12 2005 Hirokazu Yamamoto * ext/tk/tcltklib.c: refactoring - extract ruby string <-> diff --git a/eval.c b/eval.c index 9811c71d95..7ad94f1e6b 100644 --- a/eval.c +++ b/eval.c @@ -4763,7 +4763,7 @@ return_jump(retval) tt->retval = retval; JUMP_TAG(TAG_RETURN); } - if (tt->tag == PROT_THREAD) { + if (tt->tag == PROT_THREAD && tt->prev) { rb_raise(rb_eThreadError, "return can't jump across threads"); } tt = tt->prev;