diff options
| author | Yukihiro "Matz" Matsumoto <[email protected]> | 2014-08-08 17:13:27 +0900 |
|---|---|---|
| committer | Yukihiro "Matz" Matsumoto <[email protected]> | 2014-08-08 17:13:27 +0900 |
| commit | b54682bb8ee83a719dbb08dc2176a0127220e291 (patch) | |
| tree | 361727915de45344f9f95ebc349cb608684636c7 /mrbgems/mruby-eval/src/eval.c | |
| parent | 569c7dec5f884c3d1345dcc22b7ac0f568a06437 (diff) | |
| parent | 432e8e9ea9f1acb32c7cac9bf41c4b106f88c065 (diff) | |
| download | mruby-b54682bb8ee83a719dbb08dc2176a0127220e291.tar.gz mruby-b54682bb8ee83a719dbb08dc2176a0127220e291.zip | |
Merge pull request #2519 from SatoshiOdawara/fix_context_of_eval
fixed evaluation context of eval(string) and instance_eval(string)
Diffstat (limited to 'mrbgems/mruby-eval/src/eval.c')
| -rw-r--r-- | mrbgems/mruby-eval/src/eval.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/mrbgems/mruby-eval/src/eval.c b/mrbgems/mruby-eval/src/eval.c index ece769faf..56f4877cc 100644 --- a/mrbgems/mruby-eval/src/eval.c +++ b/mrbgems/mruby-eval/src/eval.c @@ -132,6 +132,9 @@ create_proc_from_string(mrb_state *mrb, char *s, int len, mrb_value binding, cha } proc = mrb_generate_code(mrb, p); + if (mrb->c->ci[-1].proc->target_class) { + proc->target_class = mrb->c->ci[-1].proc->target_class; + } e = (struct REnv*)mrb_obj_alloc(mrb, MRB_TT_ENV, (struct RClass*)mrb->c->ci[-1].proc->env); e->mid = mrb->c->ci[-1].mid; e->cioff = mrb->c->ci - mrb->c->cibase - 1; |
