[Bug #19016] Handle syntax error in main script like other errors

So that `SyntaxError#detailed_message` will be used also in the case
exiting by such syntax error.
This commit is contained in:
Nobuyoshi Nakada 2022-11-18 18:22:12 +09:00
parent 12b7b85227
commit 701dfe4eb7
No known key found for this signature in database
GPG key ID: 7CD2805BFA3770C6
Notes: git 2022-11-20 13:44:17 +00:00
2 changed files with 19 additions and 1 deletions

3
eval.c
View file

@ -121,6 +121,7 @@ ruby_options(int argc, char **argv)
else {
rb_ec_clear_current_thread_trace_func(ec);
state = error_handle(ec, state);
ec->errinfo = Qnil; /* just been handled */
iseq = (void *)INT2FIX(state);
}
EC_POP_TAG();
@ -317,7 +318,7 @@ ruby_run_node(void *n)
rb_execution_context_t *ec = GET_EC();
int status;
if (!ruby_executable_node(n, &status)) {
rb_ec_cleanup(ec, 0);
rb_ec_cleanup(ec, (NIL_P(ec->errinfo) ? TAG_NONE : TAG_RAISE));
return status;
}
ruby_init_stack((void *)&status);