diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2012-01-30 10:08:23 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2012-01-30 10:08:23 +0000 |
commit | 72969cd348ac6f00bbe71ad63120db0114b35367 (patch) | |
tree | d4f7ef5476957e10c14141cfcb3897d468eb8316 /vm_insnhelper.c | |
parent | cba57022b0685690b29bae9f8d9e8c264ab76fe0 (diff) | |
download | ruby-72969cd348ac6f00bbe71ad63120db0114b35367.tar.gz |
* vm_eval.c (vm_call0): should pass block to enumerators. patched
by Kazuki Tsujimoto. [ruby-dev:44961][Bug #5731]
* vm_eval.c (method_missing), vm_insnhelper.c (vm_call_method):
ditto. patched by satoshi shiba.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34399 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'vm_insnhelper.c')
-rw-r--r-- | vm_insnhelper.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/vm_insnhelper.c b/vm_insnhelper.c index 92f6f7c1e2..a123171580 100644 --- a/vm_insnhelper.c +++ b/vm_insnhelper.c @@ -599,6 +599,7 @@ vm_call_method(rb_thread_t *th, rb_control_frame_t *cfp, argv[0] = ID2SYM(me->def->original_id); MEMCPY(argv+1, cfp->sp - num, VALUE, num); cfp->sp += - num - 1; + th->passed_block = blockptr; val = rb_funcall2(recv, rb_intern("method_missing"), num+1, argv); break; } |