This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Integrate:
authorNicholas Clark <nick@ccl4.org>
Mon, 22 Mar 2004 19:57:32 +0000 (19:57 +0000)
committerNicholas Clark <nick@ccl4.org>
Mon, 22 Mar 2004 19:57:32 +0000 (19:57 +0000)
[ 22485]
make op/write.t work better under stdio by running the subtests
in the child process rather than the parent.

[ 22494]
Subject: Re: [PATCH] Stop splitpod truncating sprintf manpage
From: Steve Hay <steve.hay@uk.radan.com>
Date: Fri, 12 Mar 2004 08:38:41 +0000
Message-ID: <40517711.9030204@uk.radan.com>

[ 22505]
We'll ship 5.9.1 today.

[ 22509]
Update copyright notices

[ 22527]
Subject:  pumpkin fodder
From:  Jarkko Hietaniemi <jhi@cc.hut.fi>
Date:  Fri, 12 Mar 2004 15:16:57 +0200 (EET)
Message-Id:  <200403121316.i2CDGv1Y254951@kosh.hut.fi>

[ 22534]
Nit in perluniintro about the U0 and C0 templates,
noticed by Steve Hay.

[ 22540]
\x80\xFF is not valid UTF-8.
p4raw-link: @22540 on //depot/perl: cc5e35530cecae3181bf0cafea49ebb522764a26
p4raw-link: @22534 on //depot/perl: 771cd3b2e7ce6baa14c71ca3beb07044b747812b
p4raw-link: @22527 on //depot/perl: 0fa75b596fec0b917a3b53aa7158ea091521d82f
p4raw-link: @22509 on //depot/perl: b5f8cc5c1ad883dce8b5a96bed64f2340aa86716
p4raw-link: @22505 on //depot/perl: d6dfbb98c47cfe726e152704988f1ae387164238
p4raw-link: @22494 on //depot/perl: 8c98129fd14ae24244bde1f7f87508f60058f99b
p4raw-link: @22485 on //depot/perl: 68ba3c2c674c6fecf165cdd3b5e4da501410ba1a

p4raw-id: //depot/maint-5.8/perl@22555
p4raw-integrated: from //depot/perl@22554 'copy in'
lib/unicore/README.perl (@19391..) pod/splitpod (@21386..)
form.h (@22161..) pp_pack.c (@22171..) pod/perlhist.pod
(@22381..) utf8.c (@22427..) perlio.c (@22478..) 'merge in'
opnames.h (@19242..) embed.pl (@20404..) global.sym (@22163..)
scope.h (@22172..) cop.h (@22182..) cv.h (@22185..) doop.c
(@22196..) gv.c regexec.c (@22263..) universal.c (@22264..)
perl.c (@22299..) pp_sort.c (@22349..) op.h (@22376..) hv.c
(@22393..) embedvar.h perlapi.h proto.h (@22408..) mg.c
(@22414..) doio.c (@22415..) thread.h (@22417..) t/op/write.t
(@22425..) embed.h opcode.h opcode.pl (@22433..) pp_sys.c
(@22471..) scope.c (@22500..)
p4raw-integrated: from //depot/perl@22534 'ignore' pod/perluniintro.pod
(@22444..)
p4raw-integrated: from //depot/perl@22509 'copy in' handy.h (@22123..)
'edit in' pad.c (@22445..) 'merge in' pp.c (@22317..) pp_hot.c
(@22363..) util.c (@22380..) dump.c (@22406..) perl.h
(@22408..) sv.h (@22428..) pp_ctl.c (@22473..) sv.c (@22490..)
op.c (@22499..) patchlevel.h (@22506..)

46 files changed:
cop.h
cv.h
doio.c
doop.c
dump.c
embed.h
embed.pl
embedvar.h
form.h
global.sym
gv.c
handy.h
hv.c
lib/unicore/README.perl
mg.c
op.c
op.h
opcode.h
opcode.pl
opnames.h
pad.c
patchlevel.h
perl.c
perl.h
perlapi.h
perlio.c
pod/perlhist.pod
pod/perluniintro.pod
pod/splitpod
pp.c
pp_ctl.c
pp_hot.c
pp_pack.c
pp_sort.c
pp_sys.c
proto.h
regexec.c
scope.c
scope.h
sv.c
sv.h
t/op/write.t
thread.h
universal.c
utf8.c
util.c

