In perl.git, the branch blead has been updated

<http://perl5.git.perl.org/perl.git/commitdiff/f7223e8e1a4c8ac13f56c6da4f523e8bfe828dc0?hp=0e637710e635c1f42e13242e1ea416e9304090f6>

- Log -----------------------------------------------------------------
commit f7223e8e1a4c8ac13f56c6da4f523e8bfe828dc0
Author: Rafael Garcia-Suarez <[email protected]>
Date:   Sat Jun 27 17:18:52 2009 +0200

    Adjustments to t/pod/diag.t

M       t/pod/diag.t

commit 87a63fff814bea4d594840ceb735b2807e76f5f9
Author: James Mastros <[email protected]>
Date:   Mon Jun 22 16:09:18 2009 +0100

    Add support for TODO diag tests -- a list in DATA of error messages that 
are allowed to not be in perldiag.pod without it being a 'not ok', just a 'ok # 
TODO', and populate the DATA section with the current ones.

M       t/pod/diag.t

commit fe13d51d6409065a0214793b416a2eb3fe209949
Author: James Mastros <[email protected]>
Date:   Sat Jun 6 20:46:21 2009 +0100

    Add test to make sure everything that outputs an exception or warning has a 
matching entry in perldiag (and fix it so that more of the existing ones do).

M       doio.c
M       gv.c
M       mg.c
M       op.c
M       perl.h
M       pod/perldiag.pod
M       sv.c
A       t/pod/diag.t
-----------------------------------------------------------------------

Summary of changes:
 doio.c           |   11 ++
 gv.c             |    2 +
 mg.c             |    2 +-
 op.c             |    3 +-
 perl.h           |    1 +
 pod/perldiag.pod |   28 ++--
 sv.c             |    4 +-
 t/pod/diag.t     |  383 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 8 files changed, 416 insertions(+), 18 deletions(-)
 create mode 100644 t/pod/diag.t

diff --git a/doio.c b/doio.c
index 8a12268..7be7af1 100644
--- a/doio.c
+++ b/doio.c
@@ -312,6 +312,7 @@ Perl_do_openn(pTHX_ GV *gv, register const char *oname, I32 
len, int as_raw,
                else {
                    PerlIO *that_fp = NULL;
                    if (num_svs > 1) {
+                       /* diag_listed_as: More than one argument to '%s' open 
*/
                        Perl_croak(aTHX_ "More than one argument to '%c&' 
open",IoTYPE(io));
                    }
                    while (isSPACE(*type))
@@ -398,6 +399,7 @@ Perl_do_openn(pTHX_ GV *gv, register const char *oname, I32 
len, int as_raw,
                    fp = PerlIO_stdout();
                    IoTYPE(io) = IoTYPE_STD;
                    if (num_svs > 1) {
+                       /* diag_listed_as: More than one argument to '%s' open 
*/
                        Perl_croak(aTHX_ "More than one argument to '>%c' 
open",IoTYPE_STD);
                    }
                }
@@ -431,6 +433,7 @@ Perl_do_openn(pTHX_ GV *gv, register const char *oname, I32 
len, int as_raw,
                fp = PerlIO_stdin();
                IoTYPE(io) = IoTYPE_STD;
                if (num_svs > 1) {
+                   /* diag_listed_as: More than one argument to '%s' open */
                    Perl_croak(aTHX_ "More than one argument to '<%c' 
open",IoTYPE_STD);
                }
            }
@@ -1997,6 +2000,7 @@ Perl_do_ipcget(pTHX_ I32 optype, SV **mark, SV **sp)
 #endif
 #if !defined(HAS_MSG) || !defined(HAS_SEM) || !defined(HAS_SHM)
     default:
+        /* diag_listed_as: msg%s not implemented */
        Perl_croak(aTHX_ "%s not implemented", PL_op_desc[optype]);
 #endif
     }
@@ -2057,12 +2061,14 @@ Perl_do_ipcctl(pTHX_ I32 optype, SV **mark, SV **sp)
                   than guessing about u_?short(_t)? */
        }
 #else
+        /* diag_listed_as: sem%s not implemented */
        Perl_croak(aTHX_ "%s not implemented", PL_op_desc[optype]);
 #endif
        break;
 #endif
 #if !defined(HAS_MSG) || !defined(HAS_SEM) || !defined(HAS_SHM)
     default:
+        /* diag_listed_as: shm%s not implemented */
        Perl_croak(aTHX_ "%s not implemented", PL_op_desc[optype]);
 #endif
     }
@@ -2110,6 +2116,7 @@ Perl_do_ipcctl(pTHX_ I32 optype, SV **mark, SV **sp)
 #endif
            ret = Semctl(id, n, cmd, unsemds);
 #else
+           /* diag_listed_as: sem%s not implemented */
            Perl_croak(aTHX_ "%s not implemented", PL_op_desc[optype]);
 #endif
         }
@@ -2151,6 +2158,7 @@ Perl_do_msgsnd(pTHX_ SV **mark, SV **sp)
 #else
     PERL_UNUSED_ARG(sp);
     PERL_UNUSED_ARG(mark);
+    /* diag_listed_as: msg%s not implemented */
     Perl_croak(aTHX_ "msgsnd not implemented");
 #endif
 }
