In perl.git, the branch blead has been updated

<http://perl5.git.perl.org/perl.git/commitdiff/075b00aa67c055a31de94e78b6ff2cc31607e3e1?hp=25b68122d6f7ec755991f385afc789814cc95ff4>

- Log -----------------------------------------------------------------
commit 075b00aa67c055a31de94e78b6ff2cc31607e3e1
Author: Father Chrysostomos <spr...@cpan.org>
Date:   Sat Feb 12 23:54:27 2011 -0800

    Correct perldiag/Died
    
    ‘die’ does not look at $_.

M       pod/perldiag.pod

commit 5fca8acbe38ffb86144eea28854bc2de8674d6d2
Author: Father Chrysostomos <spr...@cpan.org>
Date:   Sat Feb 12 23:51:35 2011 -0800

    Reflow perldiag/Deprecated character in \N{...}
    
    It wraps on a 80-character terminal under ‘use diagnostics’.

M       pod/perldiag.pod

commit f866a7cd48957f85828133c0bc68703b12cb033a
Author: Father Chrysostomos <spr...@cpan.org>
Date:   Sat Feb 12 23:41:39 2011 -0800

    Resort some perldiag entries
    
    According to the description at the top, non-alphabetic characters and
    %-format characters are ignored in alphabetisation.

M       pod/perldiag.pod

commit a568ca76fa259fc8e6c8dc18db2ff2b3822b7651
Author: Father Chrysostomos <spr...@cpan.org>
Date:   Sat Feb 12 23:39:13 2011 -0800

    More perldiag grammar tweaks

M       pod/perldiag.pod

commit 064c2491402d008367214be9b2e81b0c339806b5
Author: Father Chrysostomos <spr...@cpan.org>
Date:   Sat Feb 12 23:32:02 2011 -0800

    Delete perldiag/Can't unshift
    
    This error message was removed by commit 49beac4814c9f4 fourteen
    years ago.

M       pod/perldiag.pod

commit f4739a71a55f13abd9474496c261e7e801ff8d46
Author: Father Chrysostomos <spr...@cpan.org>
Date:   Sat Feb 12 23:30:13 2011 -0800

    Make diagnostics.pm understand messages sharing descriptions
    
    We currently have entries in perldiag like this:
    
    =item Code point 0x%X is not Unicode, may not be portable
    
    =item Code point 0x%X is not Unicode, no properties match it; all inverse 
properties do
    
    (W utf8) You had a code point above the Unicode maximum of U+10FFFF.
    
    ...
    
    diagnostics.pm needs to know that the description applies to the first
    =item, as well as to the second.

M       lib/diagnostics.pm
M       lib/diagnostics.t

commit 2fe2bdfdc021075e8d79fba5050f89faea5f656c
Author: Father Chrysostomos <spr...@cpan.org>
Date:   Sat Feb 12 23:10:23 2011 -0800

    more perldiag grammar/punctuation tweaks

M       pod/perldiag.pod
-----------------------------------------------------------------------

Summary of changes:
 lib/diagnostics.pm |   15 +++++++++
 lib/diagnostics.t  |   10 +++++-
 pod/perldiag.pod   |   85 ++++++++++++++++++++++++---------------------------
 3 files changed, 64 insertions(+), 46 deletions(-)

diff --git a/lib/diagnostics.pm b/lib/diagnostics.pm
index cd4e7b6..b346448 100644
--- a/lib/diagnostics.pm
+++ b/lib/diagnostics.pm
@@ -319,7 +319,9 @@ my %msg;
     print STDERR "FINISHING COMPILATION for $_\n" if $DEBUG;
     local $/ = '';
     my $header;
+    my @headers;
     my $for_item;
+    my $seen_body;
     while (<POD_DIAG>) {
 
        sub _split_pod_link {
@@ -365,10 +367,22 @@ my %msg;
                }
                s/^/    /gm;
                $msg{$header} .= $_;
+               for my $h(@headers) { $msg{$h} .= $_ }
+               ++$seen_body;
                undef $for_item;        
            }
            next;
        } 
