In perl.git, the branch blead has been updated <http://perl5.git.perl.org/perl.git/commitdiff/7b8e5ef0662e52d98602ab69b7b9af6778e78e42?hp=450a7a1bbac26c29f4d17e66c5c3387e73388838>
- Log ----------------------------------------------------------------- commit 7b8e5ef0662e52d98602ab69b7b9af6778e78e42 Author: George Greer <[email protected]> Date: Wed Sep 28 18:34:59 2011 -0400 perldelta for ExtUtils::MakeMaker version 6.61_01. M pod/perldelta.pod commit 33cc85ac950468181dff9f2be5ebf4e0e2a69d55 Author: George Greer <[email protected]> Date: Tue Sep 27 23:16:09 2011 -0400 Update ExtUtils::MakeMaker to CPAN version 6.61_01 [DELTA] 6.61_01 Sat Sep 24 22:16:13 PDT 2011 Win32 * Liblist::Kid now checks the ActiveState MinGW library path environment variable [MITHALDU] * Further fixes to the Win32 quoting rules. Fixes failures on VC8+. [rt.cpan.org #69528] [SHAY] M Porting/Maintainers.pl M cpan/ExtUtils-MakeMaker/Changes M cpan/ExtUtils-MakeMaker/MANIFEST M cpan/ExtUtils-MakeMaker/lib/ExtUtils/Command/MM.pm M cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist.pm M cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm M cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM.pm M cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_AIX.pm M cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm M cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_BeOS.pm M cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Cygwin.pm M cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_DOS.pm M cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Darwin.pm M cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_MacOS.pm M cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_NW5.pm M cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_OS2.pm M cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_QNX.pm M cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_UWIN.pm M cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm M cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_VMS.pm M cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_VOS.pm M cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Win32.pm M cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Win95.pm M cpan/ExtUtils-MakeMaker/lib/ExtUtils/MY.pm M cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm M cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/Config.pm M cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/FAQ.pod M cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/Tutorial.pod M cpan/ExtUtils-MakeMaker/lib/ExtUtils/Mkbootstrap.pm M cpan/ExtUtils-MakeMaker/lib/ExtUtils/Mksymlists.pm M cpan/ExtUtils-MakeMaker/lib/ExtUtils/testlib.pm M cpan/ExtUtils-MakeMaker/t/MM_Win32.t M cpan/ExtUtils-MakeMaker/t/oneliner.t M cpan/ExtUtils-MakeMaker/t/split_command.t ----------------------------------------------------------------------- Summary of changes: Porting/Maintainers.pl | 2 +- cpan/ExtUtils-MakeMaker/Changes | 10 ++++ cpan/ExtUtils-MakeMaker/MANIFEST | 1 + cpan/ExtUtils-MakeMaker/lib/ExtUtils/Command/MM.pm | 2 +- cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist.pm | 2 +- .../ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm | 22 ++++---- cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM.pm | 2 +- cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_AIX.pm | 2 +- cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm | 2 +- cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_BeOS.pm | 2 +- cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Cygwin.pm | 2 +- cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_DOS.pm | 2 +- cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Darwin.pm | 2 +- cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_MacOS.pm | 2 +- cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_NW5.pm | 2 +- cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_OS2.pm | 2 +- cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_QNX.pm | 2 +- cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_UWIN.pm | 2 +- cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm | 2 +- cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_VMS.pm | 2 +- cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_VOS.pm | 2 +- cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Win32.pm | 50 +++++++------------- cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Win95.pm | 2 +- cpan/ExtUtils-MakeMaker/lib/ExtUtils/MY.pm | 2 +- cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm | 2 +- .../lib/ExtUtils/MakeMaker/Config.pm | 2 +- .../lib/ExtUtils/MakeMaker/FAQ.pod | 2 +- .../lib/ExtUtils/MakeMaker/Tutorial.pod | 2 +- .../ExtUtils-MakeMaker/lib/ExtUtils/Mkbootstrap.pm | 2 +- cpan/ExtUtils-MakeMaker/lib/ExtUtils/Mksymlists.pm | 2 +- cpan/ExtUtils-MakeMaker/lib/ExtUtils/testlib.pm | 2 +- cpan/ExtUtils-MakeMaker/t/MM_Win32.t | 3 +- cpan/ExtUtils-MakeMaker/t/oneliner.t | 12 ++++- cpan/ExtUtils-MakeMaker/t/split_command.t | 3 +- pod/perldelta.pod | 4 ++ 35 files changed, 85 insertions(+), 74 deletions(-) diff --git a/Porting/Maintainers.pl b/Porting/Maintainers.pl index 997d97b..9e76e03 100755 --- a/Porting/Maintainers.pl +++ b/Porting/Maintainers.pl @@ -734,7 +734,7 @@ use File::Glob qw(:case); 'ExtUtils::MakeMaker' => { 'MAINTAINER' => 'mschwern', - 'DISTRIBUTION' => 'MSTROUT/ExtUtils-MakeMaker-6.59.tar.gz', + 'DISTRIBUTION' => 'MSCHWERN/ExtUtils-MakeMaker-6.61_01.tar.gz', 'FILES' => q[cpan/ExtUtils-MakeMaker], 'EXCLUDED' => [ qr{^t/lib/Test/}, qr{^(bundled|my)/}, diff --git a/cpan/ExtUtils-MakeMaker/Changes b/cpan/ExtUtils-MakeMaker/Changes index 3938910..7b69e5c 100644 --- a/cpan/ExtUtils-MakeMaker/Changes +++ b/cpan/ExtUtils-MakeMaker/Changes @@ -1,6 +1,15 @@ +6.61_01 Sat Sep 24 22:16:13 PDT 2011 + Win32 + * Liblist::Kid now checks the ActiveState MinGW library path environment + variable [MITHALDU] + * Further fixes to the Win32 quoting rules. Fixes failures on VC8+. + [rt.cpan.org #69528] [SHAY] + + 6.59 Fri Aug 5 12:09:00 BST No changes since 6.58_01 + 6.58_01 Wed Aug 3 21:12:00 BST Doc Fixes * Corrected the repository location [chorny] @@ -13,6 +22,7 @@ in site_perl shadowing our installation of other bundled modules. [rt.cpan.org 69465] [rt.cpan.org 69900] [MSTROUT] + 6.58 Wed Jul 6 14:17:06 PDT 2011 No changes since 6.57_11 diff --git a/cpan/ExtUtils-MakeMaker/MANIFEST b/cpan/ExtUtils-MakeMaker/MANIFEST index ef9ec12..0f31fec 100644 --- a/cpan/ExtUtils-MakeMaker/MANIFEST +++ b/cpan/ExtUtils-MakeMaker/MANIFEST @@ -164,3 +164,4 @@ t/xs.t TODO META.yml Module YAML meta-data (added by MakeMaker) META.json Module JSON meta-data (added by MakeMaker) +SIGNATURE Public-key signature (added by MakeMaker) diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Command/MM.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Command/MM.pm index 269514f..dde078b 100644 --- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Command/MM.pm +++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Command/MM.pm @@ -10,7 +10,7 @@ our @ISA = qw(Exporter); our @EXPORT = qw(test_harness pod2man perllocal_install uninstall warn_if_old_packlist); -our $VERSION = '6.59'; +our $VERSION = '6.61_01'; my $Is_VMS = $^O eq 'VMS'; diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist.pm index 23b199a..53ddbb0 100644 --- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist.pm +++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist.pm @@ -2,7 +2,7 @@ package ExtUtils::Liblist; use strict; -our $VERSION = '6.59'; +our $VERSION = '6.61_01'; use File::Spec; require ExtUtils::Liblist::Kid; diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm index 125d2be..55c17fa 100644 --- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm +++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm @@ -11,7 +11,7 @@ use 5.006; use strict; use warnings; -our $VERSION = '6.59'; +our $VERSION = '6.61_01'; use ExtUtils::MakeMaker::Config; use Cwd 'cwd'; @@ -258,13 +258,14 @@ sub _win32_ext { # TODO: make this use MM_Win32.pm's compiler detection my %libs_seen; my @extralibs; - my $cc = $Config{cc} || ''; - my $VC = $cc =~ /\bcl\b/i; - my $GC = $cc =~ /\bgcc\b/i; + my $cc = $Config{cc} || ''; + my $VC = $cc =~ /\bcl\b/i; + my $GC = $cc =~ /\bgcc\b/i; + my $libext = _win32_lib_extensions(); - my @searchpath = ( '' ); # from "-L/path" entries in $potential_libs - my @libpath = _win32_default_search_paths( $VC ); - my $pwd = cwd(); # from Cwd.pm + my @searchpath = ( '' ); # from "-L/path" entries in $potential_libs + my @libpath = _win32_default_search_paths( $VC, $GC ); + my $pwd = cwd(); # from Cwd.pm my $search = 1; # compute @extralibs from $potential_libs @@ -353,7 +354,7 @@ sub _win32_make_lib_search_list { } sub _win32_default_search_paths { - my ( $VC ) = @_; + my ( $VC, $GC ) = @_; my $libpth = $Config{'libpth'} || ''; $libpth =~ s,\\,/,g; # normalize to forward slashes @@ -361,9 +362,8 @@ sub _win32_default_search_paths { my @libpath = Text::ParseWords::quotewords( '\s+', 0, $libpth ); push @libpath, "$Config{installarchlib}/CORE"; # add "$Config{installarchlib}/CORE" to default search path - if ( $VC and exists $ENV{LIB} and $ENV{LIB} ) { - push @libpath, split /;/, $ENV{LIB}; - } + push @libpath, split /;/, $ENV{LIB} if $VC and $ENV{LIB}; + push @libpath, split /;/, $ENV{LIBRARY_PATH} if $GC and $ENV{LIBRARY_PATH}; return @libpath; } diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM.pm index dd43cc7..6911be0 100644 --- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM.pm +++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM.pm @@ -3,7 +3,7 @@ package ExtUtils::MM; use strict; use ExtUtils::MakeMaker::Config; -our $VERSION = '6.59'; +our $VERSION = '6.61_01'; require ExtUtils::Liblist; require ExtUtils::MakeMaker; diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_AIX.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_AIX.pm index 0d356e3..b841d5f 100644 --- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_AIX.pm +++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_AIX.pm @@ -1,7 +1,7 @@ package ExtUtils::MM_AIX; use strict; -our $VERSION = '6.59'; +our $VERSION = '6.61_01'; require ExtUtils::MM_Unix; our @ISA = qw(ExtUtils::MM_Unix); diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm index ee3e6bf..1744f0d 100644 --- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm +++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm @@ -1,7 +1,7 @@ package ExtUtils::MM_Any; use strict; -our $VERSION = '6.59'; +our $VERSION = '6.61_01'; use Carp; use File::Spec; diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_BeOS.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_BeOS.pm index 368d370..2a6bbca 100644 --- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_BeOS.pm +++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_BeOS.pm @@ -26,7 +26,7 @@ require ExtUtils::MM_Any; require ExtUtils::MM_Unix; our @ISA = qw( ExtUtils::MM_Any ExtUtils::MM_Unix ); -our $VERSION = '6.59'; +our $VERSION = '6.61_01'; =item os_flavor diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Cygwin.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Cygwin.pm index 5f10d1e..8f327cf 100644 --- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Cygwin.pm +++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Cygwin.pm @@ -9,7 +9,7 @@ require ExtUtils::MM_Unix; require ExtUtils::MM_Win32; our @ISA = qw( ExtUtils::MM_Unix ); -our $VERSION = '6.59'; +our $VERSION = '6.61_01'; =head1 NAME diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_DOS.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_DOS.pm index a8643c6..48a9f62 100644 --- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_DOS.pm +++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_DOS.pm @@ -2,7 +2,7 @@ package ExtUtils::MM_DOS; use strict; -our $VERSION = '6.59'; +our $VERSION = '6.61_01'; require ExtUtils::MM_Any; require ExtUtils::MM_Unix; diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Darwin.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Darwin.pm index 05cbd92..748e26e 100644 --- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Darwin.pm +++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Darwin.pm @@ -7,7 +7,7 @@ BEGIN { our @ISA = qw( ExtUtils::MM_Unix ); } -our $VERSION = '6.59'; +our $VERSION = '6.61_01'; =head1 NAME diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_MacOS.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_MacOS.pm index 4582a6d2..39100f6 100644 --- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_MacOS.pm +++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_MacOS.pm @@ -2,7 +2,7 @@ package ExtUtils::MM_MacOS; use strict; -our $VERSION = '6.59'; +our $VERSION = '6.61_01'; sub new { die <<'UNSUPPORTED'; diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_NW5.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_NW5.pm index a1ef531..43d9cf7 100644 --- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_NW5.pm +++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_NW5.pm @@ -22,7 +22,7 @@ use strict; use ExtUtils::MakeMaker::Config; use File::Basename; -our $VERSION = '6.59'; +our $VERSION = '6.61_01'; require ExtUtils::MM_Win32; our @ISA = qw(ExtUtils::MM_Win32); diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_OS2.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_OS2.pm index 9af648c..c84ab5e 100644 --- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_OS2.pm +++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_OS2.pm @@ -5,7 +5,7 @@ use strict; use ExtUtils::MakeMaker qw(neatvalue); use File::Spec; -our $VERSION = '6.59'; +our $VERSION = '6.61_01'; require ExtUtils::MM_Any; require ExtUtils::MM_Unix; diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_QNX.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_QNX.pm index 402e72c..9f3d87e 100644 --- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_QNX.pm +++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_QNX.pm @@ -1,7 +1,7 @@ package ExtUtils::MM_QNX; use strict; -our $VERSION = '6.59'; +our $VERSION = '6.61_01'; require ExtUtils::MM_Unix; our @ISA = qw(ExtUtils::MM_Unix); diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_UWIN.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_UWIN.pm index 17afb3b..a2b6cae 100644 --- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_UWIN.pm +++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_UWIN.pm @@ -1,7 +1,7 @@ package ExtUtils::MM_UWIN; use strict; -our $VERSION = '6.59'; +our $VERSION = '6.61_01'; require ExtUtils::MM_Unix; our @ISA = qw(ExtUtils::MM_Unix); diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm index 324885e..37f523d 100644 --- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm +++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm @@ -15,7 +15,7 @@ use ExtUtils::MakeMaker qw($Verbose neatvalue); # If we make $VERSION an our variable parse_version() breaks use vars qw($VERSION); -$VERSION = '6.59'; +$VERSION = '6.61_01'; $VERSION = eval $VERSION; require ExtUtils::MM_Any; diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_VMS.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_VMS.pm index 9e640f3..73c96c3 100644 --- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_VMS.pm +++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_VMS.pm @@ -15,7 +15,7 @@ BEGIN { use File::Basename; -our $VERSION = '6.59'; +our $VERSION = '6.61_01'; require ExtUtils::MM_Any; require ExtUtils::MM_Unix; diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_VOS.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_VOS.pm index b0fd476..7e4e22d 100644 --- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_VOS.pm +++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_VOS.pm @@ -1,7 +1,7 @@ package ExtUtils::MM_VOS; use strict; -our $VERSION = '6.59'; +our $VERSION = '6.61_01'; require ExtUtils::MM_Unix; our @ISA = qw(ExtUtils::MM_Unix); diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Win32.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Win32.pm index 05a1976..46af63c 100644 --- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Win32.pm +++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Win32.pm @@ -27,7 +27,7 @@ use ExtUtils::MakeMaker qw( neatvalue ); require ExtUtils::MM_Any; require ExtUtils::MM_Unix; our @ISA = qw( ExtUtils::MM_Any ExtUtils::MM_Unix ); -our $VERSION = '6.59'; +our $VERSION = '6.61_01'; $ENV{EMXSHELL} = 'sh'; # to run `commands` @@ -487,42 +487,28 @@ sub oneliner { sub quote_literal { my($self, $text) = @_; - # DOS batch processing is hilarious: - # Quotes need to be converted into triple quotes. - # Certain special characters need to be escaped with a caret if an odd - # number of quotes came before them. - my @text = split '', $text; - my $quote_count = 0; - my %caret_chars = map { $_ => 1 } qw( < > | ); - for my $char ( @text ) { - if ( $char eq '"' ) { - $quote_count++; - $char = '"""'; - } - elsif ( $caret_chars{$char} and $quote_count % 2 ) { - $char = "^$char"; - } - elsif ( $char eq "\\" ) { - $char = "\\\\"; - } - } - $text = join '', @text; + # See: http://www.autohotkey.net/~deleyd/parameters/parameters.htm#CPP + + # Apply the Microsoft C/C++ parsing rules + $text =~ s{\\\\"}{\\\\\\\\\\"}g; # \\" -> \\\\\" + $text =~ s{(?<!\\)\\"}{\\\\\\"}g; # \" -> \\\" + $text =~ s{(?<!\\)"}{\\"}g; # " -> \" + $text = qq{"$text"} if $text =~ /[ \t]/; + + # Apply the Command Prompt parsing rules (cmd.exe) + my @text = split /("[^"]*")/, $text; + # We should also escape parentheses, but it breaks one-liners containing + # $(MACRO)s in makefiles. + s{([<>|&^@!])}{^$1}g foreach grep { !/^"[^"]*"$/ } @text; + $text = join('', @text); - # There is a terribly confusing edge case here, where this will do entirely the wrong thing: - # perl -e "use Data::Dumper; @ARGV = '%PATH%'; print Dumper( \@ARGV );print qq{@ARGV};" -- - # I have no idea how to fix this manually, much less programmatically. - # However as it is such a rare edge case i'll just leave this documentation here and hope it never happens. - - # dmake eats '{' inside double quotes and leaves alone { outside double - # quotes; however it transforms {{ into { either inside and outside double - # quotes. It also translates }} into }. The escaping below is not - # 100% correct. + # dmake expands {{ to { and }} to }. if( $self->is_make_type('dmake') ) { $text =~ s/{/{{/g; - $text =~ s/}}/}}}/g; + $text =~ s/}/}}/g; } - return qq{"$text"}; + return $text; } diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Win95.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Win95.pm index b015828..2da186e 100644 --- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Win95.pm +++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Win95.pm @@ -2,7 +2,7 @@ package ExtUtils::MM_Win95; use strict; -our $VERSION = '6.59'; +our $VERSION = '6.61_01'; require ExtUtils::MM_Win32; our @ISA = qw(ExtUtils::MM_Win32); diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MY.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MY.pm index 1e8eb4d..01dda8d 100644 --- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MY.pm +++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MY.pm @@ -3,7 +3,7 @@ package ExtUtils::MY; use strict; require ExtUtils::MM; -our $VERSION = '6.59'; +our $VERSION = '6.61_01'; our @ISA = qw(ExtUtils::MM); { diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm index c8c3c23..8d5fd26 100644 --- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm +++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm @@ -18,7 +18,7 @@ our @Overridable; my @Prepend_parent; my %Recognized_Att_Keys; -our $VERSION = '6.59'; +our $VERSION = '6.61_01'; $VERSION = eval $VERSION; # Emulate something resembling CVS $Revision$ diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/Config.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/Config.pm index 58bbdd6..0cb12de 100644 --- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/Config.pm +++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/Config.pm @@ -2,7 +2,7 @@ package ExtUtils::MakeMaker::Config; use strict; -our $VERSION = '6.59'; +our $VERSION = '6.61_01'; use Config (); diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/FAQ.pod b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/FAQ.pod index ae9cf1a..e94d4f0 100644 --- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/FAQ.pod +++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/FAQ.pod @@ -1,6 +1,6 @@ package ExtUtils::MakeMaker::FAQ; -our $VERSION = '6.58'; +our $VERSION = '6.61_01'; 1; __END__ diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/Tutorial.pod b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/Tutorial.pod index dee1b10..8db5fdb 100644 --- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/Tutorial.pod +++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/Tutorial.pod @@ -1,6 +1,6 @@ package ExtUtils::MakeMaker::Tutorial; -our $VERSION = 6.58; +our $VERSION = 6.61_01; =head1 NAME diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Mkbootstrap.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Mkbootstrap.pm index bf855b9..b5c8ef5 100644 --- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Mkbootstrap.pm +++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Mkbootstrap.pm @@ -3,7 +3,7 @@ package ExtUtils::Mkbootstrap; # There's just too much Dynaloader incest here to turn on strict vars. use strict 'refs'; -our $VERSION = '6.59'; +our $VERSION = '6.61_01'; require Exporter; our @ISA = ('Exporter'); diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Mksymlists.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Mksymlists.pm index 9609f64..ce1247c 100644 --- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Mksymlists.pm +++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Mksymlists.pm @@ -10,7 +10,7 @@ use Config; our @ISA = qw(Exporter); our @EXPORT = qw(&Mksymlists); -our $VERSION = '6.59'; +our $VERSION = '6.61_01'; sub Mksymlists { my(%spec) = @_; diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/testlib.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/testlib.pm index 2d235ac..007cf0d 100644 --- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/testlib.pm +++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/testlib.pm @@ -3,7 +3,7 @@ package ExtUtils::testlib; use strict; use warnings; -our $VERSION = '6.59'; +our $VERSION = '6.61_01'; use Cwd; use File::Spec; diff --git a/cpan/ExtUtils-MakeMaker/t/MM_Win32.t b/cpan/ExtUtils-MakeMaker/t/MM_Win32.t index 98601d6..44a01e3 100644 --- a/cpan/ExtUtils-MakeMaker/t/MM_Win32.t +++ b/cpan/ExtUtils-MakeMaker/t/MM_Win32.t @@ -107,7 +107,7 @@ delete $ENV{PATHEXT} unless $had_pathext; # init_others(): check if all keys are created and set? # qw( TOUCH CHMOD CP RM_F RM_RF MV NOOP TEST_F LD AR LDLOADLIBS DEV_NUL ) { - my $mm_w32 = bless( { BASEEXT => 'Foo' }, 'MM' ); + my $mm_w32 = bless( { BASEEXT => 'Foo', MAKE => $Config{make} }, 'MM' ); $mm_w32->init_others(); my @keys = qw( TOUCH CHMOD CP RM_F RM_RF MV NOOP TEST_F LD AR LDLOADLIBS DEV_NULL ); @@ -124,6 +124,7 @@ delete $ENV{PATHEXT} unless $had_pathext; NAME => 'TestMM_Win32', VERSION => '1.00', PM => { 'MM_Win32.pm' => 1 }, + MAKE => $Config{make}, }, 'MM'; # XXX Hack until we have a proper init method. diff --git a/cpan/ExtUtils-MakeMaker/t/oneliner.t b/cpan/ExtUtils-MakeMaker/t/oneliner.t index 4523441..5e89295 100644 --- a/cpan/ExtUtils-MakeMaker/t/oneliner.t +++ b/cpan/ExtUtils-MakeMaker/t/oneliner.t @@ -6,15 +6,16 @@ BEGIN { chdir 't'; +use Config; use MakeMaker::Test::Utils; -use Test::More tests => 11; +use Test::More tests => 16; use File::Spec; my $TB = Test::More->builder; BEGIN { use_ok('ExtUtils::MM') } -my $mm = bless { NAME => "Foo" }, 'MM'; +my $mm = bless { NAME => "Foo", MAKE => $Config{make} }, 'MM'; isa_ok($mm, 'ExtUtils::MakeMaker'); isa_ok($mm, 'ExtUtils::MM_Any'); @@ -47,6 +48,13 @@ try_oneliner(q{print " \" < "}, [], q{ " < }, 'quote, then bracket' ); try_oneliner(q{print " < \"\" < \" < \" < "}, [], q{ < "" < " < " < }, 'quotes and brackets mixed' ); try_oneliner(q{print " < \" | \" < | \" < \" < "}, [], q{ < " | " < | " < " < }, 'brackets, pipes and quotes' ); +# some examples from http://www.autohotkey.net/~deleyd/parameters/parameters.htm#CPP +try_oneliner(q{print q[ &<>^|()@ ! ]}, [], q{ &<>^|()@ ! }, 'example 8.1' ); +try_oneliner(q{print q[ &<>^|@()!"&<>^|@()! ]}, [], q{ &<>^|@()!"&<>^|@()! }, 'example 8.2' ); +try_oneliner(q{print q[ "&<>^|@() !"&<>^|@() !" ]}, [], q{ "&<>^|@() !"&<>^|@() !" }, 'example 8.3' ); +try_oneliner(q{print q[ "C:\TEST A\" ]}, [], q{ "C:\TEST A\" }, 'example 8.4' ); +try_oneliner(q{print q[ "C:\TEST %&^ A\" ]}, [], q{ "C:\TEST %&^ A\" }, 'example 8.5' ); + # XXX gotta rethink the newline test. The Makefile does newline # escaping, then the shell. diff --git a/cpan/ExtUtils-MakeMaker/t/split_command.t b/cpan/ExtUtils-MakeMaker/t/split_command.t index e57a542..6e6bab3 100644 --- a/cpan/ExtUtils-MakeMaker/t/split_command.t +++ b/cpan/ExtUtils-MakeMaker/t/split_command.t @@ -6,6 +6,7 @@ BEGIN { chdir 't'; +use Config; use ExtUtils::MM; use MakeMaker::Test::Utils; @@ -15,7 +16,7 @@ my $Is_Win32 = $^O eq 'MSWin32'; use Test::More tests => 7; my $perl = which_perl; -my $mm = bless { NAME => "Foo" }, "MM"; +my $mm = bless { NAME => "Foo", MAKE => $Config{make} }, "MM"; # I don't expect anything to have a length shorter than 256 chars. cmp_ok( $mm->max_exec_len, '>=', 256, 'max_exec_len' ); diff --git a/pod/perldelta.pod b/pod/perldelta.pod index 825288e..a9ae7ee 100644 --- a/pod/perldelta.pod +++ b/pod/perldelta.pod @@ -102,6 +102,10 @@ XXX L<perlfaq> has been upgraded from version 5.0150034 to version 5.0150035. +=item * + +L<ExtUtils::MakeMaker> has been upgraded from version 6.59 to version 6.61_01. + =back =head2 Removed Modules and Pragmata -- Perl5 Master Repository