@@ -2192,6 +2200,7 @@ Perl_do_msgrcv(pTHX_ SV **mark, SV **sp)
 #else
     PERL_UNUSED_ARG(sp);
     PERL_UNUSED_ARG(mark);
+    /* diag_listed_as: msg%s not implemented */
     Perl_croak(aTHX_ "msgrcv not implemented");
 #endif
 }
@@ -2246,6 +2255,7 @@ Perl_do_semop(pTHX_ SV **mark, SV **sp)
         return result;
     }
 #else
+    /* diag_listed_as: sem%s not implemented */
     Perl_croak(aTHX_ "semop not implemented");
 #endif
 }
@@ -2304,6 +2314,7 @@ Perl_do_shmio(pTHX_ I32 optype, SV **mark, SV **sp)
     }
     return shmdt(shm);
 #else
+    /* diag_listed_as: shm%s not implemented */
     Perl_croak(aTHX_ "shm I/O not implemented");
 #endif
 }
diff --git a/gv.c b/gv.c
index 549d672..24e11c1 100644
--- a/gv.c
+++ b/gv.c
@@ -99,6 +99,7 @@ Perl_gv_IOadd(pTHX_ register GV *gv)
                          PL_op->op_type ==  OP_REWINDDIR ||
                          PL_op->op_type ==  OP_CLOSEDIR ?
                          "dirhandle" : "filehandle";
+       /* diag_listed_as: Bad symbol for filehandle */
         Perl_croak(aTHX_ "Bad symbol for %s", fh);
     }
 
