summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2017-06-02 11:26:32 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2017-06-02 11:26:32 +0900
commit079f310fbc9c23b97f062230c32bd91ac65e4835 (patch)
tree15219f08269c55869dd70884e05716e61229636b
parent51e0e690c27023e1f12603dc747aed3510638aaa (diff)
downloadmruby-079f310fbc9c23b97f062230c32bd91ac65e4835.tar.gz
mruby-079f310fbc9c23b97f062230c32bd91ac65e4835.zip
Adjust ridx if `mrb_yield` terminated by `break`; fix #3686
This issue is related to #3640.
-rw-r--r--src/vm.c2
1 files changed, 1 insertions, 1 deletions
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);
}