aboutsummaryrefslogtreecommitdiffstats
path: root/ruby.c
diff options
context:
space:
mode:
authorNobuyoshi Nakada <nobu@ruby-lang.org>2023-08-25 16:53:29 +0900
committerNobuyoshi Nakada <nobu@ruby-lang.org>2023-08-25 18:23:05 +0900
commit6aa16f9ec14a296f549dc955774ad2293d1c54d6 (patch)
tree39498c84bbdf2d7edd499d6e60642c1ca34cb908 /ruby.c
parentd9cba2fc74addc3e0a6da0fe230fd333fb1c31ac (diff)
downloadruby-6aa16f9ec14a296f549dc955774ad2293d1c54d6.tar.gz
Move SCRIPT_LINES__ away from parse.y
Diffstat (limited to 'ruby.c')
-rw-r--r--ruby.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/ruby.c b/ruby.c
index 243fbac596..2b4397c001 100644
--- a/ruby.c
+++ b/ruby.c
@@ -2397,6 +2397,8 @@ struct load_file_arg {
VALUE f;
};
+VALUE rb_script_lines_for(VALUE path, bool add);
+
static VALUE
load_file_internal(VALUE argp_v)
{
@@ -2499,6 +2501,12 @@ load_file_internal(VALUE argp_v)
}
rb_parser_set_options(parser, opt->do_print, opt->do_loop,
opt->do_line, opt->do_split);
+
+ VALUE lines = rb_script_lines_for(orig_fname, true);
+ if (!NIL_P(lines)) {
+ rb_parser_set_script_lines(parser, lines);
+ }
+
if (NIL_P(f)) {
f = rb_str_new(0, 0);
rb_enc_associate(f, enc);