diff options
author | Rafael Garcia-Suarez <rgarciasuarez@gmail.com> | 2005-09-27 14:25:53 +0000 |
---|---|---|
committer | Rafael Garcia-Suarez <rgarciasuarez@gmail.com> | 2005-09-27 14:25:53 +0000 |
commit | 013b78e8b7544d87392bc0a7f2840e8f7280e786 (patch) | |
tree | 118ce00b281bf0c1962ea6f558911cee58866692 | |
parent | 93c2c2ecd9924225ba4c26762e3e59cf95458982 (diff) | |
download | perl-013b78e8b7544d87392bc0a7f2840e8f7280e786.tar.gz |
Fix by Rick Delaney for [perl #3269] no warnings "bareword" turns off
too many warnings.
p4raw-id: //depot/perl@25619
-rw-r--r-- | mg.c | 13 | ||||
-rw-r--r-- | t/io/binmode.t | 2 | ||||
-rw-r--r-- | t/lib/warnings/2use | 6 |
3 files changed, 16 insertions, 5 deletions
@@ -785,11 +785,16 @@ Perl_magic_get(pTHX_ SV *sv, MAGIC *mg) if (*(mg->mg_ptr+1) == '\0') sv_setiv(sv, (IV)((PL_dowarn & G_WARN_ON) ? TRUE : FALSE)); else if (strEQ(mg->mg_ptr+1, "ARNING_BITS")) { - if (PL_compiling.cop_warnings == pWARN_NONE || - PL_compiling.cop_warnings == pWARN_STD) - { + if (PL_compiling.cop_warnings == pWARN_NONE) { sv_setpvn(sv, WARN_NONEstring, WARNsize) ; - } + } + else if (PL_compiling.cop_warnings == pWARN_STD) { + sv_setpvn( + sv, + (PL_dowarn & G_WARN_ON) ? WARN_ALLstring : WARN_NONEstring, + WARNsize + ); + } else if (PL_compiling.cop_warnings == pWARN_ALL) { /* Get the bit mask for $warnings::Bits{all}, because * it could have been extended by warnings::register */ diff --git a/t/io/binmode.t b/t/io/binmode.t index be198ae645..41eff4a24f 100644 --- a/t/io/binmode.t +++ b/t/io/binmode.t @@ -35,7 +35,7 @@ SKIP: { skip "minitest", 1 if $ENV{PERL_CORE_MINITEST}; skip "no EBADF", 1 if (!exists &Errno::EBADF); - no warnings 'io'; + no warnings 'io', 'once'; $! = 0; binmode(B); ok($! == &Errno::EBADF); diff --git a/t/lib/warnings/2use b/t/lib/warnings/2use index 7810287a3a..eef0f3ffec 100644 --- a/t/lib/warnings/2use +++ b/t/lib/warnings/2use @@ -72,6 +72,12 @@ my $a =+ 1 ; EXPECT Reversed += operator at - line 3. ######## +-w +no warnings 'reserved' ; +foo.bar; +EXPECT +Useless use of concatenation (.) or string in void context at - line 3. +######## --FILE-- abc my $a =+ 1 ; |