From 7ca59ecea2c15458e74c699da0629c319299e636 Mon Sep 17 00:00:00 2001 From: "Yukihiro \"Matz\" Matsumoto" Date: Tue, 29 Sep 2020 10:05:51 +0900 Subject: Revert e2e6554b56 not to use `MRB_TRY()`; close #5088 `MRB_TRY()` does not work when compiled by C compiler with `cxx_exception`, due to the mixture of `setjmp()` used by `mirb.c` and `throw` used by the core. The original intension of e2e6554b56 is to protect code from signal interruption, but the signal interruption is not well-defined in mruby anyway. --- mrbgems/mruby-bin-mirb/tools/mirb/mirb.c | 8 -------- 1 file changed, 8 deletions(-) (limited to 'mrbgems/mruby-bin-mirb/tools/mirb/mirb.c') diff --git a/mrbgems/mruby-bin-mirb/tools/mirb/mirb.c b/mrbgems/mruby-bin-mirb/tools/mirb/mirb.c index ffe22b885..8fa4fa822 100644 --- a/mrbgems/mruby-bin-mirb/tools/mirb/mirb.c +++ b/mrbgems/mruby-bin-mirb/tools/mirb/mirb.c @@ -525,10 +525,7 @@ main(int argc, char **argv) while (TRUE) { char *utf8; - struct mrb_jmpbuf c_jmp; - MRB_TRY(&c_jmp); - mrb->jmp = &c_jmp; if (args.rfp) { if (fgets(last_code_line, sizeof(last_code_line)-1, args.rfp) != NULL) goto done; @@ -687,11 +684,6 @@ main(int argc, char **argv) } mrb_parser_free(parser); cxt->lineno++; - MRB_CATCH(&c_jmp) { - p(mrb, mrb_obj_value(mrb->exc), 0); - mrb->exc = 0; - } - MRB_END_EXC(&c_jmp); } #ifdef ENABLE_READLINE -- cgit v1.2.3