summaryrefslogtreecommitdiff
path: root/vm_insnhelper.c
diff options
context:
space:
mode:
authorkosaki <kosaki@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2012-02-06 20:03:14 +0000
committerkosaki <kosaki@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2012-02-06 20:03:14 +0000
commit4b295bb7ca2f4ea4aaee2eaf730fb55aae4f716e (patch)
treea023dd2f7778d1f8da207a3880f071c27e9c0f47 /vm_insnhelper.c
parent15090079a26e0e432cd3d5df7b2b3d59e4fd3f9a (diff)
merge revision(s) r34399:
* 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/branches/ruby_1_9_3@34450 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'vm_insnhelper.c')
-rw-r--r--vm_insnhelper.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/vm_insnhelper.c b/vm_insnhelper.c
index 5ce46d6331..55152df2d9 100644
--- a/vm_insnhelper.c
+++ b/vm_insnhelper.c
@@ -555,6 +555,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;
}