[Bug #19016] SyntaxError with parser error messages

Raise a `SyntaxError` with the parser error message, in the case
reading from a file instead of the `-e` option or standard input. So
syntax_suggest can get the message from the caught error.
This commit is contained in:
Nobuyoshi Nakada 2022-11-11 17:51:31 +09:00
parent 5b959e238e
commit b7a0ce32da
Notes: git 2022-11-21 15:33:39 +00:00
2 changed files with 15 additions and 2 deletions

5
ruby.c
View file

@ -2085,11 +2085,11 @@ process_options(int argc, char **argv, ruby_cmdline_options_t *opt)
ruby_set_argv(argc, argv);
process_sflag(&opt->sflag);
rb_parser_set_context(parser, 0, TRUE);
if (opt->e_script) {
VALUE progname = rb_progname;
rb_encoding *eenc;
rb_parser_set_context(parser, 0, TRUE);
if (opt->src.enc.index >= 0) {
eenc = rb_enc_from_index(opt->src.enc.index);
}
@ -2114,6 +2114,7 @@ process_options(int argc, char **argv, ruby_cmdline_options_t *opt)
else {
VALUE f;
f = open_load_file(script_name, &opt->xflag);
rb_parser_set_context(parser, 0, f == rb_stdin);
ast = load_file(parser, opt->script_name, f, 1, opt);
}
ruby_set_script_name(opt->script_name);