This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
diag.t, perldiag.pod: Make sure S is used for Perl_warn
authorFather Chrysostomos <sprout@cpan.org>
Tue, 28 May 2013 01:02:21 +0000 (18:02 -0700)
committerFather Chrysostomos <sprout@cpan.org>
Tue, 28 May 2013 01:02:21 +0000 (18:02 -0700)
Perl_warn does not allow a category, and is not used in conjunction
with ckWARN checks (if it is, that is a bug, as such warnings will
be emitted when the category is enabled, but not fatal when the
category is fatal).  So such warnings are mandatory and should be
marked with S.

pod/perldiag.pod
t/porting/diag.t

index 7510191..da1933a 100644 (file)
@@ -1000,7 +1000,7 @@ VMS.
 
 =item Can't make loaded symbols global on this platform while loading %s
 
-(W) A module passed the flag 0x01 to DynaLoader::dl_load_file() to request
+(S) A module passed the flag 0x01 to DynaLoader::dl_load_file() to request
 that symbols from the stated file are made available globally within the
 process, but that functionality is not available on this platform.  Whilst
 the module likely will still work, this may prevent the perl interpreter
@@ -4023,7 +4023,7 @@ wrong and the version check should just be removed.
 
 =item perl: warning: Non hex character in '$ENV{PERL_HASH_SEED}', seed only partially set
 
-(W) PERL_HASH_SEED should match /^\s*(?:0x)?[0-9a-fA-F]+\s*\z/ but it
+(S) PERL_HASH_SEED should match /^\s*(?:0x)?[0-9a-fA-F]+\s*\z/ but it
 contained a non hex character.  This could mean you are not using the
 hash seed you think you are.
 
@@ -4051,7 +4051,7 @@ L<perllocale> section B<LOCALE PROBLEMS>.
 
 =item perl: warning: strange setting in '$ENV{PERL_PERTURB_KEYS}': '%s'
 
-(W) Perl was run with the environment variable PERL_PERTURB_KEYS defined
+(S) Perl was run with the environment variable PERL_PERTURB_KEYS defined
 but containing an unexpected value.  The legal values of this setting
 are as follows.
 
index fde738d..3b0521a 100644 (file)
@@ -300,7 +300,8 @@ sub check_file {
     my $severity = !$routine                   ? '[PFX]'
                  :  $routine =~ /warn.*_d\z/   ? '[DS]'
                  :  $routine =~ /ck_warn/      ?  'W'
-                 :  $routine =~ /warn/         ? '[WDS]'
+                 :  $routine =~ /warner/       ? '[WDS]'
+                 :  $routine =~ /warn/         ?  'S'
                  :  $routine =~ /ckWARN.*dep/  ?  'D'
                  :  $routine =~ /ckWARN\d*reg/ ?  'W'
                  :  $routine =~ /vWARN\d/      ? '[WDS]'