From: Steve Hay Date: Wed, 28 Sep 2005 08:23:01 +0000 (+0000) Subject: Improve File::Spec::Win32->path() and fix MM_Win32.t X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=092026cff08d8963457599a8f6395bd1f642aed4;p=p5sagit%2Fp5-mst-13.2.git Improve File::Spec::Win32->path() and fix MM_Win32.t Subject: Improved File::Spec::Win32->path [PATCH] From: Gisle Aas Date: 17 Sep 2005 00:13:41 -0700 Message-ID: Subject: Re: Improved File::Spec::Win32->path [PATCH] From: Michael G Schwern Date: Tue, 27 Sep 2005 13:05:54 -0700 Message-ID: <20050927200554.GC20908@windhund.schwern.org> p4raw-id: //depot/perl@25627 --- diff --git a/lib/ExtUtils/t/MM_Win32.t b/lib/ExtUtils/t/MM_Win32.t index ca870d5..7acde33 100644 --- a/lib/ExtUtils/t/MM_Win32.t +++ b/lib/ExtUtils/t/MM_Win32.t @@ -163,15 +163,10 @@ delete $ENV{PATHEXT} unless $had_pathext; } # path() -my $had_path = exists $ENV{PATH}; { - my @path_eg = ( qw( . .. ), 'C:\\Program Files' ); - local $ENV{PATH} = join ';', @path_eg; - ok( eq_array( [ $MM->path() ], [ @path_eg ] ), + ok( eq_array( [ $MM->path() ], [ File::Spec->path ] ), 'path() [preset]' ); } -# Bug in Perl. local $ENV{FOO} will not delete key afterwards. -delete $ENV{PATH} unless $had_path; # static_lib() should look into that # dynamic_bs() should look into that diff --git a/lib/File/Spec/Win32.pm b/lib/File/Spec/Win32.pm index 94094f0..2981ff9 100644 --- a/lib/File/Spec/Win32.pm +++ b/lib/File/Spec/Win32.pm @@ -5,7 +5,7 @@ use strict; use vars qw(@ISA $VERSION); require File::Spec::Unix; -$VERSION = '1.5'; +$VERSION = '1.5_01'; @ISA = qw(File::Spec::Unix); @@ -108,9 +108,10 @@ sub catdir { } sub path { - my $path = $ENV{'PATH'} || $ENV{'Path'} || $ENV{'path'}; - my @path = split(';',$path); - foreach (@path) { $_ = '.' if $_ eq '' } + my @path = split(';', $ENV{PATH}); + s/"//g for @path; + @path = grep length, @path; + unshift(@path, "."); return @path; }