From: Rafael Garcia-Suarez Date: Thu, 22 Jul 2004 15:50:34 +0000 (+0000) Subject: Sort perldiag. X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=6d3b25aa06c9837fbb97c3791369b6d8990787c7;p=p5sagit%2Fp5-mst-13.2.git Sort perldiag. p4raw-id: //depot/perl@23151 --- diff --git a/pod/perldiag.pod b/pod/perldiag.pod index 999f289..dee8ff2 100644 --- a/pod/perldiag.pod +++ b/pod/perldiag.pod @@ -1055,13 +1055,6 @@ indicates that such a conversion was attempted. upgradability. Upgrading to undef indicates an error in the code calling sv_upgrade. -=item Can't use '%c' in a group with different byte-order in %s - -(F) You attempted to force a different byte-order on a type -that is already inside a group with a byte-order modifier. -For example you cannot force little-endianness on a type that -is inside a big-endian group. - =item Can't use anonymous symbol table for method lookup (F) The internal routine that does method lookup was handed a symbol @@ -1103,6 +1096,13 @@ is not allowed, because the magic can be tied to only one location have variables in your program that looked like magical variables but weren't. +=item Can't use '%c' in a group with different byte-order in %s + +(F) You attempted to force a different byte-order on a type +that is already inside a group with a byte-order modifier. +For example you cannot force little-endianness on a type that +is inside a big-endian group. + =item Can't use "my %s" in sort comparison (F) The global variables $a and $b are reserved for sort comparisons. @@ -1325,6 +1325,22 @@ there are neither package declarations nor a C<$VERSION>. long for Perl to handle. You have to be seriously twisted to write code that triggers this error. +=item Deprecated use of my() in false conditional + +(D deprecated) You used a declaration similar to C. +There has been a long-standing bug in Perl that causes a lexical variable +not to be cleared at scope exit when its declaration includes a false +conditional. Some people have exploited this bug to achieve a kind of +static variable. Since we intend to fix this bug, we don't want people +relying on this behavior. You can achieve a similar static effect by +declaring the variable in a separate block outside the function, eg + + sub f { my $x if 0; return $x++ } + +becomes + + { my $x; sub f { return $x++ } } + =item DESTROY created new reference to dead object '%s' (F) A DESTROY() method created a new reference to the object which is @@ -2660,6 +2676,11 @@ C (where C is the number of kilobytes) to check the current limits and change them, and in ksh/bash/zsh use C and C, respectively. +=item Out of memory during %s extend + +(X) An attempt was made to extend an array, a list, or a string beyond +the largest possible memory allocation. + =item Out of memory during "large" request for %s (F) The malloc() function returned 0, indicating there was insufficient @@ -2667,11 +2688,6 @@ remaining memory (or virtual memory) to satisfy the request. However, the request was judged large enough (compile-time default is 64K), so a possibility to shut down by trapping this error is granted. -=item Out of memory during %s extend - -(X) An attempt was made to extend an array, a list, or a string beyond -the largest possible memory allocation. - =item Out of memory during request for %s (X|F) The malloc() function returned 0, indicating there was @@ -2925,12 +2941,6 @@ redirected it with select().) "Can't locate object method \"%s\" via package \"%s\"". It often means that a method requires a package that has not been loaded. -=item Perl %s required--this is only version %s, stopped - -(F) The module in question uses features of a version of Perl more -recent than the currently running version. How long has it been since -you upgraded, anyway? See L. - =item Perl_my_%s() not available (F) Your platform has very uncommon byte-order and integer size, @@ -2938,6 +2948,12 @@ so it was not possible to set up some or all fixed-width byte-order conversion functions. This is only a problem when you're using the '<' or '>' modifiers in (un)pack templates. See L. +=item Perl %s required--this is only version %s, stopped + +(F) The module in question uses features of a version of Perl more +recent than the currently running version. How long has it been since +you upgraded, anyway? See L. + =item PERL_SH_DIR too long (F) An error peculiar to OS/2. PERL_SH_DIR is the directory to find the @@ -3694,22 +3710,6 @@ before now. Check your control flow. (F) Perl can't peek at the stdio buffer of filehandles when it doesn't know about your kind of stdio. You'll have to use a filename instead. -=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. -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 to C. - -If the Perl script is being executed as C, then the -B<-T> option must appear on the command line: C. - =item Target of goto is too deeply nested (F) You tried to use C to reach a label that was too deeply nested @@ -3781,6 +3781,22 @@ target of the change to (F) Your version of the C library apparently doesn't do times(). I 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. +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 to C. + +If the Perl script is being executed as C, then the +B<-T> option must appear on the command line: C. + =item To%s: illegal mapping '%s' (F) You tried to define a customized To-mapping for lc(), lcfirst, @@ -4347,22 +4363,6 @@ old way has bad side effects. it already went past any symlink you are presumably trying to look for. The operation returned C. Use a filename instead. -=item Deprecated use of my() in false conditional - -(D deprecated) You used a declaration similar to C. -There has been a long-standing bug in Perl that causes a lexical variable -not to be cleared at scope exit when its declaration includes a false -conditional. Some people have exploited this bug to achieve a kind of -static variable. Since we intend to fix this bug, we don't want people -relying on this behavior. You can achieve a similar static effect by -declaring the variable in a separate block outside the function, eg - - sub f { my $x if 0; return $x++ } - -becomes - - { my $x; sub f { return $x++ } } - =item Use of "package" with no arguments is deprecated (D deprecated) You used the C keyword without specifying a package