diff --git a/cop.h b/cop.h
index 7759299..d4d1f9e 100644 (file)
--- a/cop.h
+++ b/cop.h
@@ -1,7 +1,7 @@
 /*    cop.h
  *
  *    Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
- *    2000, 2001, 2002, 2003, by Larry Wall and others
+ *    2000, 2001, 2002, 2003, 2004, 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.
diff --git a/cv.h b/cv.h
index 34b9938..48687bf 100644 (file)
--- a/cv.h
+++ b/cv.h
@@ -1,7 +1,7 @@
 /*    cv.h
  *
  *    Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1999,
- *    2000, 2001, 2002, 2003, by Larry Wall and others
+ *    2000, 2001, 2002, 2003, 2004, 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.
diff --git a/doio.c b/doio.c
index 3329a65..e452bc3 100644 (file)
--- a/doio.c
+++ b/doio.c
@@ -1,7 +1,7 @@
 /*    doio.c
  *
  *    Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
- *    2000, 2001, 2002, 2003, by Larry Wall and others
+ *    2000, 2001, 2002, 2003, 2004, 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.
diff --git a/doop.c b/doop.c
index 5f2980c..3c4b3c8 100644 (file)
--- a/doop.c
+++ b/doop.c
@@ -1,7 +1,7 @@
 /*    doop.c
  *
  *    Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
- *    2000, 2001, 2002, by Larry Wall and others
+ *    2000, 2001, 2002, 2004, 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.
diff --git a/dump.c b/dump.c
index 1729321..b19006e 100644 (file)
--- a/dump.c
+++ b/dump.c
@@ -1,7 +1,7 @@
 /*    dump.c
  *
  *    Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
- *    2000, 2001, 2002, 2003, by Larry Wall and others
+ *    2000, 2001, 2002, 2003, 2004, 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.
diff --git a/embed.h b/embed.h
index 8653986..a293d26 100644 (file)
--- a/embed.h
+++ b/embed.h
@@ -2,7 +2,7 @@
  *    embed.h
  *
  *    Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999,
- *    2000, 2001, 2002, 2003, by Larry Wall and others
+ *    2000, 2001, 2002, 2003, 2004, 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.
index e86d946..71bd702 100755 (executable)
--- a/embed.pl
+++ b/embed.pl
@@ -22,17 +22,17 @@ sub do_not_edit ($)
     my $years;
 
     if ($file eq 'embed.h') {
-        $years = '1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003';
+        $years = '1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004';
     } elsif ($file eq 'embedvar.h') {
-        $years = '1999, 2000, 2001, 2002, 2003';
+        $years = '1999, 2000, 2001, 2002, 2003, 2004';
     } elsif ($file eq 'global.sym') {
-        $years = '1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003';
+        $years = '1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004';
     } elsif ($file eq 'perlapi.c') {
         $years = '1999, 2000, 2001';
     } elsif ($file eq 'perlapi.h') {
-        $years = '1999, 2000, 2001, 2002, 2003';
+        $years = '1999, 2000, 2001, 2002, 2003, 2004';
     } elsif ($file eq 'proto.h') {
-        $years = '1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003';
+        $years = '1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004';
     }
 
     $years =~ s/1999,/1999,\n  / if length $years > 40;
index c6f6565..a586740 100644 (file)
@@ -1,7 +1,7 @@
 /*
  *    embedvar.h
  *
- *    Copyright (C) 1999, 2000, 2001, 2002, 2003, by Larry Wall and others
+ *    Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 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.
diff --git a/form.h b/form.h
index 9cf271a..114d6d4 100644 (file)
--- a/form.h
+++ b/form.h
@@ -1,6 +1,6 @@
 /*    form.h
  *
- *    Copyright (C) 1991, 1992, 1993, 2000, by Larry Wall and others
+ *    Copyright (C) 1991, 1992, 1993, 2000, 2004 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.
index 20de759..1439abb 100644 (file)
@@ -2,7 +2,7 @@
 #    global.sym
 #
 #    Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999,
-#    2000, 2001, 2002, 2003, by Larry Wall and others
+#    2000, 2001, 2002, 2003, 2004, 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.
diff --git a/gv.c b/gv.c
index 82c2e56..7e4fbed 100644 (file)
--- a/gv.c
+++ b/gv.c
@@ -1,7 +1,7 @@
 /*    gv.c
  *
  *    Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
- *    2000, 2001, 2002, 2003, by Larry Wall and others
+ *    2000, 2001, 2002, 2003, 2004, 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.
diff --git a/handy.h b/handy.h
index 88d7b13..ad1ebca 100644 (file)
--- a/handy.h
+++ b/handy.h
@@ -1,7 +1,7 @@
 /*    handy.h
  *
  *    Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1999,
- *    2000, 2001, 2002, by Larry Wall and others
+ *    2000, 2001, 2002, 2004, 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.
diff --git a/hv.c b/hv.c
index 77170f0..aaf33e1 100644 (file)
--- a/hv.c
+++ b/hv.c
@@ -1,7 +1,7 @@
 /*    hv.c
  *
  *    Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
- *    2000, 2001, 2002, 2003, by Larry Wall and others
+ *    2000, 2001, 2002, 2003, 2004, 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.
index d9961d3..e71aad5 100644 (file)
@@ -6,7 +6,7 @@ as of Unicode 4.0.0 (April 2003).
 
 The two big files, NormalizationTest.txt (2.0MB) and Unihan.txt
 (25.7MB) were not included due to space considerations.  Also NOT
-included were any *.html files and the Derived* files
+included were any *.html files and the Derived*.txt files
 
     DerivedAge.txt
     DerivedCoreProperties.txt
@@ -16,7 +16,31 @@ To be 8.3-friendly, the lib/unicore/PropertyValueAliases.txt was
 renamed to be lib/unicore/PropValueAliases.txt, since otherwise
 it would have conflicted with lib/unicore/PropertyAliases.txt.
 
-The *.pl files are generated from these files by the mktables script.
+FOR PUMPKINS
+
+The *.pl files are generated from the *.txt files by the mktables script:
+       
+       cd lib/unicore
+       cp .../UnicodeOriginal/*.txt .
+       rm NormalizationTest.txt Unihan.txt Derived*.txt
+       p4 edit *.pl */*.pl
+       perl ./mktables
+       p4 revert -a
+       cd ../..
+       perl Porting/manicheck
+
+If any new (or deleted, unlikely but not impossible) *.pl files are indicated:
+
+       cd lib/unicore
+       p4 add ...
+       p4 delete ...
+       cd ../...
+       p4 edit MANIFEST
+       ...
+
+And finally:
+
+       p4 submit
 
 -- 
 jhi@iki.fi
