In perl.git, the branch blead has been updated

<http://perl5.git.perl.org/perl.git/commitdiff/7cae3803937000688a3564bfdabfb7a3935a6e86?hp=f9cf141af97dff1d857ee2f905962a19ac97fc36>

- Log -----------------------------------------------------------------
commit 7cae3803937000688a3564bfdabfb7a3935a6e86
Author: Craig A. Berry <[email protected]>
Date:   Fri Jan 20 21:29:08 2012 -0600

    Restore triple-dot directory spec tests in vms/ext/filespec.t.
    
    1fe570cc5e24eecfb07059e53e95fa864bb44142 declared directory
    components containing '...' as either 'not translatable' or created
    the expectation that each dot should be individually escaped when
    translating between Unix and VMS directory specs.  That doesn't
    really make sense since in both formats it means any number of
    intervening directories, plus there was already code of long
    standing that handles it.  So get the tests in this regard back
    in line with reality.

M       vms/ext/filespec.t

commit 3b7517cbd076db646028fd535ee0edea05bc378a
Author: Craig A. Berry <[email protected]>
Date:   Fri Jan 20 18:04:20 2012 -0600

    Start rationalizing Unix-to-VMS file spec conversion code.
    
    Back in 360732b5267d5dfef32b932bf13ceebc6683df74, we started using
    an experimental new conversion routine that had been designed for
    a CRTL feature called POSIX-compliant pathnames but at this point
    was added as a jumping-off place halfway through the existing code
    for converting Unix-format file specifications to VMS format. But
    only for newer versions of VMS and only when a different and
    unrelated feature called Extended Filename Syntax (EFS) had been
    enabled.
    
    But this newer implementation (somewhat inauspiciously named
    posix_to_vmsspec_hardway) is less complete and more buggy than the
    older implementation, and it imposes expectations that have nothing
    to do with EFS, not to mention making for a larger, version-
    specific support matrix.
    
    So for now go back to the older, better-tested (though imperfect)
    version and simplify the differences made by invoking EFS.  None
    of this makes any difference at all unless non-default CRTL
    features have been enabled.

M       vms/vms.c

commit 102411b6b99d0bbca50835265fea29091f139c13
Author: Craig A. Berry <[email protected]>
Date:   Fri Jan 20 17:19:43 2012 -0600

    VMS-specific symlink tweak for stat.t
    
    If the target of a symlink has a version number in the symlink,
    that makes the symlink implementation unable to locate it, so
    trim off the version.

M       t/op/stat.t
-----------------------------------------------------------------------

Summary of changes:
 t/op/stat.t        |    4 +++-
 vms/ext/filespec.t |   14 +++++++-------
 vms/vms.c          |   11 -----------
 3 files changed, 10 insertions(+), 19 deletions(-)

