diff options
Diffstat (limited to 'ruby.c')
-rw-r--r-- | ruby.c | 8 |
1 files changed, 4 insertions, 4 deletions
@@ -1587,9 +1587,9 @@ load_file_internal(VALUE arg) extern VALUE rb_stdin; struct load_file_arg *argp = (struct load_file_arg *)arg; VALUE parser = argp->parser; - VALUE fname_v = rb_str_encode_ospath(argp->fname); + VALUE orig_fname = argp->fname; + VALUE fname_v = rb_str_encode_ospath(orig_fname); const char *fname = StringValueCStr(fname_v); - const char *orig_fname = StringValueCStr(argp->fname); int script = argp->script; struct cmdline_options *opt = argp->opt; VALUE f; @@ -1723,10 +1723,10 @@ load_file_internal(VALUE arg) if (NIL_P(f)) { f = rb_str_new(0, 0); rb_enc_associate(f, enc); - return (VALUE)rb_parser_compile_string(parser, orig_fname, f, line_start); + return (VALUE)rb_parser_compile_string_path(parser, orig_fname, f, line_start); } rb_funcall(f, set_encoding, 2, rb_enc_from_encoding(enc), rb_str_new_cstr("-")); - tree = rb_parser_compile_file(parser, orig_fname, f, line_start); + tree = rb_parser_compile_file_path(parser, orig_fname, f, line_start); rb_funcall(f, set_encoding, 1, rb_parser_encoding(parser)); if (script && tree && rb_parser_end_seen_p(parser)) { /* |