Change 18458: Integrate:

2003-01-08 Thread Jarkko Hietaniemi
Change 18458 by jhi@lyta on 2003/01/08 19:43:26

Integrate:
[ 18438]
Subject: Re: [PATCH] Tiny nits in perlre.pod
From: [EMAIL PROTECTED] (Andreas J. Koenig)
Date: Fri, 03 Jan 2003 00:57:15 +0100
Message-ID: [EMAIL PROTECTED]

[ 18439]
Subject: [PATCH] [perl #15184] ExtUtils/t/Embed.t fails with -Duseshrplib 
-Dlibperl=...
From: Rafael Garcia-Suarez [EMAIL PROTECTED]
Date: Fri, 13 Dec 2002 00:54:43 +0100
Message-Id: [EMAIL PROTECTED]
Same as change 18403 for maint-5.8 branch

[ 18441]
Subject: [DOCPATCH] File::Copy's synopsis
From: Nicholas Clark [EMAIL PROTECTED]
Date: Wed, 1 Jan 2003 21:09:30 +
Message-ID: [EMAIL PROTECTED]

[ 18451]
Subject: [PATCH perl@18746] VMS test adjustments
Date: Sat, 04 Jan 2003 11:26:00 -0600
From: Craig A. Berry [EMAIL PROTECTED]
Message-ID: [EMAIL PROTECTED]

[ 18453]
Change the value of ${^TAINT} : 0 without taint checks,
1 with -T, and -1 with -t or -TU.

[ 18454]
Integrate podlators-1.25

[ 18455]
Subject: [PATCH] integrate more with report_evil_fh
From: Nicholas Clark [EMAIL PROTECTED]
Date: Thu, 26 Dec 2002 20:56:21 +
Message-ID: [EMAIL PROTECTED]

Affected files ...

... //depot/maint-5.8/perl/ext/Devel/Peek/Peek.t#6 integrate
... //depot/maint-5.8/perl/ext/Filter/t/call.t#4 integrate
... //depot/maint-5.8/perl/lib/ExtUtils/t/Embed.t#3 integrate
... //depot/maint-5.8/perl/lib/File/Copy.pm#5 integrate
... //depot/maint-5.8/perl/lib/Pod/Man.pm#3 integrate
... //depot/maint-5.8/perl/lib/Pod/t/man.t#2 integrate
... //depot/maint-5.8/perl/lib/charnames.t#5 integrate
... //depot/maint-5.8/perl/mg.c#8 integrate
... //depot/maint-5.8/perl/pod/perlre.pod#5 integrate
... //depot/maint-5.8/perl/pod/perlvar.pod#6 integrate
... //depot/maint-5.8/perl/pp_sys.c#9 integrate
... //depot/maint-5.8/perl/t/op/taint.t#4 integrate
... //depot/maint-5.8/perl/t/run/runenv.t#5 integrate
... //depot/maint-5.8/perl/t/run/switchI.t#3 integrate
... //depot/maint-5.8/perl/t/run/switcht.t#2 integrate

Differences ...

 //depot/maint-5.8/perl/lib/File/Copy.pm#5 (text) 
Index: perl/lib/File/Copy.pm
--- perl/lib/File/Copy.pm#4~18442~  Sat Jan  4 13:18:39 2003
+++ perl/lib/File/Copy.pm   Wed Jan  8 11:43:26 2003
@@ -269,13 +269,13 @@
 
 =head1 SYNOPSIS
 
-   use File::Copy;
+   use File::Copy;
 
copy(file1,file2) or die Copy failed: $!;
-   copy(Copy.pm,\*STDOUT);
+   copy(Copy.pm,\*STDOUT);
move(/dev1/fileA,/dev2/fileB);
 
-   use POSIX;
+   use POSIX;
use File::Copy cp;
 
$n = FileHandle-new(/a/file,r);

 //depot/maint-5.8/perl/lib/Pod/Man.pm#3 (text) 
Index: perl/lib/Pod/Man.pm
--- perl/lib/Pod/Man.pm#2~18360~Sat Dec 28 16:38:01 2002
+++ perl/lib/Pod/Man.pm Wed Jan  8 11:43:26 2003
@@ -1,7 +1,7 @@
 # Pod::Man -- Convert POD data to formatted *roff input.
-# $Id: Man.pm,v 1.34 2002/07/15 05:46:00 eagle Exp $
+# $Id: Man.pm,v 1.36 2003/01/05 06:32:55 eagle Exp $
 #
-# Copyright 1999, 2000, 2001, 2002 by Russ Allbery [EMAIL PROTECTED]
+# Copyright 1999, 2000, 2001, 2002, 2003 by Russ Allbery [EMAIL PROTECTED]
 #
 # This program is free software; you may redistribute it and/or modify it
 # under the same terms as Perl itself.
@@ -38,7 +38,7 @@
 # Don't use the CVS revision as the version, since this module is also in Perl
 # core and too many things could munge CVS magic revision strings.  This
 # number should ideally be the same as the CVS revision in podlators, however.
-$VERSION = 1.34;
+$VERSION = 1.36;
 
 
 ##
@@ -471,6 +471,7 @@
 $$self{INDEX} = []; # Index keys waiting to be printed.
 $$self{IN_NAME}   = 0;  # Whether processing the NAME section.
 $$self{ITEMS} = 0;  # The number of consecutive =items.
+$$self{ITEMTYPES} = []; # Stack of =item types, one per list.
 $$self{SHIFTWAIT} = 0;  # Whether there is a shift waiting.
 $$self{SHIFTS}= []; # Stack of .RS shifts.
 }
