Change 34533 by [EMAIL PROTECTED] on 2008/10/20 16:11:30

        Integrate:
        [ 34378]
        Subject: Re: [PATCH] Revised: Improved documentation for flock() in 
perlfunc.pod
        From: Paul Fenwick <[EMAIL PROTECTED]>
        Date: Tue, 16 Sep 2008 20:32:39 +1000
        Message-ID: <[EMAIL PROTECTED]>
        
        [ 34380]
        Kevin J. Woolley has taken over from Gozer.
        
        [ 34386]
        Subject: [PATCH] Re: [perl #59134] Typo in File::stat man pag 
        From: Moritz Lenz <[EMAIL PROTECTED]>
        Date: Sun, 21 Sep 2008 17:50:04 +0200
        Message-ID: <[EMAIL PROTECTED]>
        
        [ 34389]
        Subject: [PATCH] Re: [perl #59128] Typo in perldsc(1) 
        From: Moritz Lenz <[EMAIL PROTECTED]>
        Date: Sun, 21 Sep 2008 17:47:11 +0200
        Message-ID: <[EMAIL PROTECTED]>
        
        [ 34408]
        Subject:  [PATCH] Show using waitpid in IPC::Open[23] SYNOPSIS
        From: brian d foy <[EMAIL PROTECTED]>
        Date: Sun, 21 Sep 2008 15:23:47 -0500
        Message-ID: <[EMAIL PROTECTED]>
        
        [ 34435]
        Subject: Re: [PATCH] Add open "|-" and open "-|" to perlopentut
        From: Shlomi Fish <[EMAIL PROTECTED]>
        Date: Tue, 23 Sep 2008 19:00:41 +0300
        Message-id: <[EMAIL PROTECTED]>
        
        [ 34451]
        error reporting of [$a ; $b] can be a TODO.
        
        [ 34454]
        It's RISC OS, dammit. Hard space, upper case. Always.
        
        [ 34463]
        Update copyright year to 2008.
        
        [ 34505]
        Damian has transferred Filter::Simple to p5p. Bump its version to 0.83
        with the new contact details, and remove the out-of-date README from
        core.
        
        [ 34529]
        Bump IPC::Open2's $VERSION. (The docs changed.)
        
        [ 34531]
        Bump the $VERSION of File::stat (documentation changed).

Affected files ...

... //depot/maint-5.10/perl/MANIFEST#49 integrate
... //depot/maint-5.10/perl/Porting/Maintainers.pl#13 integrate
... //depot/maint-5.10/perl/Porting/repository.pod#2 integrate
... //depot/maint-5.10/perl/README#2 integrate
... //depot/maint-5.10/perl/lib/File/stat.pm#2 integrate
... //depot/maint-5.10/perl/lib/Filter/Simple.pm#2 integrate
... //depot/maint-5.10/perl/lib/Filter/Simple/Changes#2 integrate
... //depot/maint-5.10/perl/lib/Filter/Simple/README#2 delete
... //depot/maint-5.10/perl/lib/IPC/Open2.pm#2 integrate
... //depot/maint-5.10/perl/lib/IPC/Open3.pm#3 integrate
... //depot/maint-5.10/perl/perl.c#18 integrate
... //depot/maint-5.10/perl/pod/perldsc.pod#2 integrate
... //depot/maint-5.10/perl/pod/perlfunc.pod#11 integrate
... //depot/maint-5.10/perl/pod/perlopentut.pod#3 integrate
... //depot/maint-5.10/perl/pod/perltodo.pod#16 integrate

Differences ...

==== //depot/maint-5.10/perl/MANIFEST#49 (text) ====
Index: perl/MANIFEST
--- perl/MANIFEST#48~34455~     2008-10-03 07:05:48.000000000 -0700
+++ perl/MANIFEST       2008-10-20 09:11:30.000000000 -0700
@@ -1949,7 +1949,6 @@
 lib/filetest.t                 See if filetest works
 lib/Filter/Simple/Changes      Filter::Simple
 lib/Filter/Simple.pm           Simple frontend to Filter::Util::Call
-lib/Filter/Simple/README       Filter::Simple
 lib/Filter/Simple/t/data.t     See if Filter::Simple works
 lib/Filter/Simple/t/export.t   See if Filter::Simple works
 lib/Filter/Simple/t/filter_only.t      See if Filter::Simple works

==== //depot/maint-5.10/perl/Porting/Maintainers.pl#13 (text) ====
Index: perl/Porting/Maintainers.pl
--- perl/Porting/Maintainers.pl#12~33963~       2008-05-31 07:37:05.000000000 
-0700
+++ perl/Porting/Maintainers.pl 2008-10-20 09:11:30.000000000 -0700
@@ -395,14 +395,6 @@
                'CPAN'          => 1,
                },
 
-       'Filter::Simple' =>
-               {
-               'MAINTAINER'    => 'dconway',
-               'FILES'         => q[lib/Filter/Simple.pm lib/Filter/Simple
-                                    t/lib/Filter/Simple],
-               'CPAN'          => 1,
-               },
-
        'Filter::Util::Call' =>
                {
                'MAINTAINER'    => 'pmqs',

==== //depot/maint-5.10/perl/Porting/repository.pod#2 (text) ====
Index: perl/Porting/repository.pod
--- perl/Porting/repository.pod#1~32694~        2007-12-22 01:23:09.000000000 
-0800
+++ perl/Porting/repository.pod 2008-10-20 09:11:30.000000000 -0700
@@ -498,8 +498,8 @@
 The mail alias E<lt>[EMAIL PROTECTED]<gt> can be used to reach
 all current users of the repository.
 
-The repository keeper is currently Philippe M. Chiasson
-E<lt>[EMAIL PROTECTED]<gt>.
+The repository keeper is currently Kevin J. Woolley
+E<lt>[EMAIL PROTECTED]<gt>. 
 
 =head1 AUTHORS
 

==== //depot/maint-5.10/perl/README#2 (text) ====
Index: perl/README
--- perl/README#1~32694~        2007-12-22 01:23:09.000000000 -0800
+++ perl/README 2008-10-20 09:11:30.000000000 -0700
@@ -1,5 +1,5 @@
 Perl is Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
-2002, 2003, 2004, 2005, 2006, 2007 by Larry Wall and others.
+2002, 2003, 2004, 2005, 2006, 2007, 2008 by Larry Wall and others.
 All rights reserved.
 
 

==== //depot/maint-5.10/perl/lib/File/stat.pm#2 (text) ====
Index: perl/lib/File/stat.pm
--- perl/lib/File/stat.pm#1~32694~      2007-12-22 01:23:09.000000000 -0800
+++ perl/lib/File/stat.pm       2008-10-20 09:11:30.000000000 -0700
@@ -6,7 +6,7 @@
 
 our(@EXPORT, @EXPORT_OK, %EXPORT_TAGS);
 
-our $VERSION = '1.00';
+our $VERSION = '1.01';
 
 BEGIN { 
     use Exporter   ();
@@ -76,7 +76,7 @@
 
  use File::stat qw(:FIELDS);
  stat($file) or die "No $file: $!";
- if ( ($st_mode & 0111) && $st_nlink > 1) ) {
+ if ( ($st_mode & 0111) && ($st_nlink > 1) ) {
      print "$file is executable with lotsa links\n";
  } 
 

==== //depot/maint-5.10/perl/lib/Filter/Simple.pm#2 (text) ====
Index: perl/lib/Filter/Simple.pm
--- perl/lib/Filter/Simple.pm#1~32694~  2007-12-22 01:23:09.000000000 -0800
+++ perl/lib/Filter/Simple.pm   2008-10-20 09:11:30.000000000 -0700
@@ -4,7 +4,7 @@
 
 use vars qw{ $VERSION @EXPORT };
 
-$VERSION = '0.82';
+$VERSION = '0.83';
 
 use Filter::Util::Call;
 use Carp;
@@ -774,10 +774,24 @@
 
 =head1 AUTHOR
 
-Damian Conway ([EMAIL PROTECTED])
+Damian Conway
 
-=head1 COPYRIGHT
+=head1 CONTACT
 
-    Copyright (c) 2000-2001, Damian Conway. All Rights Reserved.
+Filter::Simple is now maintained by the Perl5-Porters.
+Please submit bug via the C<perlbug> tool that comes with your perl.
+For usage instructions, read C<perldoc perlbug> or possibly C<man perlbug>.
+For mostly anything else, please contact E<lt>[EMAIL PROTECTED]<gt>.
+
+Maintainer of the CPAN release is Steffen Mueller E<lt>[EMAIL PROTECTED]<gt>.
+Contact him with technical difficulties with respect to the packaging of the
+CPAN module.
+
+Praise of the module, flowers, and presents still go to the author,
+Damian Conway E<lt>[EMAIL PROTECTED]<gt>.
+
+=head1 COPYRIGHT AND LICENSE
+
+    Copyright (c) 2000-2008, Damian Conway. All Rights Reserved.
     This module is free software. It may be used, redistributed
     and/or modified under the same terms as Perl itself.

==== //depot/maint-5.10/perl/lib/Filter/Simple/Changes#2 (text) ====
Index: perl/lib/Filter/Simple/Changes
--- perl/lib/Filter/Simple/Changes#1~32694~     2007-12-22 01:23:09.000000000 
-0800
+++ perl/lib/Filter/Simple/Changes      2008-10-20 09:11:30.000000000 -0700
@@ -105,3 +105,10 @@
     - Fixed INSTALLDIRS=>perl in Makefile.PL (thanks all)
 
     - Fixed other problems caused by de-schwernification
+
+
+0.83    Sat Oct 18 18:51:51 CET 2008
+    
+    - Updated contact details: Maintained by the Perl5-Porters.
+    - Some tiny distribution fixes.
+

==== //depot/maint-5.10/perl/lib/IPC/Open2.pm#2 (text) ====
Index: perl/lib/IPC/Open2.pm
--- perl/lib/IPC/Open2.pm#1~32694~      2007-12-22 01:23:09.000000000 -0800
+++ perl/lib/IPC/Open2.pm       2008-10-20 09:11:30.000000000 -0700
@@ -6,7 +6,7 @@
 require 5.000;
 require Exporter;
 
-$VERSION       = 1.02;
+$VERSION       = 1.03;
 @ISA           = qw(Exporter);
 @EXPORT                = qw(open2);
 
@@ -28,6 +28,9 @@
       # or without using the shell
     $pid = open2($chld_out, $chld_in, 'some', 'cmd', 'and', 'args');
 
+    waitpid( $pid, 0 );
+    my $child_exit_status = $? >> 8;
+
 =head1 DESCRIPTION
 
 The open2() function runs the given $cmd and connects $chld_out for

==== //depot/maint-5.10/perl/lib/IPC/Open3.pm#3 (text) ====
Index: perl/lib/IPC/Open3.pm
--- perl/lib/IPC/Open3.pm#2~34530~      2008-10-20 07:43:37.000000000 -0700
+++ perl/lib/IPC/Open3.pm       2008-10-20 09:11:30.000000000 -0700
@@ -26,6 +26,9 @@
     $pid = open3($wtr, $rdr, $err,
                    'some cmd and args', 'optarg', ...);
 
+    waitpid( $pid, 0 );
+    my $child_exit_status = $? >> 8;
+
 =head1 DESCRIPTION
 
 Extremely similar to open2(), open3() spawns the given $cmd and

==== //depot/maint-5.10/perl/perl.c#18 (text) ====
Index: perl/perl.c
--- perl/perl.c#17~34267~       2008-09-05 01:29:29.000000000 -0700
+++ perl/perl.c 2008-10-20 09:11:30.000000000 -0700
@@ -1,7 +1,7 @@
 /*    perl.c
  *
- *    Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999,
- *    2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 by Larry Wall and others
+ *    Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
+ *    2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 by Larry Wall and others
  *
  *    You may distribute under the terms of either the GNU General Public
  *    License or the Artistic License, as specified in the README file.
@@ -3293,7 +3293,7 @@
 #endif
 
        PerlIO_printf(PerlIO_stdout(),
-                     "\n\nCopyright 1987-2007, Larry Wall\n");
+                     "\n\nCopyright 1987-2008, Larry Wall\n");
 #ifdef MACOS_TRADITIONAL
        PerlIO_printf(PerlIO_stdout(),
                      "\nMac OS port Copyright 1991-2002, Matthias Neeracher;\n"

==== //depot/maint-5.10/perl/pod/perldsc.pod#2 (text) ====
Index: perl/pod/perldsc.pod
--- perl/pod/perldsc.pod#1~32694~       2007-12-22 01:23:09.000000000 -0800
+++ perl/pod/perldsc.pod        2008-10-20 09:11:30.000000000 -0700
@@ -71,8 +71,8 @@
 =head1 REFERENCES
 X<reference> X<dereference> X<dereferencing> X<pointer>
 
-The most important thing to understand about all data structures in Perl
--- including multidimensional arrays--is that even though they might
+The most important thing to understand about all data structures in
+Perl--including multidimensional arrays--is that even though they might
 appear otherwise, Perl C<@ARRAY>s and C<%HASH>es are all internally
 one-dimensional.  They can hold only scalar values (meaning a string,
 number, or a reference).  They cannot directly contain other arrays or

==== //depot/maint-5.10/perl/pod/perlfunc.pod#11 (text) ====
Index: perl/pod/perlfunc.pod
--- perl/pod/perlfunc.pod#10~34335~     2008-09-10 09:28:02.000000000 -0700
+++ perl/pod/perlfunc.pod       2008-10-20 09:11:30.000000000 -0700
@@ -1930,25 +1930,27 @@
 
 Here's a mailbox appender for BSD systems.
 
-    use Fcntl ':flock'; # import LOCK_* constants
+    use Fcntl qw(:flock SEEK_END); # import LOCK_* and SEEK_END constants
 
     sub lock {
-       flock(MBOX,LOCK_EX);
-       # and, in case someone appended
-       # while we were waiting...
-       seek(MBOX, 0, 2);
+       my ($fh) = @_;
+       flock($fh, LOCK_EX) or die "Cannot lock mailbox - $!\n";
+
+       # and, in case someone appended while we were waiting...
+       seek($fh, 0, SEEK_END) or die "Cannot seek - $!\n";
     }
 
     sub unlock {
-       flock(MBOX,LOCK_UN);
+       my ($fh) = @_;
+       flock($fh, LOCK_UN) or die "Cannot unlock mailbox - $!\n";
     }
 
     open(my $mbox, ">>", "/usr/spool/mail/$ENV{'USER'}")
            or die "Can't open mailbox: $!";
 
-    lock();
+    lock($mbox);
     print $mbox $msg,"\n\n";
-    unlock();
+    unlock($mbox);
 
 On systems that support a real flock(), locks are inherited across fork()
 calls, whereas those that must resort to the more capricious fcntl()

==== //depot/maint-5.10/perl/pod/perlopentut.pod#3 (text) ====
Index: perl/pod/perlopentut.pod
--- perl/pod/perlopentut.pod#2~33729~   2008-04-22 11:51:34.000000000 -0700
+++ perl/pod/perlopentut.pod    2008-10-20 09:11:30.000000000 -0700
@@ -165,6 +165,33 @@
 library will handle this for you.  Check out 
 L<perlipc/"Bidirectional Communication with Another Process">
 
+perl-5.6.x introduced a version of piped open that executes a process
+based on its command line arguments without relying on the shell. (Similar
+to the C<system(@LIST)> notation.) This is safer and faster than executing
+a single argument pipe-command, but does not allow special shell
+constructs. (It is also not supported on Microsoft Windows, Mac OS Classic
+or RISC OS.)
+
+Here's an example of C<open '-|'>, which prints a random Unix
+fortune cookie as uppercase:
+
+    my $collection = shift(@ARGV);
+    open my $fortune, '-|', 'fortune', $collection
+        or die "Could not find fortune - $!";
+    while (<$fortune>)
+    {
+        print uc($_);
+    }
+    close($fortune);
+
+And this C<open '|-'> pipes into lpr:
+
+    open my $printer, '|-', 'lpr', '-Plp1'
+        or die "can't run lpr: $!";
+    print {$printer} "stuff\n";
+    close($printer)
+        or die "can't close lpr: $!";
+
 =head2 The Minus File
 
 Again following the lead of the standard shell utilities, Perl's

==== //depot/maint-5.10/perl/pod/perltodo.pod#16 (text) ====
Index: perl/pod/perltodo.pod
--- perl/pod/perltodo.pod#15~34335~     2008-09-10 09:28:02.000000000 -0700
+++ perl/pod/perltodo.pod       2008-10-20 09:11:30.000000000 -0700
@@ -871,6 +871,23 @@
 These tasks would need C knowledge, and knowledge of how the interpreter works,
 or a willingness to learn.
 
+=head2 error reporting of [$a ; $b]
+
+Using C<;> inside brackets is a syntax error, and we don't propose to change
+that by giving it any meaning. However, it's not reported very helpfully:
+
+    $ perl -e '$a = [$b; $c];'
+    syntax error at -e line 1, near "$b;"
+    syntax error at -e line 1, near "$c]"
+    Execution of -e aborted due to compilation errors.
+
+It should be possible to hook into the tokeniser or the lexer, so that when a
+C<;> is parsed where it is not legal as a statement terminator (ie inside
+C<{}> used as a hashref, C<[]> or C<()>) it issues an error something like
+I<';' isn't legal inside an expression - if you need multiple statements use a
+do {...} block>. See the thread starting at
+http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2008-09/msg00573.html
+
 =head2 UTF-8 revamp
 
 The handling of Unicode is unclean in many places. For example, the regexp
End of Patch.

Reply via email to