From: ts Date: 2002-06-05T15:05:16+09:00 Subject: Re: possible bug: stack dump with <<-String, #{...} and large loops >>>>> "t" == ts writes: t> No, there is worst and with this ? pigeon% diff -u eval.c~ eval.c --- eval.c~ Wed Jun 5 07:25:11 2002 +++ eval.c Wed Jun 5 07:58:37 2002 @@ -2649,7 +2649,10 @@ case NODE_FLIP2: /* like AWK */ { VALUE *flip = rb_svar(node->nd_cnt); - if (!flip) rb_bug("unexpected local variable"); + if (!flip) { + special_local_set(node->nd_cnt, Qnil); + flip = &ruby_scope->local_vars[node->nd_cnt]; + } if (!RTEST(*flip)) { if (RTEST(rb_eval(self, node->nd_beg))) { *flip = RTEST(rb_eval(self, node->nd_end))?Qfalse:Qtrue; pigeon% pigeon% diff -u parse.y~ parse.y --- parse.y~ Wed Jun 5 07:25:11 2002 +++ parse.y Wed Jun 5 07:53:57 2002 @@ -5451,7 +5451,7 @@ return Qfalse; } -static void +void special_local_set(c, val) char c; VALUE val; pigeon% Guy Decoux