@@ -537,9 +538,9 @@
 $text =~ s/\n\s*$/\n/;
 
 # Output the paragraph.  We also have to handle =over without =item.  If
-# there's an =over without =item, NEWINDENT will be set, and we need to
-# handle creation of the indent here.  Set WEIRDINDENT so that it will be
-# cleaned up on =back.
+# there's an =over without =item, SHIFTWAIT will be set, and we need to
+# handle creation of the indent here.  Add the shift to SHIFTS so that it
+# will be cleaned up on =back.
 $self-makespace;
 if ($$self{SHIFTWAIT}) {
 $self-output (.RS $$self{INDENT}\n);
@@ -716,6 +717,7 @@
 push (@{ $$self{SHIFTS} }, $$self{INDENT});
 }
 push (@{ $$self{INDENTS} }, 

Change 18459: PerlFAQ sync.

2003-01-08 Thread Rafael Garcia-Suarez
Change 18459 by rgs@rgs-home on 2003/01/08 20:48:19

PerlFAQ sync.

Affected files ...

... //depot/perl/pod/perlfaq.pod#30 edit
... //depot/perl/pod/perlfaq1.pod#45 edit
... //depot/perl/pod/perlfaq2.pod#60 edit
... //depot/perl/pod/perlfaq3.pod#72 edit
... //depot/perl/pod/perlfaq4.pod#79 edit
... //depot/perl/pod/perlfaq5.pod#52 edit
... //depot/perl/pod/perlfaq6.pod#41 edit
... //depot/perl/pod/perlfaq7.pod#35 edit
... //depot/perl/pod/perlfaq8.pod#37 edit
... //depot/perl/pod/perlfaq9.pod#41 edit

Differences ...

 //depot/perl/pod/perlfaq.pod#30 (text) 
Index: perl/pod/perlfaq.pod
--- perl/pod/perlfaq.pod#29~18185~  Tue Nov 26 13:06:48 2002
+++ perl/pod/perlfaq.podWed Jan  8 12:48:19 2003
@@ -1,11 +1,74 @@
 =head1 NAME
 
-perlfaq - frequently asked questions about Perl ($Date: 2002/11/13 06:23:50 $)
+perlfaq - frequently asked questions about Perl ($Date: 2003/01/03 20:00:25 $)
 
 =head1 DESCRIPTION
 
-The perlfaq is structured into the following documents:
+The perlfaq is divided into several documents based on topics.  A table
+of contents is at the end of this document.
 
+=head2 Where to get the perlfaq
+
+Extracts of the perlfaq are posted regularly to
+comp.lang.perl.misc.  It is available on many web sites:
+http://www.perldoc.com/ and http://faq.perl.org/
+
+=head2 How to contribute to the perlfaq
+
+You may mail corrections, additions, and suggestions to
[EMAIL PROTECTED] .  This alias should not be used to
+Iask FAQs.  It's for fixing the current FAQ. Send
+questions to the comp.lang.perl.misc newsgroup.  You can
+view the source tree at http://cvs.perl.org/cvsweb/perlfaq/
+(which is outside of the main Perl source tree).  The CVS
+repository notes all changes to the FAQ.
+
+=head2 What will happen if you mail your Perl programming problems to the authors
+
+Your questions will probably go unread, unless they're
+suggestions of new questions to add to the FAQ, in which
+case they should have gone to the [EMAIL PROTECTED]
+instead.
+
+You should have read section 2 of this faq.  There you would
+have learned that comp.lang.perl.misc is the appropriate
+place to go for free advice.  If your question is really
+important and you require a prompt and correct answer, you
+should hire a consultant.
+
+=head1 Credits
+
+The original perlfaq was written by Tom Christiansen, then expanded
+by collaboration between Tom and Nathan Torkington.  The current
+document is maintained by the perlfaq-workers ([EMAIL PROTECTED]).
+Several people have contributed answers, corrections, and comments.
+
+=head1 Author and Copyright Information
+
+Copyright (c) 1997-2003 Tom Christiansen, Nathan Torkington, and 
+other contributors noted in the answers.
+
+All rights reserved.
+
+=head2 Bundled Distributions
+
+This documentation is free; you can redistribute it and/or modify it
+under the same terms as Perl itself.
+
+Irrespective of its distribution, all code examples in these files
+are hereby placed into the public domain.  You are permitted and
+encouraged to use this code in your own programs for fun
+or for profit as you see fit.  A simple comment in the code giving
+credit would be courteous but is not required.
+
+=head2 Disclaimer
+
+This information is offered in good faith and in the hope that it may
+be of use, but is not guaranteed to be correct, up to date, or suitable
+for any particular purpose whatsoever.  The authors accept no liability
+in respect of this information or its use.
+
+=head1 Table of Contents
 
 =head2 perlfaq: Structural overview of the FAQ.
 
@@ -1309,61 +1372,3 @@
 =back
 
 
-=head1 About the perlfaq documents
-
-=head2 Where to get the perlfaq
-
-This document is posted regularly to comp.lang.perl.announce and
-several other related newsgroups.  It is available on many
-web sites: http://www.perldoc.com/ and http://perlfaq.cpan.org/ .
-
-=head2 How to contribute to the perlfaq
-
-You may mail corrections, additions, and suggestions to
[EMAIL PROTECTED] .  This alias should not be 
-used to Iask FAQs.  It's for fixing the current FAQ.
-Send questions to the comp.lang.perl.misc newsgroup.
-
-=head2 What will happen if you mail your Perl programming problems to the authors
-
-Your questions will probably go unread, unless they're suggestions of
-new questions to add to the FAQ, in which case they should have gone
-to the [EMAIL PROTECTED] instead.
-
-You should have read section 2 of this faq.  There you would have
-learned that comp.lang.perl.misc is the appropriate place to go for
-free advice.  If your question is really important and you require a
-prompt and correct answer, you should hire a consultant.
-
-=head1 Credits
-
-When I first began the Perl FAQ in the late 80s, I never realized it
-would have grown to over a hundred pages, nor that Perl would ever become
-so popular and widespread.  This document could not have been written
-without the tremendous help provided by Larry Wall and the rest of the
-Perl Porters.
-
-=head1 Author and 

Change 18461: Integrate change #18362 from maint-5.8:

2003-01-08 Thread Rafael Garcia-Suarez
Change 18461 by rgs@rgs-home on 2003/01/08 21:16:54

Integrate change #18362 from maint-5.8:
Fix [perl #18666] (taking the more conservative approach).

Affected files ...

... //depot/perl/lib/File/Spec/Unix.pm#33 integrate

Differences ...

 //depot/perl/lib/File/Spec/Unix.pm#33 (text) 
Index: perl/lib/File/Spec/Unix.pm
--- perl/lib/File/Spec/Unix.pm#32~17828~Wed Sep  4 04:31:42 2002
+++ perl/lib/File/Spec/Unix.pm  Wed Jan  8 13:16:54 2003
@@ -213,6 +213,7 @@
 =cut
 
 sub path {
+return () unless exists $ENV{PATH};
 my @path = split(':', $ENV{PATH});
 foreach (@path) { $_ = '.' if $_ eq '' }
 return @path;
End of Patch.




Change 18460: Integrate change #18361 from maint-5.8:

2003-01-08 Thread Rafael Garcia-Suarez
Change 18460 by rgs@rgs-home on 2003/01/08 21:14:20

Integrate change #18361 from maint-5.8:
Document that the socketpair tests are unhappy in old SCO,
as per [perl #18537].

Affected files ...

... //depot/perl/pod/perl58delta.pod#7 integrate

Differences ...

 //depot/perl/pod/perl58delta.pod#7 (text) 
Index: perl/pod/perl58delta.pod
--- perl/pod/perl58delta.pod#6~18165~   Tue Nov 19 14:45:36 2002
+++ perl/pod/perl58delta.podWed Jan  8 13:14:20 2003
@@ -3545,6 +3545,12 @@
 formatting 0.6 and -0.6 using the printf format %.0f; most often,
 they produce 0 and -0.)
 
+=head2 SCO
+
+The socketpair tests are known to be unhappy in SCO 3.2v5.0.4:
+
+ ext/Socket/socketpair.t...FAILED tests 15-45
+
 =head2 Solaris 2.5
 
 In case you are still using Solaris 2.5 (aka SunOS 5.5), you may
End of Patch.




Change 18462: Integrate change #18391 from maint-5.8:

2003-01-08 Thread Rafael Garcia-Suarez
Change 18462 by rgs@rgs-home on 2003/01/08 21:24:09

Integrate change #18391 from maint-5.8:
Document the installprefix trick for compiling PASE Perl in AIX.

Affected files ...

... //depot/perl/README.os400#4 integrate

Differences ...

 //depot/perl/README.os400#4 (text) 
Index: perl/README.os400
--- perl/README.os400#3~17912~  Thu Sep 19 10:21:24 2002
+++ perl/README.os400   Wed Jan  8 13:24:09 2003
@@ -36,6 +36,12 @@
 on OS/400 PASE, so it is possible to build Perl natively on OS/400.  
 The easier way, however, is to compile in AIX, as just described.
 
+If you don't want to install the compiled Perl in AIX into /QOpenSys
+(for packaging it before copying it to PASE), you can use a Configure
+parameter: -Dinstallprefix=/tmp/QOpenSys/perl.  This will cause the
+make install to install everything into that directory, while the
+installed files still think they are (will be) in /QOpenSys/perl.
+
 If building natively on PASE, please do the build under the /QOpenSys
 directory, since Perl is happier when built on a case sensitive filesystem.
 
End of Patch.




Change 18463: [DOCPATCH] hv_store and hv_store_ent

2003-01-08 Thread Rafael Garcia-Suarez
Change 18463 by rgs@rgs-home on 2003/01/08 21:27:49

Subject: [DOCPATCH] hv_store and hv_store_ent
From: Nicholas Clark [EMAIL PROTECTED]
Date: Wed, 1 Jan 2003 18:17:59 +
Message-ID: [EMAIL PROTECTED]
(Integrated from change #18399 from maint-5.8)

Affected files ...

... //depot/perl/hv.c#120 integrate

Differences ...

 //depot/perl/hv.c#120 (text) 
Index: perl/hv.c
--- perl/hv.c#119~18259~Sun Dec  8 11:34:34 2002
+++ perl/hv.c   Wed Jan  8 13:27:49 2003
@@ -506,7 +506,15 @@
 stored within the hash (as in the case of tied hashes).  Otherwise it can
 be dereferenced to get the original CSV*.  Note that the caller is
 responsible for suitably incrementing the reference count of Cval before
-the call, and decrementing it if the function returned NULL.
+the call, and decrementing it if the function returned NULL.  Effectively
+a successful hv_store takes ownership of one reference to Cval.  This is
+usually what you want; a newly created SV has a reference count of one, so
+if all your code does is create SVs then store them in a hash, hv_store
+will own the only reference to the new SV, and your code doesn't need to do
+anything further to tidy up.  hv_store is not implemented as a call to
+hv_store_ent, and does not create a temporary SV for the key, so if your
+key data is not already in SV form then use hv_store in preference to
+hv_store_ent.
 
 See Lperlguts/Understanding the Magic of Tied Hashes and Arrays for more
 information on how to use this function on tied hashes.
@@ -681,7 +689,17 @@
 contents of the return value can be accessed using the CHe? macros
 described here.  Note that the caller is responsible for suitably
 incrementing the reference count of Cval before the call, and
-decrementing it if the function returned NULL.
+decrementing it if the function returned NULL.  Effectively a successful
+hv_store_ent takes ownership of one reference to Cval.  This is
+usually what you want; a newly created SV has a reference count of one, so
+if all your code does is create SVs then store them in a hash, hv_store
+will own the only reference to the new SV, and your code doesn't need to do
+anything further to tidy up.  Note that hv_store_ent only reads the Ckey;
+unlike Cval it does not take ownership of it, so maintaining the correct
+reference count on Ckey is entirely the caller's responsibility.  hv_store
+is not implemented as a call to hv_store_ent, and does not create a temporary
+SV for the key, so if your key data is not already in SV form then use
+hv_store in preference to hv_store_ent.
 
 See Lperlguts/Understanding the Magic of Tied Hashes and Arrays for more
 information on how to use this function on tied hashes.
End of Patch.




Change 18464: [PATCH] label code in pp_ctl.c

2003-01-08 Thread Rafael Garcia-Suarez
Change 18464 by rgs@rgs-home on 2003/01/08 21:40:37

Subject: [PATCH] label code in pp_ctl.c
From: Nicholas Clark [EMAIL PROTECTED]
Date: Thu, 26 Dec 2002 21:19:36 +
Message-ID: [EMAIL PROTECTED]
(Integrated from change #18400 from maint-5.8)

Affected files ...

... //depot/perl/pp_ctl.c#334 integrate

Differences ...

 //depot/perl/pp_ctl.c#334 (text) 
Index: perl/pp_ctl.c
--- perl/pp_ctl.c#333~18456~Tue Jan  7 01:20:22 2003
+++ perl/pp_ctl.c   Wed Jan  8 13:40:37 2003
@@ -1015,6 +1015,16 @@
 
 /* Control. */
 
+static char *context_name[] = {
+pseudo-block,
+subroutine,
+eval,
+loop,
+substitution,
+block,
+format
+};
+
 STATIC I32
 S_dopoptolabel(pTHX_ char *label)
 {
@@ -1025,30 +1035,16 @@
cx = cxstack[i];
switch (CxTYPE(cx)) {
case CXt_SUBST:
-   if (ckWARN(WARN_EXITING))
-   Perl_warner(aTHX_ packWARN(WARN_EXITING), Exiting substitution via 
%s,
-   OP_NAME(PL_op));
-   break;
case CXt_SUB:
-   if (ckWARN(WARN_EXITING))
-   Perl_warner(aTHX_ packWARN(WARN_EXITING), Exiting subroutine via %s,
-   OP_NAME(PL_op));
-   break;
case CXt_FORMAT:
-   if (ckWARN(WARN_EXITING))
-   Perl_warner(aTHX_ packWARN(WARN_EXITING), Exiting format via %s,
-   OP_NAME(PL_op));
-   break;
case CXt_EVAL:
-   if (ckWARN(WARN_EXITING))
-   Perl_warner(aTHX_ packWARN(WARN_EXITING), Exiting eval via %s,
-   OP_NAME(PL_op));
-   break;
case CXt_NULL:
if (ckWARN(WARN_EXITING))
-   Perl_warner(aTHX_ packWARN(WARN_EXITING), Exiting pseudo-block via 
%s,
-   OP_NAME(PL_op));
-   return -1;
+   Perl_warner(aTHX_ packWARN(WARN_EXITING), Exiting %s via %s,
+   context_name[CxTYPE(cx)], OP_NAME(PL_op));
+   if (CxTYPE(cx) == CXt_NULL)
+   return -1;
+   break;
case CXt_LOOP:
if (!cx-blk_loop.label ||
  strNE(label, cx-blk_loop.label) ) {
@@ -1160,30 +1156,16 @@
cx = cxstack[i];
switch (CxTYPE(cx)) {
case CXt_SUBST:
-   if (ckWARN(WARN_EXITING))
-   Perl_warner(aTHX_ packWARN(WARN_EXITING), Exiting substitution via 
%s,
-   OP_NAME(PL_op));
-   break;
case CXt_SUB:
-   if (ckWARN(WARN_EXITING))
-   Perl_warner(aTHX_ packWARN(WARN_EXITING), Exiting subroutine via %s,
-   OP_NAME(PL_op));
-   break;
case CXt_FORMAT:
-   if (ckWARN(WARN_EXITING))
-   Perl_warner(aTHX_ packWARN(WARN_EXITING), Exiting format via %s,
-   OP_NAME(PL_op));
-   break;
case CXt_EVAL:
-   if (ckWARN(WARN_EXITING))
-   Perl_warner(aTHX_ packWARN(WARN_EXITING), Exiting eval via %s,
-   OP_NAME(PL_op));
-   break;
case CXt_NULL:
if (ckWARN(WARN_EXITING))
-   Perl_warner(aTHX_ packWARN(WARN_EXITING), Exiting pseudo-block via 
%s,
-   OP_NAME(PL_op));
-   return -1;
+   Perl_warner(aTHX_ packWARN(WARN_EXITING), Exiting %s via %s,
+   context_name[CxTYPE(cx)], OP_NAME(PL_op));
+   if ((CxTYPE(cx)) == CXt_NULL)
+   return -1;
+   break;
case CXt_LOOP:
DEBUG_l( Perl_deb(aTHX_ (Found loop #%ld)\n, (long)i));
return i;
End of Patch.




Change 18465: Fix the doc for splitpath() in the File::Spec modules :

2003-01-08 Thread Rafael Garcia-Suarez
Change 18465 by rgs@rgs-home on 2003/01/08 22:02:26

Fix the doc for splitpath() in the File::Spec modules :
this function doesn't return undef in any case.

Affected files ...

... //depot/perl/lib/File/Spec.pm#25 edit
... //depot/perl/lib/File/Spec/Mac.pm#19 edit
... //depot/perl/lib/File/Spec/OS2.pm#12 edit
... //depot/perl/lib/File/Spec/Unix.pm#34 edit
... //depot/perl/lib/File/Spec/Win32.pm#27 edit

Differences ...

 //depot/perl/lib/File/Spec.pm#25 (text) 
Index: perl/lib/File/Spec.pm
--- perl/lib/File/Spec.pm#24~18282~ Wed Dec 11 02:16:05 2002
+++ perl/lib/File/Spec.pm   Wed Jan  8 14:02:26 2003
@@ -175,7 +175,7 @@
 =item splitpath
 
 Splits a path in to volume, directory, and filename portions. On systems
-with no concept of volume, returns undef for volume. 
+with no concept of volume, returns '' for volume. 
 
 ($volume,$directories,$file) = File::Spec-splitpath( $path );
 ($volume,$directories,$file) = File::Spec-splitpath( $path, $no_file );

 //depot/perl/lib/File/Spec/Mac.pm#19 (text) 
Index: perl/lib/File/Spec/Mac.pm
--- perl/lib/File/Spec/Mac.pm#18~16142~ Wed Apr 24 11:30:14 2002
+++ perl/lib/File/Spec/Mac.pm   Wed Jan  8 14:02:26 2003
@@ -442,7 +442,7 @@
 ($volume,$directories,$file) = File::Spec-splitpath( $path );
 ($volume,$directories,$file) = File::Spec-splitpath( $path, $no_file );
 
-Splits a path in to volume, directory, and filename portions.
+Splits a path into volume, directory, and filename portions.
 
 On Mac OS, assumes that the last part of the path is a filename unless
 $no_file is true or a trailing separator : is present.

 //depot/perl/lib/File/Spec/OS2.pm#12 (text) 
Index: perl/lib/File/Spec/OS2.pm
--- perl/lib/File/Spec/OS2.pm#11~13838~ Fri Dec 21 11:52:09 2001
+++ perl/lib/File/Spec/OS2.pm   Wed Jan  8 14:02:26 2003
@@ -76,10 +76,10 @@
 ($volume,$directories,$file) = File::Spec-splitpath( $path );
 ($volume,$directories,$file) = File::Spec-splitpath( $path, $no_file );
 
-Splits a path in to volume, directory, and filename portions. Assumes that 
+Splits a path into volume, directory, and filename portions. Assumes that 
 the last file is a path unless the path ends in '/', '/.', '/..'
 or $no_file is true.  On Win32 this means that $no_file true makes this return 
-( $volume, $path, undef ).
+( $volume, $path, '' ).
 
 Separators accepted are \ and /.
 

 //depot/perl/lib/File/Spec/Unix.pm#34 (text) 
Index: perl/lib/File/Spec/Unix.pm
--- perl/lib/File/Spec/Unix.pm#33~18461~Wed Jan  8 13:16:54 2003
+++ perl/lib/File/Spec/Unix.pm  Wed Jan  8 14:02:26 2003
@@ -235,8 +235,8 @@
 ($volume,$directories,$file) = File::Spec-splitpath( $path );
 ($volume,$directories,$file) = File::Spec-splitpath( $path, $no_file );
 
-Splits a path in to volume, directory, and filename portions. On systems
-with no concept of volume, returns undef for volume. 
+Splits a path into volume, directory, and filename portions. On systems
+with no concept of volume, returns '' for volume. 
 
 For systems with no syntax differentiating filenames from directories, 
 assumes that the last file is a path unless $no_file is true or a 

 //depot/perl/lib/File/Spec/Win32.pm#27 (text) 
Index: perl/lib/File/Spec/Win32.pm
--- perl/lib/File/Spec/Win32.pm#26~17997~   Fri Oct 11 05:10:39 2002
+++ perl/lib/File/Spec/Win32.pm Wed Jan  8 14:02:26 2003
@@ -170,10 +170,10 @@
 ($volume,$directories,$file) = File::Spec-splitpath( $path );
 ($volume,$directories,$file) = File::Spec-splitpath( $path, $no_file );
 
-Splits a path in to volume, directory, and filename portions. Assumes that 
+Splits a path into volume, directory, and filename portions. Assumes that 
 the last file is a path unless the path ends in '\\', '\\.', '\\..'
 or $no_file is true.  On Win32 this means that $no_file true makes this return 
-( $volume, $path, undef ).
+( $volume, $path, '' ).
 
 Separators accepted are \ and /.
 
End of Patch.