Change 31431 by [EMAIL PROTECTED] on 2007/06/21 03:15:59
Make File::Spec::VMS->splitdir stop returning an empty first directory
when passed a relative path. Also, don't split on escaped directory
delimiters.
Affected files ...
... //depot/perl/lib/File/Spec/VMS.pm#47 edit
... //depot/perl/lib/File/Spec/t/Spec.t#24 edit
Differences ...
==== //depot/perl/lib/File/Spec/VMS.pm#47 (text) ====
Index: perl/lib/File/Spec/VMS.pm
--- perl/lib/File/Spec/VMS.pm#46~28001~ 2006-04-28 06:34:39.000000000 -0700
+++ perl/lib/File/Spec/VMS.pm 2007-06-20 20:15:59.000000000 -0700
@@ -4,7 +4,7 @@
use vars qw(@ISA $VERSION);
require File::Spec::Unix;
-$VERSION = '1.4';
+$VERSION = '1.4_01';
@ISA = qw(File::Spec::Unix);
@@ -274,7 +274,8 @@
# .--] ==> .-.-]
# [--] ==> [-.-]
$dirspec = "[$dirspec]" unless $dirspec =~ /[\[<]/; # make legal
- my(@dirs) = split('\.', vmspath($dirspec));
+ $dirspec =~ s/^(\[|<)\./$1/;
+ my(@dirs) = split /(?<!\^)\./, vmspath($dirspec);
$dirs[0] =~ s/^[\[<]//s; $dirs[-1] =~ s/[\]>]\Z(?!\n)//s;
@dirs;
}
==== //depot/perl/lib/File/Spec/t/Spec.t#24 (text) ====
Index: perl/lib/File/Spec/t/Spec.t
--- perl/lib/File/Spec/t/Spec.t#23~29004~ 2006-10-12 08:07:17.000000000
-0700
+++ perl/lib/File/Spec/t/Spec.t 2007-06-20 20:15:59.000000000 -0700
@@ -358,16 +358,17 @@
[ "VMS->splitdir('[]')", '' ],
[ "VMS->splitdir('d1.d2.d3')", 'd1,d2,d3' ],
[ "VMS->splitdir('[d1.d2.d3]')", 'd1,d2,d3' ],
-[ "VMS->splitdir('.d1.d2.d3')", ',d1,d2,d3' ],
-[ "VMS->splitdir('[.d1.d2.d3]')", ',d1,d2,d3' ],
-[ "VMS->splitdir('.-.d2.d3')", ',-,d2,d3' ],
-[ "VMS->splitdir('[.-.d2.d3]')", ',-,d2,d3' ],
+[ "VMS->splitdir('.d1.d2.d3')", 'd1,d2,d3' ],
+[ "VMS->splitdir('[.d1.d2.d3]')", 'd1,d2,d3' ],
+[ "VMS->splitdir('.-.d2.d3')", '-,d2,d3' ],
+[ "VMS->splitdir('[.-.d2.d3]')", '-,d2,d3' ],
[ "VMS->splitdir('[d1.d2]')", 'd1,d2' ],
[ "VMS->splitdir('[d1-.--d2]')", 'd1-,--d2' ],
[ "VMS->splitdir('[d1---.-.d2]')", 'd1---,-,d2' ],
[ "VMS->splitdir('[d1.---.d2]')", 'd1,-,-,-,d2' ],
[ "VMS->splitdir('[d1---d2]')", 'd1---d2' ],
[ "VMS->splitdir('[d1.][000000.d2]')", 'd1,d2' ],
+[ "VMS->splitdir('[.d1.d2^.d3]')", 'd1,d2^.d3' ],
[ "VMS->catdir('')", ''
],
[ "VMS->catdir('d1','d2','d3')",
'[.d1.d2.d3]' ],
End of Patch.