[#21338] $SAFE=4 での autoload — Hidetoshi NAGAI <nagai@...>

永井@知能.九工大です.

21 messages 2003/09/04
[#21346] Re: $SAFE=4 での autoload — nobu.nakada@... 2003/09/04

なかだです。

[#21359] Re: $SAFE=4 での autoload — Hidetoshi NAGAI <nagai@...> 2003/09/05

永井@知能.九工大です.

[#21419] Makefile.inのlex.c — Kazuhiro NISHIYAMA <zn@...>

西山和広です。

15 messages 2003/09/28

[ruby-dev:21353] local jump test

From: nobu.nakada@...
Date: 2003-09-04 17:50:06 UTC
List: ruby-dev #21353
なかだです。

test/ruby/test_iterator.rb:test_ljumpのエラーにもならずに終了し
てしまう件ですが、どうもブロックの生成されたスコープを通り越し
てbreakしてしまってるような雰囲気です。

    # ljump_test(false, get_block{break})	# !! This line terminates testrunner...  please sombody fix it.


Index: eval.c
===================================================================
RCS file: /cvs/ruby/src/ruby/eval.c,v
retrieving revision 1.530
diff -u -2 -p -r1.530 eval.c
--- eval.c	2 Sep 2003 00:51:39 -0000	1.530
+++ eval.c	4 Sep 2003 16:46:25 -0000
@@ -1521,4 +1521,5 @@ localjump_reason(exc)
 }
 
+NORETURN(static void jump_tag_but_local_jump _((int)));
 static void
 jump_tag_but_local_jump(state)
@@ -4024,6 +4025,7 @@ localjump_destination(state, scope, retv
 	    tt->dst = (VALUE)scope;
 	    tt->retval = retval;
-	    break;
+	    JUMP_TAG(state);
 	}
+	if (tt->tag == PROT_FUNC && tt->scope == scope) break;
 	if (tt->tag == PROT_THREAD) {
 	    rb_raise(rb_eThreadError, "%s jump can't across threads",
@@ -4032,8 +4034,5 @@ localjump_destination(state, scope, retv
 	tt = tt->prev;
     }
-    if (!tt) {
-	jump_tag_but_local_jump(state);
-    }
-    JUMP_TAG(state);
+    jump_tag_but_local_jump(state);
 }
 


-- 
--- 僕の前にBugはない。
--- 僕の後ろにBugはできる。
    中田 伸悦

In This Thread

Prev Next