diff --git a/mg.c b/mg.c
index c6e0a96..76ef523 100644 (file)
--- a/mg.c
+++ b/mg.c
@@ -1,7 +1,7 @@
 /*    mg.c
  *
  *    Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
- *    2000, 2001, 2002, 2003, by Larry Wall and others
+ *    2000, 2001, 2002, 2003, 2004, 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.
diff --git a/op.c b/op.c
index 93a8aef..b5acc84 100644 (file)
--- a/op.c
+++ b/op.c
@@ -1,7 +1,7 @@
 /*    op.c
  *
  *    Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
- *    2000, 2001, 2002, 2003, by Larry Wall and others
+ *    2000, 2001, 2002, 2003, 2004, 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.
diff --git a/op.h b/op.h
index 87ed1eb..8655ae8 100644 (file)
--- a/op.h
+++ b/op.h
@@ -1,7 +1,7 @@
 /*    op.h
  *
  *    Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
- *    2000, 2001, 2002, 2003, by Larry Wall and others
+ *    2000, 2001, 2002, 2003, 2004, 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.
index 9813ae6..6a7fc08 100644 (file)
--- a/opcode.h
+++ b/opcode.h
@@ -2,7 +2,7 @@
  *    opcode.h
  *
  *    Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999,
- *    2000, 2001, 2002, 2003, by Larry Wall and others
+ *    2000, 2001, 2002, 2003, 2004, 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.
index 2cc2e84..d59ac03 100755 (executable)
--- a/opcode.pl
+++ b/opcode.pl
@@ -39,7 +39,7 @@ print <<"END";
  *    opcode.h
  *
  *    Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999,
- *    2000, 2001, 2002, 2003, by Larry Wall and others
+ *    2000, 2001, 2002, 2003, 2004, 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.
@@ -60,7 +60,7 @@ print ON <<"END";
 /*
  *    opnames.h
  *
- *    Copyright (C) 1999, 2000, 2001, 2002, 2003, by Larry Wall and others
+ *    Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 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.
index c59e631..ef34bb3 100644 (file)
--- a/opnames.h
+++ b/opnames.h
@@ -1,7 +1,7 @@
 /*
  *    opnames.h
  *
- *    Copyright (C) 1999, 2000, 2001, 2002, 2003, by Larry Wall and others
+ *    Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 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.
diff --git a/pad.c b/pad.c
index ca4db13..530bbca 100644 (file)
--- a/pad.c
+++ b/pad.c
@@ -1,6 +1,12 @@
 /*    pad.c
  *
+>>>> ORIGINAL pad.c#29
+ *    Copyright (C) 2002,2003 by Larry Wall and others
+==== THEIRS pad.c#30
+ *    Copyright (C) 2002, 2003, 2004, by Larry Wall and others
+==== YOURS pad.c
  *    Copyright (C) 2002, 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.
index b7ae7a9..d976fc0 100644 (file)
@@ -1,7 +1,7 @@
 /*    patchlevel.h
  *
  *    Copyright (C) 1993, 1995, 1996, 1997, 1998, 1999,
- *    2000, 2001, 2002, 2003, by Larry Wall and others
+ *    2000, 2001, 2002, 2003, 2004, 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.
diff --git a/perl.c b/perl.c
index 8551e9d..49a7e7c 100644 (file)
--- a/perl.c
+++ b/perl.c
@@ -1,7 +1,7 @@
 /*    perl.c
  *
  *    Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999,
- *    2000, 2001, 2002, 2003, by Larry Wall and others
+ *    2000, 2001, 2002, 2003, 2004, 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.
diff --git a/perl.h b/perl.h
index a111047..b7b5a8b 100644 (file)
--- a/perl.h
+++ b/perl.h
@@ -1,7 +1,7 @@
 /*    perl.h
  *
  *    Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999,
- *    2000, 2001, 2002, 2003, by Larry Wall and others
+ *    2000, 2001, 2002, 2003, 2004, 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.
index 4f73b62..74efcaf 100644 (file)
--- a/perlapi.h
+++ b/perlapi.h
@@ -1,7 +1,7 @@
 /*
  *    perlapi.h
  *
- *    Copyright (C) 1999, 2000, 2001, 2002, 2003, by Larry Wall and others
+ *    Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 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.
index da4a182..35a982e 100644 (file)
--- a/perlio.c
+++ b/perlio.c
@@ -1,5 +1,5 @@
 /*
- * perlio.c Copyright (c) 1996-2002, Nick Ing-Simmons You may distribute
+ * perlio.c Copyright (c) 1996-2004, Nick Ing-Simmons You may distribute
  * under the terms of either the GNU General Public License or the
  * Artistic License, as specified in the README file.
  */
