ruby.c: command line option over RUBYOPT env
* ruby.c (proc_options): -W command line option should be able to override -w in RUBYOPT environment variable. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53369 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
b6b1038c6b
commit
66fe2c0dd9
@ -1,3 +1,8 @@
|
|||||||
|
Tue Dec 29 19:12:46 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
||||||
|
|
||||||
|
* ruby.c (proc_options): -W command line option should be able to
|
||||||
|
override -w in RUBYOPT environment variable.
|
||||||
|
|
||||||
Tue Dec 29 17:54:16 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
Tue Dec 29 17:54:16 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
||||||
|
|
||||||
* eval.c (ignored_block): warn if a block is given to `using`,
|
* eval.c (ignored_block): warn if a block is given to `using`,
|
||||||
|
10
ruby.c
10
ruby.c
@ -110,6 +110,7 @@ struct cmdline_options {
|
|||||||
} enc;
|
} enc;
|
||||||
} src, ext, intern;
|
} src, ext, intern;
|
||||||
VALUE req_list;
|
VALUE req_list;
|
||||||
|
unsigned int warning: 1;
|
||||||
};
|
};
|
||||||
|
|
||||||
static void init_ids(struct cmdline_options *);
|
static void init_ids(struct cmdline_options *);
|
||||||
@ -879,15 +880,19 @@ proc_options(long argc, char **argv, struct cmdline_options *opt, int envopt)
|
|||||||
opt->dump |= DUMP_BIT(version_v);
|
opt->dump |= DUMP_BIT(version_v);
|
||||||
opt->verbose = 1;
|
opt->verbose = 1;
|
||||||
case 'w':
|
case 'w':
|
||||||
ruby_verbose = Qtrue;
|
if (!opt->warning) {
|
||||||
|
opt->warning = 1;
|
||||||
|
ruby_verbose = Qtrue;
|
||||||
|
}
|
||||||
s++;
|
s++;
|
||||||
goto reswitch;
|
goto reswitch;
|
||||||
|
|
||||||
case 'W':
|
case 'W':
|
||||||
{
|
if (!opt->warning) {
|
||||||
size_t numlen;
|
size_t numlen;
|
||||||
int v = 2; /* -W as -W2 */
|
int v = 2; /* -W as -W2 */
|
||||||
|
|
||||||
|
opt->warning = 1;
|
||||||
if (*++s) {
|
if (*++s) {
|
||||||
v = scan_oct(s, 1, &numlen);
|
v = scan_oct(s, 1, &numlen);
|
||||||
if (numlen == 0)
|
if (numlen == 0)
|
||||||
@ -1705,6 +1710,7 @@ load_file_internal(VALUE argp_v)
|
|||||||
if (RSTRING_PTR(line)[RSTRING_LEN(line) - 2] == '\r')
|
if (RSTRING_PTR(line)[RSTRING_LEN(line) - 2] == '\r')
|
||||||
RSTRING_PTR(line)[RSTRING_LEN(line) - 2] = '\0';
|
RSTRING_PTR(line)[RSTRING_LEN(line) - 2] = '\0';
|
||||||
if ((p = strstr(p, " -")) != 0) {
|
if ((p = strstr(p, " -")) != 0) {
|
||||||
|
opt->warning = 0;
|
||||||
moreswitches(p + 1, opt, 0);
|
moreswitches(p + 1, opt, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -258,6 +258,10 @@ class TestRubyOptions < Test::Unit::TestCase
|
|||||||
assert_equal([], e)
|
assert_equal([], e)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
ENV['RUBYOPT'] = '-w'
|
||||||
|
assert_in_out_err(%w(), "p $VERBOSE", ["true"])
|
||||||
|
assert_in_out_err(%w(-W1), "p $VERBOSE", ["false"])
|
||||||
|
assert_in_out_err(%w(-W0), "p $VERBOSE", ["nil"])
|
||||||
ensure
|
ensure
|
||||||
if rubyopt_orig
|
if rubyopt_orig
|
||||||
ENV['RUBYOPT'] = rubyopt_orig
|
ENV['RUBYOPT'] = rubyopt_orig
|
||||||
|
Loading…
x
Reference in New Issue
Block a user