@@ -1087,6 +1088,7 @@ Perl_gv_fetchpvn_flags(pTHX_ const char *nambeg, STRLEN 
full_len, I32 flags,
                             (sv_type == SVt_PVAV && !GvIMPORTED_AV(*gvp)) ||
                             (sv_type == SVt_PVHV && !GvIMPORTED_HV(*gvp)) )
                    {
+                       /* diag_listed_as: Variable "%s" is not imported%s */
                        Perl_warn(aTHX_ "Variable \"%c%s\" is not imported",
                            sv_type == SVt_PVAV ? '@' :
                            sv_type == SVt_PVHV ? '%' : '$',
diff --git a/mg.c b/mg.c
index 05a5092..5cfa8cb 100644
--- a/mg.c
+++ b/mg.c
@@ -1331,7 +1331,7 @@ Perl_csighandler(int sig)
 #ifndef SIG_PENDING_DIE_COUNT
 #  define SIG_PENDING_DIE_COUNT 120
 #endif
-       /* And one to say _a_ signal is pending */
+       /* Add one to say _a_ signal is pending */
        if (++PL_sig_pending >= SIG_PENDING_DIE_COUNT)
            Perl_croak(aTHX_ "Maximal count of pending signals (%lu) exceeded",
                       (unsigned long)SIG_PENDING_DIE_COUNT);
diff --git a/op.c b/op.c
index 7488887..03fe906 100644
--- a/op.c
+++ b/op.c
@@ -3857,7 +3857,7 @@ Perl_utilize(pTHX_ int aver, I32 floor, OP *version, OP 
*idop, OP *arg)
            SV *meth;
 
            if (version->op_type != OP_CONST || !SvNIOKp(vesv))
-               Perl_croak(aTHX_ "Version number must be constant number");
+               Perl_croak(aTHX_ "Version number must be a constant number");
 
            /* Make copy of idop so we don't free it twice */
            pack = newSVOP(OP_CONST, 0, newSVsv(((SVOP*)idop)->op_sv));
@@ -8961,6 +8961,7 @@ const_sv_xsub(pTHX_ CV* cv)
     if (items != 0) {
        NOOP;
 #if 0
+       /* diag_listed_as: SKIPME */
         Perl_croak(aTHX_ "usage: %s::%s()",
                    HvNAME_get(GvSTASH(CvGV(cv))), GvNAME(CvGV(cv)));
 #endif
diff --git a/perl.h b/perl.h
index 4f4130e..5b221fa 100644
--- a/perl.h
+++ b/perl.h
@@ -1027,6 +1027,7 @@ EXTERN_C int usleep(unsigned int);
 #  define MALLOC_CHECK_TAINT(argc,argv,env)
 #endif /* MYMALLOC */
 
+/* diag_listed_as: "-T" is on the #! line, it must also be used on the command 
line */
 #define TOO_LATE_FOR_(ch,what) Perl_croak(aTHX_ "\"-%c\" is on the #! line, it 
must also be used on the command line%s", (char)(ch), what)
 #define TOO_LATE_FOR(ch)       TOO_LATE_FOR_(ch, "")
 #define MALLOC_TOO_LATE_FOR(ch)        TOO_LATE_FOR_(ch, " with 
$ENV{PERL_MALLOC_OPT}")
diff --git a/pod/perldiag.pod b/pod/perldiag.pod
index 9f13d6e..0b3dc3b 100644
--- a/pod/perldiag.pod
+++ b/pod/perldiag.pod
@@ -320,7 +320,7 @@ attribute on a array, hash or scalar reference. The :unique 
attribute is has
 had no no effect since Perl 5.8.8, and will be removed in the next major
 release of Perl 5.
 
-=item Bad arg length for %s, is %d, should be %s
+=item Bad arg length for %s, is %d, should be %d
 
 (F) You passed a buffer of the wrong size to one of msgctl(), semctl()
 or shmctl().  In C parlance, the correct sizes are, respectively,
@@ -1032,7 +1032,7 @@ probably because you don't have write permission to the 
directory.
 (P) An error peculiar to VMS.  Perl thought stdin was a pipe, and tried
 to reopen it to accept binary data.  Alas, it failed.
 
-=item Can't resolve method `%s' overloading `%s' in package `%s'
+=item Can't resolve method "%s" overloading "%s" in package "%s"
 
 (F|P) Error resolving overloading specified by a method name (as opposed
 to a subroutine reference): no such method callable via the package. If
@@ -1618,7 +1618,7 @@ variable and glob that.
 
 (F) The C<exec> function is not implemented in MacPerl. See L<perlport>.
 
-=item Execution of %s aborted due to compilation errors
+=item Execution of %s aborted due to compilation errors.
 
 (F) The final summary message when a Perl compilation fails.
 
@@ -1842,7 +1842,7 @@ unspecified destination.  See L<perlfunc/goto>.
 supposed to follow something: a template character or a ()-group.
  See L<perlfunc/pack>.
 
-=item %s had compilation errors
+=item %s had compilation errors.
 
 (F) The final summary message when a C<perl -c> fails.
 
@@ -1945,7 +1945,7 @@ two from 1 to 32 (or 64, if your platform supports that).
 (W digit) You may have tried to use an 8 or 9 in an octal number.
 Interpretation of the octal number stopped before the 8 or 9.
 
-=item Illegal switch in PERL5OPT: %s
+=item Illegal switch in PERL5OPT: -%c
 
 (X) The PERL5OPT environment variable may only be used to set the
 following switches: B<-[CDIMUdmtw]>.
@@ -2167,7 +2167,7 @@ strange for a machine that supports C.
 (W unopened) You tried ioctl() on a filehandle that was never opened.
 Check you control flow and number of arguments.
 
-=item IO layers (like "%s") unavailable
+=item IO layers (like '%s') unavailable
 
 (F) Your Perl has not been configured to have PerlIO, and therefore
 you cannot use IO layers.  To have PerlIO Perl must be configured
@@ -2333,9 +2333,9 @@ rules and perl was unable to guess how to make more 
progress.
 (F) You tried to unpack something that didn't comply with UTF-8 encoding
 rules and perl was unable to guess how to make more progress.
 
-=item Maximal count of pending signals (%s) exceeded
+=item Maximal count of pending signals (%d) exceeded
 
-(F) Perl aborted due to a too important number of signals pending. This
+(F) Perl aborted due to a too high number of signals pending. This
 usually indicates that your operating system tried to deliver signals
 too fast (with a very high priority), starving the perl process from
 resources it would need to reach a point where it can process signals
@@ -2478,7 +2478,7 @@ couldn't be created for some peculiar reason.
 you omitted the name of the module.  Consult L<perlrun> for full details
 about C<-M> and C<-m>.
 
-=item More than one argument to open
+=item More than one argument to '%s' open
 
 (F) The C<open> function has been asked to open multiple files. This
 can happen if you are trying to open a pipe to a command that takes a
@@ -3943,7 +3943,7 @@ a block by itself.
 (W unopened) You tried to use the stat() function on a filehandle that
 was either never opened or has since been closed.
 
-=item Stub found while resolving method "%s" overloading "%s"
+=item Stub found while resolving method "%s" overloading "%s" in package "%s"
 
 (P) Overloading resolution over @ISA tree may be broken by importation
 stubs.  Stubs should never be implicitly created, but explicit calls to
@@ -4154,18 +4154,18 @@ suspect you're not running on Unix.
 =item "-T" is on the #! line, it must also be used on the command line
 
 (X) The #! line (or local equivalent) in a Perl script contains the
-B<-T> option, but Perl was not invoked with B<-T> in its command line.
+B<-T> option (or the B<-t> option), but Perl was not invoked with B<-T> in its 
command line.
 This is an error because, by the time Perl discovers a B<-T> in a
 script, it's too late to properly taint everything from the environment.
 So Perl gives up.
 
 If the Perl script is being executed as a command using the #!
 mechanism (or its local equivalent), this error can usually be fixed by
-editing the #! line so that the B<-T> option is a part of Perl's first
-argument: e.g. change C<perl -n -T> to C<perl -T -n>.
+editing the #! line so that the B<-%c> option is a part of Perl's first
+argument: e.g. change C<perl -n -%c> to C<perl -%c -n>.
 
 If the Perl script is being executed as C<perl scriptname>, then the
-B<-T> option must appear on the command line: C<perl -T scriptname>.
+B<-%c> option must appear on the command line: C<perl -%c scriptname>.
 
 =item To%s: illegal mapping '%s'
 
diff --git a/sv.c b/sv.c
index 7de171d..bb4df7a 100644
--- a/sv.c
+++ b/sv.c
@@ -5518,8 +5518,8 @@ Perl_sv_replace(pTHX_ register SV *const sv, register SV 
*const nsv)
 
     SV_CHECK_THINKFIRST_COW_DROP(sv);
     if (SvREFCNT(nsv) != 1) {
-       Perl_croak(aTHX_ "panic: reference miscount on nsv in sv_replace() (%"
-                  UVuf " != 1)", (UV) SvREFCNT(nsv));
+       Perl_croak(aTHX_ "panic: reference miscount on nsv in sv_replace()"
+                  " (%" UVuf " != 1)", (UV) SvREFCNT(nsv));
     }
     if (SvMAGICAL(sv)) {
        if (SvMAGICAL(nsv))
diff --git a/t/pod/diag.t b/t/pod/diag.t
new file mode 100644
index 0000000..5f378ae
--- /dev/null
+++ b/t/pod/diag.t
@@ -0,0 +1,383 @@
+#!/usr/bin/perl
+use warnings;
+use strict;
+use Test::More 'no_plan';
+$|=1;
+
+my $make_exceptions_list = ($ARGV[0]||'') eq '--make-exceptions-list';
+
+open my $diagfh, "<:raw", "../pod/perldiag.pod"
+  or die "Can't open ../pod/perldiag.pod: $!";
+
+my %entries;
+while (<DATA>) {
+  chomp;
+  $entries{$_}{todo}=1;
+}
+
+my $cur_entry;
+while (<$diagfh>) {
+  if (m/^=item (.*)/) {
+    $cur_entry = $1;
+  } elsif (m/^\((.)(?: ([a-z]+?))?\)/ and !$entries{$cur_entry}{severity}) {
+    # Make sure to init this here, so an actual entry in perldiag overwrites
+    # one in DATA.
+    $entries{$cur_entry}{todo} = 0;
+    $entries{$cur_entry}{severity} = $1;
+    $entries{$cur_entry}{category} = $2;
+  }
+}
+
+my @todo = ('..');
+while (@todo) {
+  my $todo = shift @todo;
+  next if $todo ~~ ['../t', '../lib', '../ext'];
+  # opmini.c is just a copy of op.c, so there's no need to check again.
+  next if $todo eq '../opmini.c';
+  if (-d $todo) {
+    push @todo, glob "$todo/*";
+  } elsif ($todo =~ m/\.[ch]$/) {
+    check_file($todo);
+  }
+}
+
+sub check_file {
+  my ($codefn) = @_;
+
+  print "# $codefn\n";
+
+  open my $codefh, "<:raw", $codefn
+    or die "Can't open $codefn: $!";
+
+  my $listed_as;
+  my $listed_as_line;
+  my $sub = 'top of file';
+  while (<$codefh>) {
+    chomp;
+    # Getting too much here isn't a problem; we only use this to skip
+    # errors inside of XS modules, which should get documented in the
+    # docs for the module.
+    if (m<^([^#\s].*)> and $1 !~ m/^[{}]*$/) {
+      $sub = $1;
+    }
+    next if $sub =~ m/^XS/;
+    if (m</\* diag_listed_as: (.*) \*/>) {
+      $listed_as = $1;
+      $listed_as_line = $.+1;
+    }
+    next if /^#/;
+    next if /^ * /;
+    while (m/\bDIE\b|Perl_(croak|die|warn(er)?)/ and not m/\);$/) {
+      my $nextline = <$codefh>;
+      # Means we fell off the end of the file.  Not terribly surprising;
+      # this code tries to merge a lot of things that aren't regular C
+      # code (preprocessor stuff, long comments).  That's OK; we don't
+      # need those anyway.
+      last if not defined $nextline;
+      chomp $nextline;
+      $nextline =~ s/^\s+//;
+      # Note that we only want to do this where *both* are true.
+      $_ =~ s/\\$//;
+      if ($_ =~ m/"$/ and $nextline =~ m/^"/) {
+        $_ =~ s/"$//;
+        $nextline =~ s/^"//;
+      }
+      $_ = "$_$nextline";
+    }
+    # This should happen *after* unwrapping, or we don't reformat the things
+    # in later lines.
+    # List from perlguts.pod "Formatted Printing of IVs, UVs, and NVs"
+    my %specialformats = (IVdf => 'd',
+                          UVuf => 'd',
+                          UVof => 'o',
+                          UVxf => 'x',
+                          UVXf => 'X',
+                          NVef => 'f',
+                          NVff => 'f',
+                          NVgf => 'f',
+                          SVf  => 's');
+    for my $from (keys %specialformats) {
+      s/%"\s*$from\s*"/\%$specialformats{$from}/g;
+      s/%"\s*$from/\%$specialformats{$from}"/g;
+    }
+    # The %"foo" thing needs to happen *before* this regex.
+    if (m/(?:DIE|Perl_(croak|die|warn|warner))(?:_nocontext)? \s*
+          \(aTHX_ \s*
+          (?:packWARN\d*\((.*?)\),)? \s*
+          "((?:\\"|[^"])*?)"/x) {
+      # diag($_);
+      # DIE is just return Perl_die
+      my $severity = {croak => [qw/P F/],
+                      die   => [qw/P F/],
+                      warn  => [qw/W D S/],
+                     }->{$1||'die'};
+      my @categories;
+      if ($2) {
+        @categories = map {s/^WARN_//; lc $_} split /\s*[|,]\s*/, $2;
+      }
+      my $name;
+      if ($listed_as and $listed_as_line == $.) {
+        $name = $listed_as;
+      } else {
+        $name = $3;
+        # The form listed in perldiag ignores most sorts of fancy printf 
formatting,
+        # or makes it more perlish.
+        $name =~ s/%%/\\%/g;
+        $name =~ s/%l[ud]/%d/g;
+        $name =~ s/%\.(\d+|\*)s/\%s/g;
+        $name =~ s/\\"/"/g;
+        $name =~ s/\\t/\t/g;
+        $name =~ s/\\n/ /g;
+        $name =~ s/\s+$//;
+      }
+
+      # Extra explanatory info on an already-listed error, doesn't
+      # need it's own listing.
+      next if $name =~ m/^\t/;
+
+      # Happens fairly often with PL_no_modify.
+      next if $name eq '%s';
+
+      # Special syntax for magic comment, allows ignoring the fact
+      # that it isn't listed.  Only use in very special circumstances,
+      # like this script failing to notice that the Perl_croak call is
+      # inside an #if 0 block.
+      next if $name eq 'SKIPME';
+
+      if (exists $entries{$name}) {
+        if ($entries{$name}{todo}) {
+        TODO: {
+            local $TODO = 'in DATA';
+            fail("Presence of '$name' from $codefn line $.");
+          }
+        } else {
+          ok("Presence of '$name' from $codefn line $.");
+        }
+        # Later, should start checking that the severity is correct, too.
+      } elsif ($name =~ m/^panic: /) {
+        # Just too many panic:s, they are hard to diagnose, and there
+        # is a generic "panic: %s" entry.  Leave these for another
+        # pass.
+        ok("Presence of '$name' from $codefn line $., covered by panic: %s 
entry");
+      } else {
+        if ($make_exceptions_list) {
+          print STDERR "$name\n";
+        } else {
+          fail("Presence of '$name' from $codefn line $.");
+        }
+      }
+
+      die if $name =~ /%$/;
+    }
+  }
+}
+# Lists all missing things as of the inaguration of this script, so we
+# don't have to go from "meh" to perfect all at once.
+__DATA__
+Ambiguous call resolved as CORE::%s(), %s
+Ambiguous use of %c resolved as operator %c
+Ambiguous use of %c{%s} resolved to %c%s
+Ambiguous use of %c{%s%s} resolved to %c%s%s
+Ambiguous use of -%s resolved as -&%s()
+Argument "%s" isn't numeric
+Argument "%s" isn't numeric in %s
+Assertion: marks beyond string end
+Assertion: string is shorter than advertised
+Attempt to clear deleted array
+Attempt to free non-arena SV: 0x%x
+Attempt to free non-existent shared string '%s'%s
+Attempt to free temp prematurely: SV 0x%x
+Attempt to free unreferenced scalar: SV 0x%x
+Attempt to reload %s aborted. Compilation failed in require
+av_reify called on tied array
+Bad name after %s%s
+Bad symbol for scalar
+bad top format reference
+Bizarre copy of %s
+Bizarre SvTYPE [%d]
+Cannot copy to %s
+Can't call method "%s" %s
+Can't coerce readonly %s to string
+Can't coerce readonly %s to string in %s
+Can't fix broken locale name "%s"
+Can't get short module name from a handle
+Can't goto subroutine from an eval-block
+Can't goto subroutine from an eval-string
+Can't locate object method "%s" via package "%s" (perhaps you forgot to load 
"%s"?)
+Can't modify non-existent substring
+Can't open
+Can't open perl script "%s": %s
+Can't open %s
+Can't reset \%ENV on this system
+Can't return array to lvalue scalar context
+Can't return a %s from lvalue subroutine
+Can't return hash to lvalue scalar context
+Can't spawn "%s": %s
+Can't %s script `%s' with ARGV[0] being `%s'
+Can't %s "%s": %s
+Can't %s %s%s%s
+Can't %s `%s' with ARGV[0] being `%s' (looking for executables only, not found)
+Can't take %s of %f
+Can't use '%c' after -mname
+Can't use \\%c to mean $%c in expression
+Can't use when() outside a topicalizer
+\\%c better written as $%c
+Character(s) in '%c' format wrapped in %s
+$%c is no longer supported
+Cloning substitution context is unimplemented
+Code missing after '/' in pack
+Code missing after '/' in unpack
+Compilation failed in require
+Corrupted regexp opcode %d > %d
+'%c' outside of string in pack
+Debug leaking scalars child failed%s%s with errno %d: %s
+Deep recursion on anonymous subroutine
+defined(\%hash) is deprecated
+Don't know how to handle magic of type \\%o
+-Dp not implemented on this platform
+entering effective gid failed
+entering effective uid failed
+Error reading "%s": %s
+Exiting %s via %s
+Filehandle opened only for %sput
+Filehandle %s opened only for %sput
+Filehandle STD%s reopened as %s only for input
+YOU HAVEN'T DISABLED SET-ID SCRIPTS IN THE KERNEL YET! FIX YOUR KERNEL, PUT A 
C WRAPPER AROUND THIS SCRIPT, OR USE -u AND UNDUMP!
+Format STDOUT redefined
+Free to wrong pool %p not %p
+get %s %p %p %p
+glob failed (can't start child: %s)
+glob failed (child exited with status %d%s)
+Goto undefined subroutine
+Goto undefined subroutine &%s
+Hash \%%s missing the \% in argument %d of %s()
+Illegal character \\%03o (carriage return)
+Illegal character %sin prototype for %s : %s
+Integer overflow in decimal number
+Integer overflow in version %d
+internal \%<num>p might conflict with future printf extensions
+invalid control request: '\\%03o'
+Invalid module name %s with -%c option: contains single ':'
+invalid option -D%c, use -D'' to see choices
+Invalid range "%c-%c" in transliteration operator
+Invalid separator character %c%c%c in PerlIO layer specification %s
+Invalid TOKEN object ignored
+Invalid type '%c' in pack
+Invalid type '%c' in %s
+Invalid type '%c' in unpack
+Invalid type ',' in %s
+Invalid version format (alpha without decimal)
+Invalid version format (misplaced _ in number)
+Invalid version object
+'j' not supported on this platform
+'J' not supported on this platform
+Layer does not match this perl
+leaving effective gid failed
+leaving effective uid failed
+List form of piped open not implemented
+Lost precision when decrementing %f by 1
+Lost precision when incrementing %f by 1
+%lx
+Malformed UTF-16 surrogate
+Malformed UTF-8 character (fatal)
+'\%' may not be used in pack
+Missing (suid) fd script name
+More than one argument to open
+More than one argument to open(,':%s')
+mprotect for %p %d failed with %d
+mprotect RW for %p %d failed with %d
+No code specified for -%c
+No directory specified for -I
+No such class field "%s"
+Not an XSUB reference
+Not %s reference
+Offset outside string
+Opening dirhandle %s also as a file
+Opening filehandle %s also as a directory
+Operator or semicolon missing before %c%s
+Overloaded dereference did not return a reference
+Perl bug: predicted utf8 length not available
+PERL_SIGNALS illegal: "%s"
+Perl %s required (did you mean %s?)--this is only %s, stopped
+Perl %s required--this is only %s, stopped
+Perls since %s too modern--this is %s, stopped
+Possible unintended interpolation of $\\ in regex
+ptr wrong %p != %p fl=%08
+Recompile perl with -DDEBUGGING to use -D switch (did you mean -d ?)
+Recursive call to Perl_load_module in PerlIO_find_layer
+refcnt_dec: fd %d < 0
+refcnt_dec: fd %d: %d <= 0
+refcnt_dec: fd %d >= refcnt_size %d
+refcnt_inc: fd %d < 0
+refcnt_inc: fd %d: %d <= 0
+Reversed %c= operator
+Runaway prototype
+%s(%.0f) failed
+%s(%.0f) too large
+Scalar value %s better written as $%s
+%sCompilation failed in regexp
+%sCompilation failed in require
+set %s %p %p %p
+%s free() ignored (RMAGIC, PERL_CORE)
+%s has too many errors.
+SIG%s handler "%s" not defined.
+%s: illegal mapping '%s'
+%s in %s
+Size magic not implemented
+%s limit (%d) exceeded
+%s method "%s" overloading "%s" in package "%s"
+%s number > %s non-portable
+%s object version %s does not match %s%s%s%s %s
+%srealloc() %signored
+%s returned from lvalue subroutine in scalar context
+%s%s has too many errors.
+%s%s on %s %s
+%s%s on %s %s %s
+Starting Full Screen process with flag=%d, mytype=%d
+Starting PM process with flag=%d, mytype=%d
+strxfrm() gets absurd
+SWASHNEW didn't return an HV ref
+-T and -B not implemented on filehandles
+The flock() function is not implemented on NetWare
+The rewinddir() function is not implemented on NetWare
+The seekdir() function is not implemented on NetWare
+The stat preceding lstat() wasn't an lstat
+The telldir() function is not implemented on NetWare
+Too deeply nested ()-groups in %s
+Too late to run CHECK block
+Too late to run INIT block
+Too many args on %s line of "%s"
+U0 mode on a byte string
+Unbalanced string table refcount: (%d) for "%s"
+Undefined top format called
+Unexpected constant lvalue entersub entry via type/targ %d:%d
+Unicode character 0x%04
+Unknown PerlIO layer "scalar"
+Unknown Unicode option letter '%c'
+unrecognised control character '%c'
+Unstable directory path, current directory changed unexpectedly
+Unsupported script encoding UTF16-BE
+Unsupported script encoding UTF16-LE
+Unsupported script encoding UTF32-BE
+Unsupported script encoding UTF32-LE
+Unterminated compressed integer in unpack
+Usage: CODE(0x%x)(%s)
+Usage: %s(%s)
+Usage: %s::%s(%s)
+Usage: VMS::Filespec::unixrealpath(spec)
+Usage: VMS::Filespec::vmsrealpath(spec)
+Use of inherited AUTOLOAD for non-method %s::%s() is deprecated
+UTF-16 surrogate 0x%04
+utf8 "\\x%02X" does not map to Unicode
+Value of logical "%s" too long. Truncating to %i bytes
+value of node is %d in Offset macro
+Value of %s%s can be "0"; test with defined()
+Variable "%c%s" is not imported
+vector argument not supported with alpha versions
+Wide character
+Wide character in $/
+Wide character in print
+Wide character in %s
+Within []-length '%c' not allowed in %s
+Wrong syntax (suid) fd script name "%s"
+'X' outside of string in unpack

--
Perl5 Master Repository

Reply via email to