index 6a0a142..8eb6df9 100644 (file)
@@ -376,6 +376,7 @@ the strings?).
           5.8.3         2004-Jan-14
 
  Hugo     5.9.0         2003-Oct-27
+ Rafael   5.9.1         2004-Mar-16
 
 =head2 SELECTED RELEASE SIZES
 
index 803df80..19bc82e 100644 (file)
@@ -246,16 +246,14 @@ Note that both C<\x{...}> and C<\N{...}> are compile-time string
 constants: you cannot use variables in them.  if you want similar
 run-time functionality, use C<chr()> and C<charnames::vianame()>.
 
-Also note that if all the code points for pack "U" are below 0x100,
-bytes will be generated, just like if you were using C<chr()>.
-
-   my $bytes = pack("U*", 0x80, 0xFF);
-
 If you want to force the result to Unicode characters, use the special
 C<"U0"> prefix.  It consumes no arguments but forces the result to be
 in Unicode characters, instead of bytes.
 
-   my $chars = pack("U0U*", 0x80, 0xFF);
+   my $chars = pack("U0C*", 0x80, 0x42);
+
+Likewise, you can force the result to be bytes by using the special
+C<"C0"> prefix.
 
 =head2 Handling Unicode
 
index ff60ddc..d5963bf 100755 (executable)
@@ -5,12 +5,19 @@ use Pod::Functions;
 
 local $/ = '';
 
