diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2003-08-21 16:00:34 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2003-08-21 16:00:34 +0000 |
commit | efa6ec0334bba2e2753dd68d9735997de2cb1dbb (patch) | |
tree | 6282ebc0393792d96245eca04b989d637b1aacc8 | |
parent | 3f3f0dd9f44cd667f941628ae6cfaddd7641d8ba (diff) | |
download | ruby-efa6ec0334bba2e2753dd68d9735997de2cb1dbb.tar.gz ruby-efa6ec0334bba2e2753dd68d9735997de2cb1dbb.tar.xz ruby-efa6ec0334bba2e2753dd68d9735997de2cb1dbb.zip |
* eval.c (block_pass): improve passing current block.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@4421 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-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); |