In perl.git, the branch blead has been updated

<http://perl5.git.perl.org/perl.git/commitdiff/494e8c4c5adaa727ffac6b9649bf8b70f2620e94?hp=afabe0e85c5f27746418b976894e482ba3652ee8>

- Log -----------------------------------------------------------------
commit 494e8c4c5adaa727ffac6b9649bf8b70f2620e94
Author: Chris 'BinGOs' Williams <[email protected]>
Date:   Tue Jul 13 12:08:05 2010 +0100

    Update ExtUtil-ParseXS to CPAN version 2.2206
    
      [DELTA]
    
      2.2206 - Sun Jul  4 15:43:21 EDT 2010
    
      Bug fixes:
    
      - Make xsubpp accept the _ prototype (RT#57157) [Rafael Garcia-Suarez]
    
      - INCLUDE_COMMAND portability fixes for VMS (RT#58181) [Craig Berry]
    
      - INCLUDE_COMMAND fixes to detect non-zero exit codes (RT#52873)
        [Steffen Mueller]
-----------------------------------------------------------------------

Summary of changes:
 Porting/Maintainers.pl                        |    2 +-
 cpan/ExtUtils-ParseXS/Changes                 |   11 +++++++++
 cpan/ExtUtils-ParseXS/lib/ExtUtils/ParseXS.pm |   28 +++++++++++++++++++-----
 3 files changed, 34 insertions(+), 7 deletions(-)
 mode change 100755 => 100644 cpan/ExtUtils-ParseXS/lib/ExtUtils/xsubpp

diff --git a/Porting/Maintainers.pl b/Porting/Maintainers.pl
index a1e4458..224d615 100755
--- a/Porting/Maintainers.pl
+++ b/Porting/Maintainers.pl
@@ -592,7 +592,7 @@ use File::Glob qw(:case);
     'ExtUtils::ParseXS' =>
        {
        'MAINTAINER'    => 'kwilliams',
-    'DISTRIBUTION' => 'DAGOLDEN/ExtUtils-ParseXS-2.2205.tar.gz',
+    'DISTRIBUTION' => 'DAGOLDEN/ExtUtils-ParseXS-2.2206.tar.gz',
     'EXCLUDED'  => [ qw{
                        t/bugs/RT48104.xs
                                    t/bugs/typemap
diff --git a/cpan/ExtUtils-ParseXS/Changes b/cpan/ExtUtils-ParseXS/Changes
index b7e7b0b..45b30a5 100644
--- a/cpan/ExtUtils-ParseXS/Changes
+++ b/cpan/ExtUtils-ParseXS/Changes
@@ -1,5 +1,16 @@
 Revision history for Perl extension ExtUtils::ParseXS.
 
+2.2206 - Sun Jul  4 15:43:21 EDT 2010
+
+ Bug fixes:
+
+ - Make xsubpp accept the _ prototype (RT#57157) [Rafael Garcia-Suarez]
+
+ - INCLUDE_COMMAND portability fixes for VMS (RT#58181) [Craig Berry]
+
+ - INCLUDE_COMMAND fixes to detect non-zero exit codes (RT#52873)
+   [Steffen Mueller]
+
 2.2205 - Wed Mar 10 18:15:36 EST 2010
 
  Other:
diff --git a/cpan/ExtUtils-ParseXS/lib/ExtUtils/ParseXS.pm 
b/cpan/ExtUtils-ParseXS/lib/ExtUtils/ParseXS.pm
index 4f9492a..385e2fb 100644
--- a/cpan/ExtUtils-ParseXS/lib/ExtUtils/ParseXS.pm
+++ b/cpan/ExtUtils-ParseXS/lib/ExtUtils/ParseXS.pm
@@ -18,7 +18,7 @@ my(@XSStack); # Stack of conditionals and INCLUDEs
 my($XSS_work_idx, $cpp_next_tmp);
 
 use vars qw($VERSION);
-$VERSION = '2.2205';
+$VERSION = '2.2206';
 $VERSION = eval $VERSION if $VERSION =~ /_/;
 
 use vars qw(%input_expr %output_expr $ProtoUsed @InitFileCode $FH $proto_re 
$Overload $errors $Fallback
@@ -74,7 +74,7 @@ sub process_file {
   ($XSS_work_idx, $cpp_next_tmp) = (0, "XSubPPtmpAAAA");
   @InitFileCode = ();
   $FH = Symbol::gensym();
-  $proto_re = "[" . quotemeta('\$%&*@;[]') . "]" ;
+  $proto_re = "[" . quotemeta('\$%&*@;[]_') . "]" ;
   $Overload = 0;
   $errors = 0;
   $Fallback = '&PL_sv_undef';
@@ -1488,6 +1488,7 @@ sub PROTOTYPES_handler ()
 
 sub PushXSStack
   {
+    my %args = @_;
     # Save the current file context.
     push(@XSStack, {
                    type            => 'file',
@@ -1498,6 +1499,8 @@ sub PushXSStack
                    Filename        => $filename,
                    Filepathname    => $filepathname,
                    Handle          => $FH,
+                    IsPipe          => scalar($filename =~ /\|\s*$/),
+                    %args,
                   }) ;
 
   }
@@ -1543,7 +1546,7 @@ sub INCLUDE_handler ()
 EOF
 
     $filename = $_ ;
-    $filepathname = "$dir/$filename";
+    $filepathname = File::Spec->catfile($dir, $filename);
 
     # Prime the pump by reading the first
     # non-blank line
@@ -1557,19 +1560,31 @@ EOF
     $lastline_no = $. ;
   }
 
+sub QuoteArgs {
+    my $cmd = shift;
+    my @args = split /\s+/, $cmd;
+    $cmd = shift @args;
+    for (@args) {
+       $_ = q(").$_.q(") if !/^\"/ && length($_) > 0;
+    }
+    return join (' ', ($cmd, @args));
+  }
+
 sub INCLUDE_COMMAND_handler ()
   {
     # the rest of the current line should contain a valid command
 
     TrimWhitespace($_) ;
 
+    $_ = QuoteArgs($_) if $^O eq 'VMS';
+
     death("INCLUDE_COMMAND: command missing")
       unless $_ ;
 
     death("INCLUDE_COMMAND: pipes are illegal")
       if /^\s*\|/ or /\|\s*$/ ;
 
-    PushXSStack();
+    PushXSStack( IsPipe => 1 );
 
     $FH = Symbol::gensym();
 
@@ -1588,7 +1603,8 @@ sub INCLUDE_COMMAND_handler ()
 EOF
 
     $filename = $_ ;
-    $filepathname = "$dir/$filename";
+    $filepathname = $filename;
+    $filepathname =~ s/\"/\\"/g;
 
     # Prime the pump by reading the first
     # non-blank line
@@ -1608,7 +1624,7 @@ sub PopFile()
 
     my $data     = pop @XSStack ;
     my $ThisFile = $filename ;
-    my $isPipe   = ($filename =~ /\|\s*$/) ;
+    my $isPipe   = $data->{IsPipe};
 
     -- $IncludedFiles{$filename}
       unless $isPipe ;
diff --git a/cpan/ExtUtils-ParseXS/lib/ExtUtils/xsubpp 
b/cpan/ExtUtils-ParseXS/lib/ExtUtils/xsubpp
old mode 100755
new mode 100644

--
Perl5 Master Repository

Reply via email to