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 | 5eafb6e10dcc90af83bfe10045244a0fef12bdd2 (patch) | |
tree | 6282ebc0393792d96245eca04b989d637b1aacc8 /eval.c | |
parent | 39503e4d0fca75b03e78a03a55dec8f063dec224 (diff) |
* 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
Diffstat (limited to 'eval.c')
-rw-r--r-- | eval.c | 7 |
1 files changed, 7 insertions, 0 deletions
@@ -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); |