diff options
| author | Yukihiro "Matz" Matsumoto <[email protected]> | 2017-05-25 14:13:54 +0900 |
|---|---|---|
| committer | Yukihiro "Matz" Matsumoto <[email protected]> | 2017-05-25 14:13:54 +0900 |
| commit | ed16535c73b9eb763e445e23489e7a73144f6f09 (patch) | |
| tree | 658045a5ee76e6dd24b48577e3e798efbbb31551 /src/vm.c | |
| parent | f88cb8807343c91c2fbad486aa6b09ccee0b9643 (diff) | |
| download | mruby-ed16535c73b9eb763e445e23489e7a73144f6f09.tar.gz mruby-ed16535c73b9eb763e445e23489e7a73144f6f09.zip | |
Clear top level env in `mrb_top_run()`; fix #3643
Diffstat (limited to 'src/vm.c')
| -rw-r--r-- | src/vm.c | 6 |
1 files changed, 5 insertions, 1 deletions
@@ -2740,7 +2740,11 @@ mrb_top_run(mrb_state *mrb, struct RProc *proc, mrb_value self, unsigned int sta mrb_callinfo *ci; mrb_value v; - if (!mrb->c->cibase || mrb->c->ci == mrb->c->cibase) { + if (!mrb->c->cibase) { + return mrb_vm_run(mrb, proc, self, stack_keep); + } + if (mrb->c->ci == mrb->c->cibase) { + mrb->c->ci->env = NULL; return mrb_vm_run(mrb, proc, self, stack_keep); } ci = cipush(mrb); |
