From: matz@... (Yukihiro Matsumoto) Date: 1997-06-09T11:32:21+09:00 Subject: [ruby-list:3095] Re: [BUG] continue まつもと ゆきひろです In message "[ruby-list:3090] [BUG] continue" on 97/06/06, Keiju ISHITSUKA writes: | |けいじゅ@今はフリー(^^;;です. | |begin | continue |end while COND | |にバグがあるようです. continueした場合, CONDが評価されません. つまり, |無限ループに陥ります. すみません.以下のパッチでお願いします. --- eval.c Fri May 30 02:02:43 1997 +++ eval.c.dyna Sun Jun 8 17:23:54 1997 @@ -1134,3 +1134,2 @@ if ((state = EXEC_TAG()) == 0) { - while_next: for (;;) { @@ -1140,2 +1139,3 @@ rb_eval(self, node->nd_body); + while_next: if (!node->nd_state && !RTEST(rb_eval(self, node->nd_cond))) @@ -1165,3 +1165,2 @@ if ((state = EXEC_TAG()) == 0) { - until_next: for (;;) { @@ -1171,2 +1170,3 @@ rb_eval(self, node->nd_body); + until_next: if (!node->nd_state && RTEST(rb_eval(self, node->nd_cond)))