diff options
| author | Yukihiro "Matz" Matsumoto <[email protected]> | 2017-03-15 09:00:03 +0900 |
|---|---|---|
| committer | Yukihiro "Matz" Matsumoto <[email protected]> | 2017-03-15 09:00:03 +0900 |
| commit | f8b31a0db671b71d2794ce866b87596a09c10bf0 (patch) | |
| tree | f7007492655313cae62406b788f6df653bea94f7 /mrbgems/mruby-eval/src/eval.c | |
| parent | 4b1e5d47b326d0ca3272370b8d13b85344f929fd (diff) | |
| download | mruby-f8b31a0db671b71d2794ce866b87596a09c10bf0.tar.gz mruby-f8b31a0db671b71d2794ce866b87596a09c10bf0.zip | |
`instance_eval` method does not introduce C function boundary; fix #3508
Diffstat (limited to 'mrbgems/mruby-eval/src/eval.c')
| -rw-r--r-- | mrbgems/mruby-eval/src/eval.c | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/mrbgems/mruby-eval/src/eval.c b/mrbgems/mruby-eval/src/eval.c index 907e3f666..8b402e78c 100644 --- a/mrbgems/mruby-eval/src/eval.c +++ b/mrbgems/mruby-eval/src/eval.c @@ -231,7 +231,6 @@ f_eval(mrb_state *mrb, mrb_value self) static mrb_value f_instance_eval(mrb_state *mrb, mrb_value self) { - struct mrb_context *c = mrb->c; mrb_value b; mrb_int argc; mrb_value *argv; @@ -246,10 +245,9 @@ f_instance_eval(mrb_state *mrb, mrb_value self) struct RProc *proc; mrb_get_args(mrb, "s|zi", &s, &len, &file, &line); - c->ci->acc = CI_ACC_SKIP; cv = mrb_singleton_class(mrb, self); - c->ci->target_class = mrb_class_ptr(cv); proc = create_proc_from_string(mrb, s, len, mrb_nil_value(), file, line); + proc->target_class = mrb_class_ptr(cv); mrb->c->ci->env = NULL; mrb_assert(!MRB_PROC_CFUNC_P(proc)); return mrb_exec_irep(mrb, self, proc); |
