]> git.pld-linux.org Git - packages/perl.git/commitdiff
- NEW, from http://perl5.git.perl.org/perl.git/patch/8d66b3f930dc6d88b524d103e304308a...
authorsparky <sparky@pld-linux.org>
Tue, 4 Jan 2011 21:22:53 +0000 (21:22 +0000)
committercvs2git <feedback@pld-linux.org>
Sun, 24 Jun 2012 12:13:13 +0000 (12:13 +0000)
Changed files:
    perl-fix-h2ph-and-test.patch -> 1.1

perl-fix-h2ph-and-test.patch [new file with mode: 0644]

diff --git a/perl-fix-h2ph-and-test.patch b/perl-fix-h2ph-and-test.patch
new file mode 100644 (file)
index 0000000..cee7fcb
--- /dev/null
@@ -0,0 +1,104 @@
+From 8d66b3f930dc6d88b524d103e304308ae73a46e7 Mon Sep 17 00:00:00 2001
+From: Robin Barker <rmbarker@cpan.org>
+Date: Thu, 22 Apr 2010 11:51:20 +0100
+Subject: [PATCH] Fix h2ph and test
+
+---
+ lib/h2ph.t    |   12 ++++++++++--
+ utils/h2ph.PL |   28 +++++++++++++++++++++++-----
+ 2 files changed, 33 insertions(+), 7 deletions(-)
+
+diff --git a/lib/h2ph.t b/lib/h2ph.t
+index 27dd7b9..8d62d46 100644
+--- a/lib/h2ph.t
++++ b/lib/h2ph.t
+@@ -18,7 +18,7 @@ if (!(-e $extracted_program)) {
+     exit 0;
+ }
+-plan(4);
++plan(5);
+ # quickly compare two text files
+ sub txt_compare {
+@@ -41,8 +41,16 @@ $result = runperl( progfile => 'lib/h2ph.pht',
+                    stderr => 1 );
+ like( $result, qr/syntax OK$/, "output compiles");
++$result = runperl( progfile => '_h2ph_pre.ph',
++                   switches => ['-c'],
++                   stderr => 1 );
++like( $result, qr/syntax OK$/, "preamble compiles");
++
+ $result = runperl( switches => ["-w"], 
+-                   prog => '$SIG{__WARN__} = sub { die $_[0] }; require q(lib/h2ph.pht);');
++                   stderr => 1,
++                   prog => <<'PROG' );
++$SIG{__WARN__} = sub { die $_[0] }; require q(lib/h2ph.pht);
++PROG
+ is( $result, '', "output free of warnings" );
+ # cleanup
+diff --git a/utils/h2ph.PL b/utils/h2ph.PL
+index 8f56db4..1255807 100644
+--- a/utils/h2ph.PL
++++ b/utils/h2ph.PL
+@@ -401,7 +401,10 @@ if ($opt_e && (scalar(keys %bad_file) > 0)) {
+ exit $Exit;
+ sub expr {
+-    $new = '"(assembly code)"' and return if /\b__asm__\b/; # freak out.
++    if (/\b__asm__\b/) {      # freak out
++      $new = '"(assembly code)"';
++      return
++    }
+     my $joined_args;
+     if(keys(%curargs)) {
+       $joined_args = join('|', keys(%curargs));
+@@ -770,7 +773,7 @@ sub inc_dirs
+ sub build_preamble_if_necessary
+ {
+     # Increment $VERSION every time this function is modified:
+-    my $VERSION     = 2;
++    my $VERSION     = 3;
+     my $preamble    = "$Dest_dir/_h2ph_pre.ph";
+     # Can we skip building the preamble file?
+@@ -798,7 +801,16 @@ sub build_preamble_if_necessary
+               # parenthesized value:  d=(v)
+               $define{$_} = $1;
+           }
+-          if ($define{$_} =~ /^([+-]?(\d+)?\.\d+([eE][+-]?\d+)?)[FL]?$/) {
++          if (/^(\w+)\((\w)\)$/) {
++              my($macro, $arg) = ($1, $2);
++              my $def = $define{$_};
++              $def =~ s/$arg/\$\{$arg\}/g;
++              print PREAMBLE <<DEFINE;
++unless (defined &$macro) { sub $macro(\$) { my (\$$arg) = \@_; \"$def\" } }
++
++DEFINE
++          } elsif
++              ($define{$_} =~ /^([+-]?(\d+)?\.\d+([eE][+-]?\d+)?)[FL]?$/) {
+               # float:
+               print PREAMBLE
+                   "unless (defined &$_) { sub $_() { $1 } }\n\n";
+@@ -807,8 +819,14 @@ sub build_preamble_if_necessary
+               print PREAMBLE
+                   "unless (defined &$_) { sub $_() { $1 } }\n\n";
+           } elsif ($define{$_} =~ /^\w+$/) {
+-              print PREAMBLE
+-                  "unless (defined &$_) { sub $_() { &$define{$_} } }\n\n";
++              my $def = $define{$_};
++              if ($isatype{$def}) {
++                print PREAMBLE
++                  "unless (defined &$_) { sub $_() { \"$def\" } }\n\n";
++              } else {
++                print PREAMBLE
++                  "unless (defined &$_) { sub $_() { &$def } }\n\n";
++              }
+           } else {
+               print PREAMBLE
+                   "unless (defined &$_) { sub $_() { \"",
+-- 
+1.6.5.2.74.g610f9.dirty
+
This page took 0.128724 seconds and 4 git commands to generate.