diff --git a/ChangeLog b/ChangeLog index 20f8c21760..abaacb8141 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +Thu Oct 9 10:51:04 2003 Nobuyoshi Nakada + + * eval.c (rb_yield_0): no error if block is empty. + Thu Oct 9 06:43:33 2003 Nobuyoshi Nakada * eval.c (localjump_error): id should be ID. diff --git a/eval.c b/eval.c index 3e4f691b58..9d3ce0867a 100644 --- a/eval.c +++ b/eval.c @@ -4162,7 +4162,10 @@ rb_yield_0(val, self, klass, flags, avalue) POP_TAG(); if (state) goto pop_state; } - if (!node) goto pop_state; + if (!node) { + state = 0; + goto pop_state; + } PUSH_ITER(block->iter); PUSH_TAG(PROT_NONE);