summaryrefslogtreecommitdiffhomepage
path: root/src/vm.c
diff options
context:
space:
mode:
authorKeita Obo <[email protected]>2013-09-20 17:23:00 +0900
committerKeita Obo <[email protected]>2013-09-20 17:40:55 +0900
commit862517d540c12a54c5750e83a65274bccfe9df51 (patch)
tree8b1e762c197d80d965af6d216a657f591dcf08ab /src/vm.c
parentd74887f5822e3ec75f29fbb1de3ae6c9fe282513 (diff)
downloadmruby-862517d540c12a54c5750e83a65274bccfe9df51.tar.gz
mruby-862517d540c12a54c5750e83a65274bccfe9df51.zip
Use self for the given proc
Diffstat (limited to 'src/vm.c')
-rw-r--r--src/vm.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/vm.c b/src/vm.c
index 78f32ac96..8ab7a5310 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 {