summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doop.c4
-rw-r--r--lib/Cwd.pm11
2 files changed, 14 insertions, 1 deletions
diff --git a/doop.c b/doop.c
index 1495953955..a760a78de3 100644
--- a/doop.c
+++ b/doop.c
@@ -187,6 +187,10 @@ S_do_trans_complex(pTHX_ SV *sv)/* SPC - NOT OK */
d = s;
dstart = d;
+#ifdef MACOS_TRADITIONAL
+#define comp CoMP /* "comp" is a keyword in some compilers ... */
+#endif
+
if (PL_op->op_private & OPpTRANS_SQUASH) {
U8* p = send;
UV pch = 0xfeedface;
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