+
+       # If we have not come across the body of the description yet, then
+       # the previous header needs to share the same description.
+       if ($seen_body) {
+           @headers = ();
+       }
+       else {
+           push @headers, $header if defined $header;
+       }
+
        unless ( s/=item (.*?)\s*\z//) {
 
            if ( s/=head1\sDESCRIPTION//) {
@@ -428,6 +442,7 @@ my %msg;
            if $msg{$header};
 
        $msg{$header} = '';
+       $seen_body = 0;
     } 
 
 
diff --git a/lib/diagnostics.t b/lib/diagnostics.t
index 81896cd..06ab536 100644
--- a/lib/diagnostics.t
+++ b/lib/diagnostics.t
@@ -5,7 +5,7 @@ BEGIN {
     @INC = 'lib';
 }
 
-use Test::More tests => 5;
+use Test::More tests => 6;
 
 BEGIN { use_ok('diagnostics') }
 
@@ -36,3 +36,11 @@ $warning = '';
 warn
  'Lexing code attempted to stuff non-Latin-1 character into Latin-1 input';
 like $warning, qr/using lex_stuff_pvn_flags or similar/, 'L<foo|bar/baz>';
+
+# Multiple messages with the same description
+seek STDERR, 0,0;
+$warning = '';
+warn 'Code point 0x%X is not Unicode, may not be portable';
+like $warning, qr/W utf8/,
+   'Message sharing its description with the following message';
+
diff --git a/pod/perldiag.pod b/pod/perldiag.pod
index bfe6dfe..3338d71 100644
--- a/pod/perldiag.pod
+++ b/pod/perldiag.pod
@@ -510,14 +510,6 @@ substitution, but stylistically it's better to use the 
variable form
 because other Perl programmers will expect it, and it works better if
 there are more than 9 backreferences.
 
-=item "\b{" is deprecated; use "\b\{" instead
-
-=item "\B{" is deprecated; use "\B\{" instead
-
-(W deprecated, regexp) Use of an unescaped "{" immediately following a
-C<\b> or C<\B> is now deprecated so as to reserve its use for Perl
-itself in a future release.
-
 =item Binary number > 0b11111111111111111111111111111111 non-portable
 
 (W portable) The binary number you specified is larger than 2**32-1
@@ -534,6 +526,14 @@ check the return value of your socket() call?  See 
L<perlfunc/bind>.
 (W unopened) You tried binmode() on a filehandle that was never opened.
 Check your control flow and number of arguments.
 
+=item "\b{" is deprecated; use "\b\{" instead
+
+=item "\B{" is deprecated; use "\B\{" instead
+
+(W deprecated, regexp) Use of an unescaped "{" immediately following a
+C<\b> or C<\B> is now deprecated so as to reserve its use for Perl
+itself in a future release.
+
 =item Bit vector size > 32 non-portable
 
 (W portable) Using bit vector sizes larger than 32 is non-portable.
@@ -818,12 +818,12 @@ Under VMS, access checks are done by filename, rather 
than by bits in
 the stat buffer, so that ACLs and other protections can be taken into
 account.  Unfortunately, Perl assumes that the stat buffer contains all
 the necessary information, and passes it, instead of the filespec, to
-the access checking routine.  It will try to retrieve the filespec using
+the access-checking routine.  It will try to retrieve the filespec using
 the device name and FID present in the stat buffer, but this works only
 if you haven't made a subsequent call to the CRTL stat() routine,
 because the device name is overwritten with each call.  If this warning
-appears, the name lookup failed, and the access checking routine gave up
-and returned FALSE, just to be conservative.  (Note: The access checking
+appears, the name lookup failed, and the access-checking routine gave up
+and returned FALSE, just to be conservative.  (Note: The access-checking
 routine knows about the Perl C<stat> operator and file tests, so you
 shouldn't ever see this warning in response to a Perl command; it arises
 only if some internal code takes stat buffers lightly.)
@@ -979,7 +979,7 @@ a NULL.
 =item Can't modify non-lvalue subroutine call
 
 (F) Subroutines meant to be used in lvalue context should be declared as
-such, see L<perlsub/"Lvalue subroutines">.
+such.  See L<perlsub/"Lvalue subroutines">.
 
 =item Can't msgrcv to read-only var
 
@@ -1006,7 +1006,7 @@ the command line.
 =item Can't open a reference
 
 (W io) You tried to open a scalar reference for reading or writing,
-using the 3-arg open() syntax :
+using the 3-arg open() syntax:
 
     open FH, '>', $ref;
 
@@ -1089,7 +1089,7 @@ to reopen it to accept binary data.  Alas, it failed.
 
 (F|P) Error resolving overloading specified by a method name (as opposed
 to a subroutine reference): no such method callable via the package. If
-method name is C<???>, this is an internal error.
+the method name is C<???>, this is an internal error.
 
 =item Can't return %s from lvalue subroutine
 
@@ -1134,11 +1134,6 @@ with Perl, though, if you really want to do that.
 however, redefine it while it's running, and you can even undef the
 redefined subroutine while the old routine is running.  Go figure.
 
-=item Can't unshift
-
-(F) You tried to unshift an "unreal" array that can't be unshifted, such
-as the main Perl stack.
-
 =item Can't upgrade %s (%d) to %d
 
 (P) The internal sv_upgrade routine adds "members" to an SV, making it
@@ -1333,6 +1328,21 @@ uses the character values modulus 256 instead, as if you 
had provided:
 
    unpack("s", "\x{f3}b")
 
+=item "\c{" is deprecated and is more clearly written as ";"
+
+(D deprecated, syntax) The C<\cI<X>> construct is intended to be a way
+to specify non-printable characters.  You used it with a "{" which
+evaluates to ";", which is printable.  It is planned to remove the
+ability to specify a semi-colon this way in Perl 5.16.  Just use a
+semi-colon or a backslash-semi-colon without the "\c".
+
+=item "\c%c" is more clearly written simply as "%s"
+
+(W syntax) The C<\cI<X>> construct is intended to be a way to specify
+non-printable characters.  You used it for a printable one, which is better
+written as simply itself, perhaps preceded by a backslash for non-word
+characters.
+
 =item close() on unopened filehandle %s
 
 (W unopened) You tried to close a filehandle that was never opened.
@@ -1404,10 +1414,10 @@ on I<Mastering Regular Expressions>.)
 
 (W threads) Within a thread-enabled program, you tried to call
 cond_broadcast() on a variable which wasn't locked. The cond_broadcast()
-function  is used to wake up another thread that is waiting in a
+function is used to wake up another thread that is waiting in a
 cond_wait(). To ensure that the signal isn't sent before the other thread
-has a chance to enter the wait, it is usual for the signaling thread to
-first wait for a lock on variable. This lock attempt will only succeed
+has a chance to enter the wait, it is usual for the signaling thread
+first to wait for a lock on variable. This lock attempt will only succeed
 after the other thread has entered cond_wait() and thus relinquished the
 lock.
 
@@ -1415,10 +1425,10 @@ lock.
 
 (W threads) Within a thread-enabled program, you tried to call
 cond_signal() on a variable which wasn't locked. The cond_signal()
-function  is used to wake up another thread that is waiting in a
+function is used to wake up another thread that is waiting in a
 cond_wait(). To ensure that the signal isn't sent before the other thread
-has a chance to enter the wait, it is usual for the signaling thread to
-first wait for a lock on variable. This lock attempt will only succeed
+has a chance to enter the wait, it is usual for the signaling thread
+first to wait for a lock on variable. This lock attempt will only succeed
 after the other thread has entered cond_wait() and thus relinquished the
 lock.
 
@@ -1493,21 +1503,6 @@ valid magic number.
 you have also specified an explicit size for the string.  See
 L<perlfunc/pack>.
 
-=item "\c{" is deprecated and is more clearly written as ";"
-
-(D deprecated, syntax) The C<\cI<X>> construct is intended to be a way
-to specify non-printable characters.  You used it with a "{" which
-evaluates to ";", which is printable.  It is planned to remove the
-ability to specify a semi-colon this way in Perl 5.16.  Just use a
-semi-colon or a backslash-semi-colon without the "\c".
-
-=item "\c%c" is more clearly written simply as "%s"
-
-(W syntax) The C<\cI<X>> construct is intended to be a way to specify
-non-printable characters.  You used it for a printable one, which is better
-written as simply itself, perhaps preceded by a backslash for non-word
-characters.
-
 =item Deep recursion on subroutine "%s"
 
 (W recursion) This subroutine has called itself (directly or indirectly)
@@ -1544,10 +1539,10 @@ that triggers this error.
 =item Deprecated character in \N{...}; marked by <-- HERE  in \N{%s<-- HERE %s
 
 (D deprecated) Just about anything is legal for the C<...> in C<\N{...}>.
-But starting in 5.12, non-reasonable ones that don't look like names are
-deprecated.  A reasonable name begins with an alphabetic character and
-continues with any combination of alphanumerics, dashes, spaces, parentheses or
-colons.
+But starting in 5.12, non-reasonable ones that don't look like names
+are deprecated.  A reasonable name begins with an alphabetic character
+and continues with any combination of alphanumerics, dashes, spaces,
+parentheses or colons.
 
 =item Deprecated use of my() in false conditional
 
@@ -1607,7 +1602,7 @@ carried away.
 =item Died
 
 (F) You passed die() an empty string (the equivalent of C<die "">) or
-you called it with no args and both C<$@> and C<$_> were empty.
+you called it with no args and C<$@> was empty.
 
 =item Document contains no data
 

--
Perl5 Master Repository

Reply via email to