summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/Cwd.pm11
1 files changed, 10 insertions, 1 deletions
diff --git a/lib/Cwd.pm b/lib/Cwd.pm
index 4a263cd5fa..f27bd3a12b 100644
--- a/lib/Cwd.pm
+++ b/lib/Cwd.pm
@@ -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