diff options
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | eval.c | 7 |
2 files changed, 11 insertions, 0 deletions
@@ -1,3 +1,7 @@ +Fri Aug 22 01:00:31 2003 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * eval.c (block_pass): improve passing current block. + Tue Aug 21 00:13:00 2003 Shigeo Kobayashi <shigek@ruby-lang.org> * ext/bigdecimal/bigdecimal.c: Int. overflow bug in multiplication fixed, @@ -7229,6 +7229,13 @@ block_pass(self, node) } } + if (ruby_block && ruby_block->block_obj == proc) { + PUSH_ITER(ITER_PRE); + result = rb_eval(self, node->nd_iter); + POP_ITER(); + return result; + } + Data_Get_Struct(proc, struct BLOCK, data); orphan = block_orphan(data); |