diff options
author | NARUSE, Yui <naruse@airemix.jp> | 2021-02-01 19:19:11 +0900 |
---|---|---|
committer | NARUSE, Yui <naruse@airemix.jp> | 2021-02-01 19:19:27 +0900 |
commit | 9aa7b57ba4453fce871011c1d9587536d425700f (patch) | |
tree | 5b7e5c12b03ee451482fc027d977ea52d926d788 | |
parent | 147453ad1e85bc94506c269e363e736675946908 (diff) |
merge revision(s) 6f6dfdcc685077f0f85dcdd63843ecfc0f6fbfb6: [Backport #17523]
Make warning values consistent [Bug #17523]
They should be affected, as well as `$VERBOSE`, by `-w`/`-W`
options, not only in the main script but in scripts loaded by `-r`
option too.
---
ruby.c | 4 ++--
test/ruby/test_rubyoptions.rb | 9 +++++++++
2 files changed, 11 insertions(+), 2 deletions(-)
-rw-r--r-- | ruby.c | 4 | ||||
-rw-r--r-- | test/ruby/test_rubyoptions.rb | 9 | ||||
-rw-r--r-- | version.h | 2 |
3 files changed, 12 insertions, 3 deletions
@@ -1510,6 +1510,8 @@ ruby_opt_init(ruby_cmdline_options_t *opt) } } + rb_warning_category_update(opt->warn.mask, opt->warn.set); + Init_ext(); /* load statically linked extensions before rubygems */ rb_call_builtin_inits(); ruby_init_prelude(); @@ -1946,7 +1948,6 @@ process_options(int argc, char **argv, ruby_cmdline_options_t *opt) ruby_set_script_name(progname); rb_parser_set_options(parser, opt->do_print, opt->do_loop, opt->do_line, opt->do_split); - rb_warning_category_update(opt->warn.mask, opt->warn.set); ast = rb_parser_compile_string(parser, opt->script, opt->e_script, 1); } else { @@ -2186,7 +2187,6 @@ load_file_internal(VALUE argp_v) } rb_parser_set_options(parser, opt->do_print, opt->do_loop, opt->do_line, opt->do_split); - rb_warning_category_update(opt->warn.mask, opt->warn.set); if (NIL_P(f)) { f = rb_str_new(0, 0); rb_enc_associate(f, enc); diff --git a/test/ruby/test_rubyoptions.rb b/test/ruby/test_rubyoptions.rb index 214b89c9b8..b7831948f0 100644 --- a/test/ruby/test_rubyoptions.rb +++ b/test/ruby/test_rubyoptions.rb @@ -85,6 +85,15 @@ class TestRubyOptions < Test::Unit::TestCase assert_in_out_err(%w(-W -e) + ['p Warning[:deprecated]'], "", %w(true), []) assert_in_out_err(%w(-We) + ['p Warning[:deprecated]'], "", %w(true), []) assert_in_out_err(%w(-e) + ['p Warning[:deprecated]'], "", %w(false), []) + code = 'puts "#{$VERBOSE}:#{Warning[:deprecated]}:#{Warning[:experimental]}"' + Tempfile.create(["test_ruby_test_rubyoption", ".rb"]) do |t| + t.puts code + t.close + assert_in_out_err(["-r#{t.path}", '-e', code], "", %w(false:false:true false:false:true), []) + assert_in_out_err(["-r#{t.path}", '-w', '-e', code], "", %w(true:true:true true:true:true), []) + assert_in_out_err(["-r#{t.path}", '-W:deprecated', '-e', code], "", %w(false:true:true false:true:true), []) + assert_in_out_err(["-r#{t.path}", '-W:no-experimental', '-e', code], "", %w(false:false:false false:false:false), []) + end ensure ENV['RUBYOPT'] = save_rubyopt end @@ -12,7 +12,7 @@ # define RUBY_VERSION_MINOR RUBY_API_VERSION_MINOR #define RUBY_VERSION_TEENY 0 #define RUBY_RELEASE_DATE RUBY_RELEASE_YEAR_STR"-"RUBY_RELEASE_MONTH_STR"-"RUBY_RELEASE_DAY_STR -#define RUBY_PATCHLEVEL 2 +#define RUBY_PATCHLEVEL 17 #define RUBY_RELEASE_YEAR 2021 #define RUBY_RELEASE_MONTH 2 |