diff --git a/t/op/stat.t b/t/op/stat.t
index df31a38..1fa0d2f 100644
--- a/t/op/stat.t
+++ b/t/op/stat.t
@@ -479,7 +479,9 @@ SKIP: {
     # bug id 20020124.004
     # If we have d_lstat, we should have symlink()
     my $linkname = 'stat-' . rand =~ y/.//dr;
-    symlink $Perl, $linkname or die "# Can't symlink $0: $!";
+    my $target = $Perl;
+    $target =~ s/;\d+\z// if $Is_VMS; # symlinks don't like version numbers
+    symlink $target, $linkname or die "# Can't symlink $0: $!";
     lstat $linkname;
     -T _;
     eval { lstat _ };
diff --git a/vms/ext/filespec.t b/vms/ext/filespec.t
index c5bf12b..7e12e12 100755
--- a/vms/ext/filespec.t
+++ b/vms/ext/filespec.t
@@ -113,15 +113,15 @@ 
__lyrics_:[__are_.__very_^.__sappy_]__but_^.__rhymes_^.__are_.__true_    unixify
 __some_/__where_/__over_/__the_.__rainbow_     vmsify  
[.__some_.__where_.__over_]__the_.__rainbow_ ^
 ../__some_/__where_/__over_/__the_.__rainbow_  vmsify  
[-.__some_.__where_.__over_]__the_.__rainbow_ ^
 __some_/../../__where_/__over_/__the_.__rainbow_       vmsify  
[.__some_.--.__where_.__over_]__the_.__rainbow_ ^
-.../__some_/__where_/__over_/__the_.__rainbow_ vmsify  
[...__some_.__where_.__over_]__the_.__rainbow_ 
[.^.^.^..__some_.__where_.__over_]__the_.__rainbow_
-__some_/.../__where_/__over_/__the_.__rainbow_ vmsify  
[.__some_...__where_.__over_]__the_.__rainbow_  
[.__some_.^.^.^..__where_.__over_]__the_.__rainbow_
-/__some_/.../__where_/__over_/__the_.__rainbow_        vmsify  
__some_:[...__where_.__over_]__the_.__rainbow_ 
__some_:[^.^.^..__where_.__over_]__the_.__rainbow_
-__some_/__where_/...   vmsify  [.__some_.__where_...] 
[.__some_.__where_]^.^.^..
-/__where_/...  vmsify  __where_:[...] __where_:[]^.^.^..
+.../__some_/__where_/__over_/__the_.__rainbow_ vmsify  
[...__some_.__where_.__over_]__the_.__rainbow_ ^
+__some_/.../__where_/__over_/__the_.__rainbow_ vmsify  
[.__some_...__where_.__over_]__the_.__rainbow_  ^
+/__some_/.../__where_/__over_/__the_.__rainbow_        vmsify  
__some_:[...__where_.__over_]__the_.__rainbow_ ^
+__some_/__where_/...   vmsify  [.__some_.__where_...] ^*
+/__where_/...  vmsify  __where_:[...] ^*
 .      vmsify  []      ^
 ..     vmsify  [-]     ^
 ../..  vmsify  [--]    ^
-.../   vmsify  [...]   [.^.^.^.]
+.../   vmsify  [...]   ^
 /      vmsify  sys$disk:[000000] ^*
 ./$(macro)/    vmsify  [.$(macro)] ^
 ./$(macro)     vmsify  []$(macro) ^
@@ -160,7 +160,7 @@ __path_.notdir pathify __path__notdir/ __path_.notdir/
 __down_:[__the_.__garden_]__path_.dir;1        unixpath        
/__down_/__the_/__garden_/__path_/ ^
 /__down_/__the_/__garden_/__path_      vmspath 
__down_:[__the_.__garden_.__path_] ^
 __down_:[__the_.__garden_.__path_]     unixpath        
/__down_/__the_/__garden_/__path_/ ^
-__down_:[__the_.__garden_.__path_...]  unixpath        
/__down_/__the_/__garden_/__path_/.../ # Not translatable
+__down_:[__the_.__garden_.__path_...]  unixpath        
/__down_/__the_/__garden_/__path_/.../ ^
 /__down_/__the_/__garden_/__path_.dir  vmspath 
__down_:[__the_.__garden_.__path_] ^
 [.__down_.__the_.__garden_]__path_.dir unixpath        
__down_/__the_/__garden_/__path_/ ^
 __down_/__the_/__garden_/__path_       vmspath 
[.__down_.__the_.__garden_.__path_] ^
diff --git a/vms/vms.c b/vms/vms.c
index 95b69a9..4f69ec5 100644
--- a/vms/vms.c
+++ b/vms/vms.c
@@ -8467,17 +8467,6 @@ static char *int_tovmsspec
       }
   }
 
-/* If EFS charset mode active, handle the conversion */
-#if __CRTL_VER >= 80200000 && !defined(__VAX)
-  if (decc_efs_charset) {
-    posix_to_vmsspec_hardway(rslt, rslt_len, path, dir_flag, utf8_flag);
-    if (vms_debug_fileify) {
-        fprintf(stderr, "int_tovmsspec: rslt = %s\n", rslt);
-    }
-    return rslt;
-  }
-#endif
-
   if (*(dirend+1) == '.') {  /* do we have trailing "/." or "/.." or "/..."? */
     if (!*(dirend+2)) dirend +=2;
     if (*(dirend+2) == '.' && !*(dirend+3)) dirend += 3;

--
Perl5 Master Repository

Reply via email to