summaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2013-09-21 04:16:28 -0700
committerYukihiro "Matz" Matsumoto <[email protected]>2013-09-21 04:16:28 -0700
commiteeac4be4ce06542361c61a42a1d413a4098467b5 (patch)
tree180b7a296052e7e7bf9ad45ddd1e456fe3938939 /src
parent3995e7ff8f970ec9f2fb60fba2338108f6f07e05 (diff)
parent862517d540c12a54c5750e83a65274bccfe9df51 (diff)
downloadmruby-eeac4be4ce06542361c61a42a1d413a4098467b5.tar.gz
mruby-eeac4be4ce06542361c61a42a1d413a4098467b5.zip
Merge pull request #1507 from ktaobo/yield-self
Use self for the given proc in mrb_yield
Diffstat (limited to 'src')
-rw-r--r--src/vm.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/vm.c b/src/vm.c
index 0a574c1b7..16bfe5329 100644
--- a/src/vm.c
+++ b/src/vm.c
@@ -460,7 +460,7 @@ mrb_yield_argv(mrb_state *mrb, mrb_value b, int argc, mrb_value *argv)
{
struct RProc *p = mrb_proc_ptr(b);
- return mrb_yield_internal(mrb, b, argc, argv, mrb->c->stack[0], p->target_class);
+ return mrb_yield_internal(mrb, b, argc, argv, p->env->stack[0], p->target_class);
}
mrb_value
@@ -468,7 +468,7 @@ mrb_yield(mrb_state *mrb, mrb_value b, mrb_value arg)
{
struct RProc *p = mrb_proc_ptr(b);
- return mrb_yield_internal(mrb, b, 1, &arg, mrb->c->stack[0], p->target_class);
+ return mrb_yield_internal(mrb, b, 1, &arg, p->env->stack[0], p->target_class);
}
typedef enum {