summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2013-02-09 04:43:07 -0800
committerYukihiro "Matz" Matsumoto <[email protected]>2013-02-09 04:43:07 -0800
commit9a439245dfcbe520a9d2f6b70cb056b9ad351365 (patch)
tree8cefa28c888612967330e6de688cb6f0d4147eb8
parentf2f16d64a06c9f83fcbe9a125fa8a25bf5ea668a (diff)
parent92eb282b7a3b686ed017c6db5e1c553e02f6589c (diff)
downloadmruby-9a439245dfcbe520a9d2f6b70cb056b9ad351365.tar.gz
mruby-9a439245dfcbe520a9d2f6b70cb056b9ad351365.zip
Merge pull request #831 from carsonmcdonald/ciidxfix
Don't overwrite ciidx if it is already set.
-rw-r--r--src/vm.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/vm.c b/src/vm.c
index a2df8abdf..bde38612e 100644
--- a/src/vm.c
+++ b/src/vm.c
@@ -1160,7 +1160,7 @@ mrb_run(mrb_state *mrb, struct RProc *proc, mrb_value self)
L_RAISE:
ci = mrb->ci;
mrb_obj_iv_ifnone(mrb, mrb->exc, mrb_intern(mrb, "lastpc"), mrb_voidp_value(pc));
- mrb_obj_iv_set(mrb, mrb->exc, mrb_intern(mrb, "ciidx"), mrb_fixnum_value(ci - mrb->cibase));
+ mrb_obj_iv_ifnone(mrb, mrb->exc, mrb_intern(mrb, "ciidx"), mrb_fixnum_value(ci - mrb->cibase));
eidx = ci->eidx;
if (ci == mrb->cibase) {
if (ci->ridx == 0) goto L_STOP;