diff options
| author | Yukihiro "Matz" Matsumoto <[email protected]> | 2017-04-22 14:35:36 +0900 |
|---|---|---|
| committer | Yukihiro "Matz" Matsumoto <[email protected]> | 2017-04-22 14:35:36 +0900 |
| commit | 5513fcee22ceab9293bff7815f961616c1fa3e83 (patch) | |
| tree | 917ae5efe1eff1f8b56342ba822137f9f450419c /mrbgems/mruby-eval/src | |
| parent | 3b0a36d3993ff6c553b171c8bcb0e703a471ef5e (diff) | |
| download | mruby-5513fcee22ceab9293bff7815f961616c1fa3e83.tar.gz mruby-5513fcee22ceab9293bff7815f961616c1fa3e83.zip | |
Keep reference to mrb_context from env; fix #3619
Diffstat (limited to 'mrbgems/mruby-eval/src')
| -rw-r--r-- | mrbgems/mruby-eval/src/eval.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/mrbgems/mruby-eval/src/eval.c b/mrbgems/mruby-eval/src/eval.c index 5e8952f0d..00cb2f15c 100644 --- a/mrbgems/mruby-eval/src/eval.c +++ b/mrbgems/mruby-eval/src/eval.c @@ -30,7 +30,7 @@ get_closure_irep(mrb_state *mrb, int level) if (!e) return NULL; if (!MRB_ENV_STACK_SHARED_P(e)) return NULL; - + c = e->cxt.c; proc = c->cibase[e->cioff].proc; if (!proc || MRB_PROC_CFUNC_P(proc)) { @@ -196,7 +196,7 @@ create_proc_from_string(mrb_state *mrb, char *s, int len, mrb_value binding, con e = c->ci[-1].proc->env; if (!e) e = c->ci[-1].env; e = (struct REnv*)mrb_obj_alloc(mrb, MRB_TT_ENV, (struct RClass*)e); - e->mid = c->ci[-1].mid; + e->cxt.c = c; e->cioff = c->ci - c->cibase - 1; e->stack = c->ci->stackent; MRB_SET_ENV_STACK_LEN(e, c->ci[-1].proc->body.irep->nlocals); |
