diff options
author | HParker <[email protected]> | 2023-12-05 16:57:29 -0800 |
---|---|---|
committer | Yusuke Endoh <[email protected]> | 2023-12-06 10:21:12 +0900 |
commit | b8b319dd1a48b695df8982eacf8b1ee0004c7a8b (patch) | |
tree | c19bbf39c3146c43fcc157ca27e931c76d386530 /ruby.c | |
parent | c146da50bd8ae42236987f33dd3d4d12cb40a559 (diff) |
Revert "allow enabling Prism via flag or env var"
This reverts commit 9b76c7fc89460ed8e9be40e4037c1d68395c0f6d.
Diffstat (limited to 'ruby.c')
-rw-r--r-- | ruby.c | 101 |
1 files changed, 36 insertions, 65 deletions
@@ -362,7 +362,6 @@ usage(const char *name, int help, int highlight, int columns) "enable or disable features. see below for available features"), M("--external-encoding=encoding", ", --internal-encoding=encoding", "specify the default external or internal character encoding"), - M("--prism", "", "parse and compile using prism"), M("--backtrace-limit=num", "", "limit the maximum length of backtrace"), M("--verbose", "", "turn on verbose mode and disable script from stdin"), M("--version", "", "print the version number, then exit"), @@ -1421,9 +1420,6 @@ proc_long_options(ruby_cmdline_options_t *opt, const char *s, long argc, char ** opt->verbose = 1; ruby_verbose = Qtrue; } - else if (strcmp("prism", s) == 0) { - (*rb_ruby_prism_ptr()) = true; - } else if (strcmp("jit", s) == 0) { #if !USE_RJIT rb_warn("Ruby was built without JIT support"); @@ -1757,9 +1753,6 @@ ruby_opt_init(ruby_cmdline_options_t *opt) rb_warn_deprecated("The environment variable RUBY_GC_HEAP_INIT_SLOTS", "environment variables RUBY_GC_HEAP_%d_INIT_SLOTS"); } - if (getenv("RUBY_PRISM")) { - (*rb_ruby_prism_ptr()) = true; - } #if USE_RJIT // rb_call_builtin_inits depends on RubyVM::RJIT.enabled? @@ -1978,7 +1971,7 @@ process_options(int argc, char **argv, ruby_cmdline_options_t *opt) rb_ast_t *ast = 0; VALUE parser; VALUE script_name; - rb_iseq_t *iseq; + const rb_iseq_t *iseq; rb_encoding *enc, *lenc; #if UTF8_PATH rb_encoding *ienc = 0; @@ -2246,41 +2239,39 @@ process_options(int argc, char **argv, ruby_cmdline_options_t *opt) ruby_set_argv(argc, argv); opt->sflag = process_sflag(opt->sflag); - if (!(*rb_ruby_prism_ptr())) { - if (opt->e_script) { - VALUE progname = rb_progname; - rb_encoding *eenc; - 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); - } - else { - eenc = lenc; -#if UTF8_PATH - if (ienc) eenc = ienc; -#endif - } + if (opt->src.enc.index >= 0) { + eenc = rb_enc_from_index(opt->src.enc.index); + } + else { + eenc = lenc; #if UTF8_PATH - if (eenc != uenc) { - opt->e_script = str_conv_enc(opt->e_script, uenc, eenc); - } + if (ienc) eenc = ienc; #endif - rb_enc_associate(opt->e_script, eenc); - ruby_opt_init(opt); - ruby_set_script_name(progname); - rb_parser_set_options(parser, opt->do_print, opt->do_loop, - opt->do_line, opt->do_split); - ast = rb_parser_compile_string(parser, opt->script, opt->e_script, 1); } - else { - VALUE f; - int xflag = opt->xflag; - f = open_load_file(script_name, &xflag); - opt->xflag = xflag != 0; - rb_parser_set_context(parser, 0, f == rb_stdin); - ast = load_file(parser, opt->script_name, f, 1, opt); +#if UTF8_PATH + if (eenc != uenc) { + opt->e_script = str_conv_enc(opt->e_script, uenc, eenc); } +#endif + rb_enc_associate(opt->e_script, eenc); + ruby_opt_init(opt); + ruby_set_script_name(progname); + rb_parser_set_options(parser, opt->do_print, opt->do_loop, + opt->do_line, opt->do_split); + ast = rb_parser_compile_string(parser, opt->script, opt->e_script, 1); + } + else { + VALUE f; + int xflag = opt->xflag; + f = open_load_file(script_name, &xflag); + opt->xflag = xflag != 0; + 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); if (dump & DUMP_BIT(yydebug)) { @@ -2305,7 +2296,7 @@ process_options(int argc, char **argv, ruby_cmdline_options_t *opt) rb_enc_set_default_internal(Qnil); rb_stdio_set_default_encoding(); - if (!(*rb_ruby_prism_ptr()) && !ast->body.root) { + if (!ast->body.root) { rb_ast_dispose(ast); return Qfalse; } @@ -2381,32 +2372,13 @@ process_options(int argc, char **argv, ruby_cmdline_options_t *opt) } } - if ((*rb_ruby_prism_ptr())) { - pm_string_t input; - pm_options_t options = { 0 }; - - if (opt->e_script) { - pm_string_constant_init(&input, RSTRING_PTR(opt->e_script), RSTRING_LEN(opt->e_script)); - pm_options_filepath_set(&options, "-e"); - } - else { - pm_string_mapped_init(&input, RSTRING_PTR(opt->script_name)); - pm_options_filepath_set(&options, RSTRING_PTR(opt->script_name)); - } - iseq = rb_iseq_new_main_prism(&input, &options, path); - - pm_string_free(&input); - pm_options_free(&options); - } - else { - rb_binding_t *toplevel_binding; - GetBindingPtr(rb_const_get(rb_cObject, rb_intern("TOPLEVEL_BINDING")), - toplevel_binding); - const struct rb_block *base_block = toplevel_context(toplevel_binding); - iseq = rb_iseq_new_main(&ast->body, opt->script_name, path, vm_block_iseq(base_block), !(dump & DUMP_BIT(insns_without_opt))); - rb_ast_dispose(ast); - } + rb_binding_t *toplevel_binding; + GetBindingPtr(rb_const_get(rb_cObject, rb_intern("TOPLEVEL_BINDING")), + toplevel_binding); + const struct rb_block *base_block = toplevel_context(toplevel_binding); + iseq = rb_iseq_new_main(&ast->body, opt->script_name, path, vm_block_iseq(base_block), !(dump & DUMP_BIT(insns_without_opt))); + rb_ast_dispose(ast); } if (dump & (DUMP_BIT(insns) | DUMP_BIT(insns_without_opt))) { @@ -2962,7 +2934,6 @@ ruby_process_options(int argc, char **argv) ruby_cmdline_options_t opt; VALUE iseq; const char *script_name = (argc > 0 && argv[0]) ? argv[0] : ruby_engine; - (*rb_ruby_prism_ptr()) = false; if (!origarg.argv || origarg.argc <= 0) { origarg.argc = argc; |