From eeace61d181813f7b93c686e9d16cd914a90dd7d Mon Sep 17 00:00:00 2001 From: "Craig A. Berry" Date: Sat, 12 Jan 2013 16:30:17 -0600 Subject: [PATCH] Simplify ExtUtils::Install::_can_write_dir on VMS. This reverts the code (but not test) portions of 3d55b451d9544fb. The old solution of using catdir rather than a combination of catdir and catpath works with and without extended filespecs enabled, so there's no reason to maintain two versions, and thus no reason to have all the boilerplate feature checking code at the beginning of the module. --- dist/ExtUtils-Install/lib/ExtUtils/Install.pm | 31 +++------------------------ 1 file changed, 3 insertions(+), 28 deletions(-) diff --git a/dist/ExtUtils-Install/lib/ExtUtils/Install.pm b/dist/ExtUtils-Install/lib/ExtUtils/Install.pm index 7e4cd7f..7e17121 100644 --- a/dist/ExtUtils-Install/lib/ExtUtils/Install.pm +++ b/dist/ExtUtils-Install/lib/ExtUtils/Install.pm @@ -38,11 +38,11 @@ ExtUtils::Install - install files from here to there =head1 VERSION -1.58 +1.59 =cut -$VERSION = '1.58'; # <---- dont forget to update the POD section just above this line! +$VERSION = '1.59'; # <---- dont forget to update the POD section just above this line! $VERSION = eval $VERSION; =pod @@ -96,34 +96,11 @@ Dies with a special message. =cut my $Is_VMS = $^O eq 'VMS'; -my $Is_VMS_noefs = $Is_VMS; my $Is_MacPerl = $^O eq 'MacOS'; my $Is_Win32 = $^O eq 'MSWin32'; my $Is_cygwin = $^O eq 'cygwin'; my $CanMoveAtBoot = ($Is_Win32 || $Is_cygwin); - if( $Is_VMS ) { - my $vms_unix_rpt; - my $vms_efs; - my $vms_case; - - if (eval { local $SIG{__DIE__}; require VMS::Feature; }) { - $vms_unix_rpt = VMS::Feature::current("filename_unix_report"); - $vms_efs = VMS::Feature::current("efs_charset"); - $vms_case = VMS::Feature::current("efs_case_preserve"); - } else { - my $unix_rpt = $ENV{'DECC$FILENAME_UNIX_REPORT'} || ''; - my $efs_charset = $ENV{'DECC$EFS_CHARSET'} || ''; - my $efs_case = $ENV{'DECC$EFS_CASE_PRESERVE'} || ''; - $vms_unix_rpt = $unix_rpt =~ /^[ET1]/i; - $vms_efs = $efs_charset =~ /^[ET1]/i; - $vms_case = $efs_case =~ /^[ET1]/i; - } - $Is_VMS_noefs = 0 if ($vms_efs); - } - - - # *note* CanMoveAtBoot is only incidentally the same condition as below # this needs not hold true in the future. my $Has_Win32API_File = ($Is_Win32 || $Is_cygwin) @@ -440,9 +417,7 @@ sub _can_write_dir { my $path=''; my @make; while (@dirs) { - if ($Is_VMS_noefs) { - # There is a bug in catdir that is fixed when the EFS character - # set is enabled, which requires this VMS specific code. + if ($Is_VMS) { $dir = File::Spec->catdir($vol,@dirs); } else { -- 2.7.4