This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Simplify ExtUtils::Install::_can_write_dir on VMS.
authorCraig A. Berry <craigberry@mac.com>
Sat, 12 Jan 2013 22:30:17 +0000 (16:30 -0600)
committerCraig A. Berry <craigberry@mac.com>
Sat, 12 Jan 2013 22:30:17 +0000 (16:30 -0600)
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

index 7e4cd7f..7e17121 100644 (file)
@@ -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 {