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;