+$level = 0;
+
 $cur = '';
 while (<>) {
 
     next unless /^=(?!cut)/ .. /^=cut/;
 
-    if (/=item (\S+)/ and $1 ne '*') {
+    ++$level if /^=over/;
+    --$level if /^=back/;
+
+    # Ignore items that are nested within other items, e.g. don't split on the
+    # items nested within the pack() and sprintf() items in perlfunc.pod.
+    if (/=item (\S+)/ and $level == 1) {
        my $item = $1;
        s/=item //; 
        $next{$cur} = $item;
diff --git a/pp.c b/pp.c
index 7e760a4..a959833 100644 (file)
--- a/pp.c
+++ b/pp.c
@@ -1,7 +1,7 @@
 /*    pp.c
  *
  *    Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
- *    2000, 2001, 2002, 2003, by Larry Wall and others
+ *    2000, 2001, 2002, 2003, 2004, 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.
index 0212127..9fb8182 100644 (file)
--- a/pp_ctl.c
+++ b/pp_ctl.c
@@ -1,7 +1,7 @@
 /*    pp_ctl.c
  *
  *    Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
- *    2000, 2001, 2002, 2003, by Larry Wall and others
+ *    2000, 2001, 2002, 2003, 2004, 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.
index 5efb7ce..8330a56 100644 (file)
--- a/pp_hot.c
+++ b/pp_hot.c
@@ -1,7 +1,7 @@
 /*    pp_hot.c
  *
  *    Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
- *    2000, 2001, 2002, 2003, by Larry Wall and others
+ *    2000, 2001, 2002, 2003, 2004, 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.
index 834e723..aca8f82 100644 (file)
--- a/pp_pack.c
+++ b/pp_pack.c
@@ -1,7 +1,7 @@
 /*    pp_pack.c
  *
  *    Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
- *    2000, 2001, 2002, 2003, by Larry Wall and others
+ *    2000, 2001, 2002, 2003, 2004, 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.
index bec4407..e45e4d3 100644 (file)
--- a/pp_sort.c
+++ b/pp_sort.c
@@ -1,7 +1,7 @@
 /*    pp_sort.c
  *
  *    Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
- *    2000, 2001, 2002, 2003, by Larry Wall and others
+ *    2000, 2001, 2002, 2003, 2004, 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.
index 537dd86..d210049 100644 (file)
--- a/pp_sys.c
+++ b/pp_sys.c
@@ -1,7 +1,7 @@
 /*    pp_sys.c
  *
  *    Copyright (C) 1995, 1996, 1997, 1998, 1999,
- *    2000, 2001, 2002, 2003, by Larry Wall and others
+ *    2000, 2001, 2002, 2003, 2004, 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.
diff --git a/proto.h b/proto.h
index cd1fc21..06c95b1 100644 (file)
--- a/proto.h
+++ b/proto.h
@@ -2,7 +2,7 @@
  *    proto.h
  *
  *    Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999,
- *    2000, 2001, 2002, 2003, by Larry Wall and others
+ *    2000, 2001, 2002, 2003, 2004, 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.
index 2ec017c..7495622 100644 (file)
--- a/regexec.c
+++ b/regexec.c
@@ -68,7 +68,7 @@
  ****    Alterations to Henry's code are...
  ****
  ****    Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
- ****    2000, 2001, 2002, 2003, by Larry Wall and others
+ ****    2000, 2001, 2002, 2003, 2004, 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.
diff --git a/scope.c b/scope.c
index 6c3fe5b..8bcb1b2 100644 (file)
--- a/scope.c
+++ b/scope.c
@@ -1,7 +1,7 @@
 /*    scope.c
  *
  *    Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
- *    2000, 2001, 2002, 2003, by Larry Wall and others
+ *    2000, 2001, 2002, 2003, 2004, 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.
diff --git a/scope.h b/scope.h
index a2e760e..24948cb 100644 (file)
--- a/scope.h
+++ b/scope.h
@@ -1,7 +1,7 @@
 /*    scope.h
  *
  *    Copyright (C) 1993, 1994, 1996, 1997, 1998, 1999,
- *    2000, 2001, 2002, by Larry Wall and others
+ *    2000, 2001, 2002, 2004, 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.
diff --git a/sv.c b/sv.c
index b947bff..3cac9c4 100644 (file)
--- a/sv.c
+++ b/sv.c
@@ -1,7 +1,7 @@
 /*    sv.c
  *
  *    Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
- *    2000, 2001, 2002, 2003, by Larry Wall and others
+ *    2000, 2001, 2002, 2003, 2004, 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.
diff --git a/sv.h b/sv.h
index 63661f1..c501698 100644 (file)
--- a/sv.h
+++ b/sv.h
@@ -1,7 +1,7 @@
 /*    sv.h
  *
  *    Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
- *    2000, 2001, 2002, 2003, by Larry Wall and others
+ *    2000, 2001, 2002, 2003, 2004, 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.
index be7ac31..a3a37de 100755 (executable)
@@ -58,7 +58,7 @@ for my $tref ( @NumTests ){
 my $bas_tests = 20;
 
 # number of tests in section 3
-my $hmb_tests = 36;
+my $hmb_tests = 37;
 
 printf "1..%d\n", $bas_tests + $num_tests + $hmb_tests;
 
@@ -497,7 +497,7 @@ for my $tref ( @NumTests ){
                 : $writeres eq $expected;
        
         print $ok
-           ? "ok $nt\n"
+           ? "ok $nt - $writefmt\n"
            : "not ok $nt\n# f=[$writefmt] exp=[$expected] got=[$writeres]\n";
     }
 }
@@ -552,6 +552,7 @@ $= = 10;
     $test++;
 }
 select $oldfh;
+close STDOUT_DUP;
 
 $^  = "STDOUT_TOP";
 $=  =  7;              # Page length
@@ -561,19 +562,46 @@ my $tm =  1;              # Top margin (empty lines before first output)
 my $bm =  2;           # Bottom marging (empty lines between last text and footer)
 my $lm =  4;           # Left margin (indent in spaces)
 
-select ((select (STDOUT), $| = 1)[0]);
-if ($lm > 0 and !open STDOUT, "|-") {  # Left margin (in this test ALWAYS set)
-    select ((select (STDOUT), $| = 1)[0]);
+# -----------------------------------------------------------------------
+#
+# execute the rest of the script in a child process. The parent reads the
+# output from the child and compares it with <DATA>.
+
+my @data = <DATA>;
+
+select ((select (STDOUT), $| = 1)[0]); # flush STDOUT
+
+my $opened = open FROM_CHILD, "-|";
+unless (defined $opened) {
+    print "not ok $test - open gave $!\n"; exit 0;
+}
+
+if ($opened) {
+    # in parent here
+
+    print "ok $test - open\n"; $test++;
     my $s = " " x $lm;
-    while (<STDIN>) {
+    while (<FROM_CHILD>) {
+       unless (@data) {
+           print "not ok $test - too much output\n";
+           exit;
+       }
        s/^/$s/;
-       print + ($_ eq <DATA> ? "" : "not "), "ok ", $test++, "\n";
+       my $exp = shift @data;
+       print + ($_ eq $exp ? "" : "not "), "ok ", $test++, " \n";
+       if ($_ ne $exp) {
+           s/\n/\\n/g for $_, $exp;
+           print "#expected: $exp\n#got:      $_\n";
        }
-    close STDIN;
-    print + (<DATA>?"not ":""), "ok ", $test++, "\n";
-    close STDOUT;
-    exit;
     }
+    close FROM_CHILD;
+    print + (@data?"not ":""), "ok ", $test++, " - too litle output\n";
+    exit;
+}
+
+# in child here
+
+    select ((select (STDOUT), $| = 1)[0]);
 $tm = "\n" x $tm;
 $= -= $bm + 1; # count one for the trailing "----"
 my $lastmin = 0;
index 442c412..e7baf72 100644 (file)
--- a/thread.h
+++ b/thread.h
@@ -1,6 +1,6 @@
 /*    thread.h
  *
- *    Copyright (C) 1999, 2000, 2001, 2002, by Larry Wall and others
+ *    Copyright (C) 1999, 2000, 2001, 2002, 2004, 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.
index c55b488..4ab796f 100644 (file)
@@ -1,6 +1,6 @@
 /*    universal.c
  *
- *    Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
+ *    Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
  *    by Larry Wall and others
  *
  *    You may distribute under the terms of either the GNU General Public
diff --git a/utf8.c b/utf8.c
index 6b2527c..984cd14 100644 (file)
--- a/utf8.c
+++ b/utf8.c
@@ -1,6 +1,6 @@
 /*    utf8.c
  *
- *    Copyright (C) 2000, 2001, 2002, 2003, by Larry Wall and others
+ *    Copyright (C) 2000, 2001, 2002, 2003, 2004, 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.
diff --git a/util.c b/util.c
index c315a53..1ca158b 100644 (file)
--- a/util.c
+++ b/util.c
@@ -1,7 +1,7 @@
 /*    util.c
  *
  *    Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999,
- *    2000, 2001, 2002, 2003, by Larry Wall and others
+ *    2000, 2001, 2002, 2003, 2004, 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.