From 5eafb6e10dcc90af83bfe10045244a0fef12bdd2 Mon Sep 17 00:00:00 2001 From: nobu Date: Thu, 21 Aug 2003 16:00:34 +0000 Subject: [PATCH] * eval.c (block_pass): improve passing current block. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4421 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 4 ++++ eval.c | 7 +++++++ 2 files changed, 11 insertions(+) diff --git a/ChangeLog b/ChangeLog index ad8152a9c8..22046e973f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +Fri Aug 22 01:00:31 2003 Nobuyoshi Nakada + + * eval.c (block_pass): improve passing current block. + Tue Aug 21 00:13:00 2003 Shigeo Kobayashi * ext/bigdecimal/bigdecimal.c: Int. overflow bug in multiplication fixed, diff --git a/eval.c b/eval.c index 986eb197ac..6612bacb93 100644 --- a/eval.c +++ b/eval.c @@ -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);