mirror of
https://github.com/ruby/ruby.git
synced 2025-08-15 13:39:04 +02:00
[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:
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
5
ruby.c
|
@ -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);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue