From ab39ed4f825c1957546217a8c2e510244a967193 Mon Sep 17 00:00:00 2001 From: "Yukihiro \"Matz\" Matsumoto" Date: Fri, 11 Aug 2017 13:15:50 +0900 Subject: Defer `mid` update after `unshift`; ref #3776 --- src/vm.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/vm.c b/src/vm.c index f37ce57c8..22d7f997f 100644 --- a/src/vm.c +++ b/src/vm.c @@ -1393,7 +1393,6 @@ RETRY_TRY_BLOCK: ERR_PC_SET(mrb, pc); mrb_method_missing(mrb, mid, recv, args); } - mid = missing; if (n != CALL_MAXARGS) { if (a+2 >= irep->nregs) { stack_extend(mrb, a+3); @@ -1403,6 +1402,7 @@ RETRY_TRY_BLOCK: n = CALL_MAXARGS; } mrb_ary_unshift(mrb, regs[a+1], mrb_symbol_value(mid)); + mid = missing; } /* push callinfo */ -- cgit v1.2.3