From 079f310fbc9c23b97f062230c32bd91ac65e4835 Mon Sep 17 00:00:00 2001 From: "Yukihiro \"Matz\" Matsumoto" Date: Fri, 2 Jun 2017 11:26:32 +0900 Subject: Adjust ridx if `mrb_yield` terminated by `break`; fix #3686 This issue is related to #3640. --- src/vm.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/vm.c b/src/vm.c index 9a30c4d16..6070ecba1 100644 --- a/src/vm.c +++ b/src/vm.c @@ -283,8 +283,8 @@ cipop(mrb_state *mrb) struct mrb_context *c = mrb->c; struct REnv *env = c->ci->env; + c->ridx = c->ci->rpos; c->ci--; - if (env) { mrb_env_unshare(mrb, env); } -- cgit v1.2.3