まつもと ゆきひろです

In message "[ruby-list:3090] [BUG] continue"
    on 97/06/06, Keiju ISHITSUKA <keiju / bc.mbn.or.jp> 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)))