aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rw-r--r--eval.c2
2 files changed, 7 insertions, 1 deletions
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 <matz@ruby-lang.org>
+
+ * 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 <ocean@m2.ccsnet.ne.jp>
* 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;