Change 11209 by pudge@pudge-mobile on 2001/07/08 01:19:25

        Small portability fix for Mac OS.

Affected files ...

... //depot/maint-5.6/macperl/lib/Cwd.pm#2 edit

Differences ...

==== //depot/maint-5.6/macperl/lib/Cwd.pm#2 (text) ====
Index: perl/lib/Cwd.pm
--- perl/lib/Cwd.pm.~1~ Sat Jul  7 19:30:05 2001
+++ perl/lib/Cwd.pm     Sat Jul  7 19:30:05 2001
@@ -1,5 +1,5 @@
 package Cwd;
-require 5.000;
+require 5.6.0;
 
 =head1 NAME
 
@@ -73,13 +73,35 @@
 L<perlsub/Overriding Builtin Functions>.) Note that it will only be
 kept up to date if all packages which use chdir import it from Cwd.
 
+=head1 NOTES
+
+=over 4
+
+=item *
+
+On Mac OS (Classic), the path separator is ':', not '/', and the 
+current directory is denoted as ':', not '.'. To move up the directory 
+tree, you will use '::' to move up one level, but ':::' and so on to 
+move up the tree two or more levels (i.e. the equivalent to '../../..'
+is '::::'). Generally, you should be careful about specifying relative pathnames. 
+While a full path always begins with a volume name, a relative pathname 
+should always begin with a ':'.  If specifying a volume name only, a 
+trailing ':' is required.
+
+Actually, on Mac OS, the C<getcwd()>, C<fastgetcwd()> and C<fastcwd()>
+functions  are all aliases for the C<cwd()> function, which, on Mac OS,
+calls `pwd`. Likewise, the C<abs_path()> function is an alias for
+C<fast_abs_path()>.
+
+=back
+
 =cut
 
 use strict;
 
 use Carp;
 
-our $VERSION = '2.04';
+our $VERSION = '2.05';
 
 use base qw/ Exporter /;
 our @EXPORT = qw(cwd getcwd fastcwd fastgetcwd);
@@ -301,7 +323,8 @@
 
 sub fast_abs_path {
     my $cwd = getcwd();
-    my $path = @_ ? shift : '.';
+    require File::Spec;
+    my $path = @_ ? shift : File::Spec->curdir;
     CORE::chdir($path) || croak "Cannot chdir to $path:$!";
     my $realpath = getcwd();
     CORE::chdir($cwd)  || croak "Cannot chdir back to $cwd:$!";
End of Patch.

Reply via email to