More MacOS Classic fixes from Chris Nandor.
[p5sagit/p5-mst-13.2.git] / lib / Cwd.pm
index 4a263cd..f27bd3a 100644 (file)
@@ -91,7 +91,7 @@ sub _backtick_pwd {
 
 unless(defined &cwd) {
     # The pwd command is not available in some chroot(2)'ed environments
-    if(grep { -x "$_/pwd" } split(':', $ENV{PATH})) {
+    if($^O eq 'MacOS' || grep { -x "$_/pwd" } split(':', $ENV{PATH})) {
        *cwd = \&_backtick_pwd;
     }
     else {
@@ -198,6 +198,9 @@ sub chdir {
     if ($^O eq 'VMS') {
        return $ENV{'PWD'} = $ENV{'DEFAULT'}
     }
+    elsif ($^O eq 'MacOS') {
+       return $ENV{'PWD'} = cwd();
+    }
     elsif ($^O eq 'MSWin32') {
        $ENV{'PWD'} = Win32::GetFullPathName($newdir);
        return 1;
@@ -417,6 +420,12 @@ sub _epoc_cwd {
         *fastcwd       = \&_epoc_cwd;
         *abs_path      = \&fast_abs_path;
     }
+    elsif ($^O eq 'MacOS') {
+       *getcwd     = \&cwd;
+       *fastgetcwd = \&cwd;
+       *fastcwd    = \&cwd;
+       *abs_path   = \&fast_abs_path;
+    }
 }
 
 # package main; eval join('',<DATA>) || die $@;        # quick test