まつもと ゆきひろです

In message "[ruby-list:27250] Re: do ... end & { ... }"
    on 01/01/20, Yukihiro Matsumoto <matz / zetabits.com> writes:

|えーと、勘違いしてるのは私です。つまり、「なくさない」つもり
|で、実はなくしてて、かつ、それに気づいてなかったってことです
|ね。お恥ずかしい。でも、だれも文句言わないってことは実はどう
|でも良いことだったのかなあ。とりあえず、自分の意図通りに修正
|を図ります。

でもって、これがそのパッチです。

--- parse.y	2001/01/10 10:07:31	1.79
+++ parse.y	2001/01/19 18:58:51
@@ -69,3 +69,3 @@
 } while (0)
-#define IN_COND (cond_nest > 0 && (cond_stack&1))
+#define COND_P() (cond_nest > 0 && (cond_stack&1))
 
@@ -1491,3 +1491,3 @@
 		    {
-			if (!IN_COND) lex_state = EXPR_PAREN;
+			if (!COND_P()) lex_state = EXPR_PAREN;
 		    }
@@ -3619,5 +3619,3 @@
 		    }
-		    if (kw->id[0] == kDO &&
-			(state == EXPR_PAREN ||
-			 (!IN_COND && state == EXPR_ARG))) {
+		    if (kw->id[0] == kDO && !COND_P() && state == EXPR_PAREN) {
 			return kDO2;