diff options
| author | Yukihiro "Matz" Matsumoto <[email protected]> | 2017-05-25 10:31:48 +0900 |
|---|---|---|
| committer | Yukihiro "Matz" Matsumoto <[email protected]> | 2017-05-25 10:31:48 +0900 |
| commit | 9bca887ac454770a8d759832853a78a5fc942147 (patch) | |
| tree | 5814f01bb96cf08ad4201f9655dca7461052be52 | |
| parent | 9644ad51b4a63d8db46d7918ec5e89a547236c56 (diff) | |
| download | mruby-9bca887ac454770a8d759832853a78a5fc942147.tar.gz mruby-9bca887ac454770a8d759832853a78a5fc942147.zip | |
Preserve the current pc before `method_missing()`; fix #3660
| -rw-r--r-- | src/vm.c | 3 |
1 files changed, 3 insertions, 0 deletions
@@ -1273,6 +1273,7 @@ RETRY_TRY_BLOCK: else { args = mrb_ary_new_from_values(mrb, n, regs+a+1); } + ERR_PC_SET(mrb, pc); mrb_method_missing(mrb, mid, recv, args); } mid = missing; @@ -1460,6 +1461,7 @@ RETRY_TRY_BLOCK: else { args = mrb_ary_new_from_values(mrb, n, regs+a+1); } + ERR_PC_SET(mrb, pc); mrb_method_missing(mrb, mid, recv, args); } mid = missing; @@ -1941,6 +1943,7 @@ RETRY_TRY_BLOCK: else { args = mrb_ary_new_from_values(mrb, n, regs+a+1); } + ERR_PC_SET(mrb, pc); mrb_method_missing(mrb, mid, recv, args); } mid = missing; |
