vm_eval.c: blockarg

* vm_eval.c (rb_yield_block): implement non-nil block argument.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43927 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
nobu 2013-11-30 04:21:26 +00:00
parent 4ce307aeee
commit dacc2c2436
8 changed files with 71 additions and 8 deletions

View file

@ -994,7 +994,9 @@ rb_yield_block(VALUE val, VALUE arg, int argc, const VALUE *argv, VALUE blockarg
{
const rb_block_t *blockptr = 0;
if (!NIL_P(blockarg)) {
rb_notimplement();
rb_proc_t *blockproc;
GetProcPtr(blockarg, blockproc);
blockptr = &blockproc->block;
}
return vm_yield_with_block(GET_THREAD(), argc, argv, blockptr);
}