X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2Flocal%2Flib.pm;h=3b8869a7f0a1c99ba79a9700dcec1b029bbc7589;hb=c8d004f4107a818b322ea74e2d5c288cc713f73d;hp=f951e0ab56955b8a7d6a3c2f509acdb51aed95b4;hpb=b0b2a40fce34e33582bb1c18e54615525493d5b7;p=p5sagit%2Flocal-lib.git diff --git a/lib/local/lib.pm b/lib/local/lib.pm index f951e0a..3b8869a 100644 --- a/lib/local/lib.pm +++ b/lib/local/lib.pm @@ -8,7 +8,7 @@ use 5.006; use File::Spec (); use Config; -our $VERSION = '2.000_000'; # 2.0.0 +our $VERSION = '2.000004'; # 2.0.4 $VERSION = eval $VERSION; sub import { @@ -380,7 +380,7 @@ sub build_bourne_env_declaration { $value =~ s/(^|\G|$_path_sep)\$$name$_path_sep/$1\$$name\${$name+$_path_sep}/g; $value =~ s/$_path_sep\$$name$/\${$name+$_path_sep}\$$name/; - qq{export ${name}="$value";\n} + qq{${name}="$value";\nexport ${name};\n} } sub build_csh_env_declaration { @@ -426,7 +426,7 @@ sub build_powershell_env_declaration { my $value = $class->_interpolate($args, '$env:%s', '"', '`%s'); if (!$value) { - return qq{Remove-Item Env:\\$name;\n}; + return qq{Remove-Item -ErrorAction 0 Env:\\$name;\n}; } my $maybe_path_sep = qq{\$(if("\$env:$name"-eq""){""}else{"$_path_sep"})}; @@ -475,20 +475,6 @@ sub pipeline { } } -=begin testing - -#:: test pipeline - -package local::lib; - -{ package Foo; sub foo { -$_[1] } sub bar { $_[1]+2 } sub baz { $_[1]+3 } } -my $foo = bless({}, 'Foo'); -Test::More::ok($foo->${pipeline qw(foo bar baz)}(10) == -15); - -=end testing - -=cut - sub resolve_path { my ($class, $path) = @_; @@ -510,25 +496,6 @@ sub resolve_empty_path { } } -=begin testing - -#:: test classmethod setup - -my $c = 'local::lib'; - -=end testing - -=begin testing - -#:: test classmethod - -is($c->resolve_empty_path, '~/perl5'); -is($c->resolve_empty_path('foo'), 'foo'); - -=end testing - -=cut - sub resolve_home_path { my ($class, $path) = @_; return $path unless ($path =~ /^~/); @@ -558,17 +525,6 @@ sub resolve_relative_path { $path = File::Spec->rel2abs($path); } -=begin testing - -#:: test classmethod - -local *File::Spec::rel2abs = sub { shift; 'FOO'.shift; }; -is($c->resolve_relative_path('bar'),'FOObar'); - -=end testing - -=cut - sub ensure_dir_structure_for { my ($class, $path) = @_; unless (-d $path) { @@ -584,20 +540,6 @@ sub ensure_dir_structure_for { return; } -=begin testing - -#:: test classmethod - -File::Path::rmtree('t/var/splat'); - -$c->ensure_dir_structure_for('t/var/splat'); - -ok(-d 't/var/splat'); - -=end testing - -=cut - sub guess_shelltype { my $shellbin = defined $ENV{SHELL} @@ -612,12 +554,12 @@ sub guess_shelltype { for ($shellbin) { return - /csh/ ? 'csh' - : /command\.com/i ? 'cmd' - : /cmd\.exe/i ? 'cmd' - : /4nt\.exe/i ? 'cmd' - : /powershell\.exe/i ? 'powershell' - : 'bourne'; + /csh$/ ? 'csh' + : /command(?:\.com)?$/i ? 'cmd' + : /cmd(?:\.exe)?$/i ? 'cmd' + : /4nt(?:\.exe)?$/i ? 'cmd' + : /powershell(?:\.exe)?$/i ? 'powershell' + : 'bourne'; } }