From: Minero Aoki Date: 2002-05-07T10:54:27+09:00 Subject: [ruby-dev:17012] unbaranced PUSH_ITER/POP_ITER あおきです。 こっちは落とせなかったのですが、以下のところがたぶん変です。 goto pop_state してくると PUSH_ITER せずに POP_ITER して しまいます。 --- eval.c 1 May 2002 09:41:49 -0000 1.289 +++ eval.c 7 May 2002 00:25:12 -0000 @@ -3795,8 +3797,8 @@ rb_yield_0 } } POP_TAG(); - pop_state: POP_ITER(); + pop_state: POP_CLASS(); if (ruby_dyna_vars && (block->flags & BLOCK_D_SCOPE) && !FL_TEST(ruby_dyna_vars, DVAR_DONT_RECYCLE)) { ブロック引数の代入でエラーになると ruby_iter が壊れるとこまでは 確認できたんですが、次の POP_ITER で元に戻るために実害がないようです。 ------------------------------------------------------------------- 青木峰郎