Change 31713 by [EMAIL PROTECTED] on 2007/08/14 19:22:20

        Upgrade to Devel::PPPort 3.11_03

Affected files ...

... //depot/perl/ext/Devel/PPPort/Changes#37 edit
... //depot/perl/ext/Devel/PPPort/HACKERS#12 edit
... //depot/perl/ext/Devel/PPPort/PPPort_pm.PL#30 edit
... //depot/perl/ext/Devel/PPPort/parts/inc/SvPV#8 edit
... //depot/perl/ext/Devel/PPPort/parts/inc/ppphbin#11 edit
... //depot/perl/ext/Devel/PPPort/parts/inc/version#7 edit
... //depot/perl/ext/Devel/PPPort/parts/ppptools.pl#10 edit
... //depot/perl/ext/Devel/PPPort/soak#25 edit

Differences ...

==== //depot/perl/ext/Devel/PPPort/Changes#37 (xtext) ====
Index: perl/ext/Devel/PPPort/Changes
--- perl/ext/Devel/PPPort/Changes#36~31705~     2007-08-12 16:17:42.000000000 
-0700
+++ perl/ext/Devel/PPPort/Changes       2007-08-14 12:22:20.000000000 -0700
@@ -1,3 +1,12 @@
+3.11_03 - 2007-08-14
+
+    * fix an infinite recursion in ppport.h that could be
+      triggered by circular dependencies
+    * fix PERL_BCDREVISION, which wasn't BCD but simply
+      shifted decimal (just in time for 5.10)
+    * fix detection of macros that are not listed in the
+      implementation/dontwarn sections
+
 3.11_02 - 2007-08-13
 
     * fix cpan #25372: special case sv_magic(sv, obj, how, name, 0)

==== //depot/perl/ext/Devel/PPPort/HACKERS#12 (text) ====
Index: perl/ext/Devel/PPPort/HACKERS
--- perl/ext/Devel/PPPort/HACKERS#11~31705~     2007-08-12 16:17:42.000000000 
-0700
+++ perl/ext/Devel/PPPort/HACKERS       2007-08-14 12:22:20.000000000 -0700
@@ -11,15 +11,15 @@
 
 =head1 DESCRIPTION
 
-=head2 How to build 105 versions of Perl
+=head2 How to build 111 versions of Perl
 
 C<Devel::PPPort> supports Perl versions between 5.003 and bleadperl.
 To guarantee this support, I need some of these versions on my
-machine. I currently have 105 different Perl version/configuration
+machine. I currently have 111 different Perl version/configuration
 combinations installed on my laptop.
 
 As many of the old Perl distributions need patching to compile
-cleanly on newer systems (and because building 105 Perls by hand
+cleanly on newer systems (and because building 111 Perls by hand
 just isn't fun), I wrote a tool to build all the different
 versions and configurations. You can find it in F<devel/buildperl.pl>.
 It can currently build the following Perl releases:

==== //depot/perl/ext/Devel/PPPort/PPPort_pm.PL#30 (text) ====
Index: perl/ext/Devel/PPPort/PPPort_pm.PL
--- perl/ext/Devel/PPPort/PPPort_pm.PL#29~31705~        2007-08-12 
16:17:42.000000000 -0700
+++ perl/ext/Devel/PPPort/PPPort_pm.PL  2007-08-14 12:22:20.000000000 -0700
@@ -507,7 +507,7 @@
 use strict;
 use vars qw($VERSION $data);
 
-$VERSION = do { my @r = '$Snapshot: /Devel-PPPort/3.11_02 $' =~ 
/(\d+\.\d+(?:_\d+)?)/; @r ? $r[0] : '9.99' };
+$VERSION = do { my @r = '$Snapshot: /Devel-PPPort/3.11_03 $' =~ 
/(\d+\.\d+(?:_\d+)?)/; @r ? $r[0] : '9.99' };
 
 sub _init_data
 {

==== //depot/perl/ext/Devel/PPPort/parts/inc/SvPV#8 (text) ====
Index: perl/ext/Devel/PPPort/parts/inc/SvPV
--- perl/ext/Devel/PPPort/parts/inc/SvPV#7~31705~       2007-08-12 
16:17:42.000000000 -0700
+++ perl/ext/Devel/PPPort/parts/inc/SvPV        2007-08-14 12:22:20.000000000 
-0700
@@ -1,8 +1,8 @@
 
################################################################################
 ##
-##  $Revision: 15 $
+##  $Revision: 17 $
 ##  $Author: mhx $
-##  $Date: 2007/08/12 23:57:47 +0200 $
+##  $Date: 2007/08/13 22:59:33 +0200 $
 ##
 
################################################################################
 ##
@@ -26,6 +26,7 @@
 =dontwarn
 
 NEED_sv_2pv_flags
+NEED_sv_2pv_flags_GLOBAL
 
 =implementation
 
@@ -87,12 +88,10 @@
 /* Hint: sv_pvn
  * Always use the SvPV() macro instead of sv_pvn().
  */
-__UNDEFINED__  sv_pvn(sv, len)         SvPV(sv, len)
 
 /* Hint: sv_pvn_force
  * Always use the SvPV_force() macro instead of sv_pvn_force().
  */
-__UNDEFINED__  sv_pvn_force(sv, len)   SvPV_force(sv, len)
 
 /* If these are undefined, they're not handled by the core anyway */
 __UNDEFINED__  SV_IMMEDIATE_UNREF      0

==== //depot/perl/ext/Devel/PPPort/parts/inc/ppphbin#11 (text) ====
Index: perl/ext/Devel/PPPort/parts/inc/ppphbin
--- perl/ext/Devel/PPPort/parts/inc/ppphbin#10~31705~   2007-08-12 
16:17:42.000000000 -0700
+++ perl/ext/Devel/PPPort/parts/inc/ppphbin     2007-08-14 12:22:20.000000000 
-0700
@@ -1,8 +1,8 @@
 
################################################################################
 ##
-##  $Revision: 40 $
+##  $Revision: 41 $
 ##  $Author: mhx $
-##  $Date: 2007/08/12 23:58:21 +0200 $
+##  $Date: 2007/08/13 21:08:26 +0200 $
 ##
 
################################################################################
 ##
@@ -106,6 +106,18 @@
 my $replace = 0;
 my($hint, $define, $function);
 
+sub find_api
+{
+  my $code = shift;
+  $code =~ s{
+    ([^"'/]+)
+  | / (?: \*[^*]*\*+(?:[^$ccs][^*]*\*+)* / | /[^\r\n]*)
+  | (?:"[^"\\]*(?:\\.[^"\\]*)*" [^"'/]*)+
+  | (?:'[^'\\]*(?:\\.[^'\\]*)*' [^"'/]*)+
+  }{ defined $1 ? $1 : '' }egsx;
+  grep { exists $API{$_} } $code =~ /(\w+)/mg;
+}
+
 while (<DATA>) {
   if ($hint) {
     my $h = $hint->[0] eq 'Hint' ? \%hints : \%warnings;
@@ -128,7 +140,7 @@
     }
     else {
       if (exists $API{$define->[0]} && $define->[1] !~ /^DPPP_\(/) {
-        my @n = grep { exists $API{$_} } $define->[1] =~ /(\w+)/mg;
+        my @n = find_api($define->[1]);
         push @{$depends{$define->[0]}}, @n if @n
       }
       undef $define;
@@ -140,7 +152,7 @@
   if ($function) {
     if (/^}/) {
       if (exists $API{$function->[0]}) {
-        my @n = grep { exists $API{$_} } $function->[1] =~ /(\w+)/mg;
+        my @n = find_api($function->[1]);
         push @{$depends{$function->[0]}}, @n if @n
       }
       undef $define;
@@ -291,23 +303,13 @@
   # temporarily remove C comments from the code
   my @ccom;
   $c =~ s{
-    (
-        [^"'/]+
-      |
-        (?:"[^"\\]*(?:\\.[^"\\]*)*" [^"'/]*)+
-      |
-        (?:'[^'\\]*(?:\\.[^'\\]*)*' [^"'/]*)+
-    )
-  |
-    (/ (?:
-        \*[^*]*\*+(?:[^$ccs][^*]*\*+)* /
-        |
-        /[^\r\n]*
-      ))
-  }{
-    defined $2 and push @ccom, $2;
-    defined $1 ? $1 : "$ccs$#ccom$cce";
-  }egsx;
+    ( [^"'/]+
+    | (?:"[^"\\]*(?:\\.[^"\\]*)*" [^"'/]*)+
+    | (?:'[^'\\]*(?:\\.[^'\\]*)*' [^"'/]*)+ )
+  | (/ (?: \*[^*]*\*+(?:[^$ccs][^*]*\*+)* /
+         | /[^\r\n]* ) )
+  }{ defined $2 and push @ccom, $2;
+     defined $1 ? $1 : "$ccs$#ccom$cce" }egsx;
 
   $file{ccom} = [EMAIL PROTECTED];
   $file{code} = $c;
@@ -665,10 +667,12 @@
 
 sub rec_depend
 {
-  my $func = shift;
-  my %seen;
+  my($func, $seen) = @_;
   return () unless exists $depends{$func};
-  grep !$seen{$_}++, map { ($_, rec_depend($_)) } @{$depends{$func}};
+  $seen = {%{$seen||{}}};
+  return () if $seen->{$func}++;
+  my %s;
+  grep !$s{$_}++, map { ($_, rec_depend($_, $seen)) } @{$depends{$func}};
 }
 
 sub parse_version

==== //depot/perl/ext/Devel/PPPort/parts/inc/version#7 (text) ====
Index: perl/ext/Devel/PPPort/parts/inc/version
--- perl/ext/Devel/PPPort/parts/inc/version#6~30280~    2007-02-14 
05:23:50.000000000 -0800
+++ perl/ext/Devel/PPPort/parts/inc/version     2007-08-14 12:22:20.000000000 
-0700
@@ -1,8 +1,8 @@
 
################################################################################
 ##
-##  $Revision: 7 $
+##  $Revision: 8 $
 ##  $Author: mhx $
-##  $Date: 2007/01/02 12:32:33 +0100 $
+##  $Date: 2007/08/13 23:00:34 +0200 $
 ##
 
################################################################################
 ##
@@ -25,6 +25,7 @@
 =dontwarn
 
 PERL_PATCHLEVEL_H_IMPLICIT
+_dpppDEC2BCD
 
 =implementation
 
@@ -46,7 +47,8 @@
 #  endif
 #endif
 
-#define PERL_BCDVERSION ((PERL_REVISION * 0x1000000L) + (PERL_VERSION * 
0x1000L) + PERL_SUBVERSION)
+#define _dpppDEC2BCD(dec) ((((dec)/100)<<8)|((((dec)%100)/10)<<4)|((dec)%10))
+#define PERL_BCDVERSION 
((_dpppDEC2BCD(PERL_REVISION)<<24)|(_dpppDEC2BCD(PERL_VERSION)<<12)|_dpppDEC2BCD(PERL_SUBVERSION))
 
 /* It is very unlikely that anyone will try to use this with Perl 6
    (or greater), but who knows.

==== //depot/perl/ext/Devel/PPPort/parts/ppptools.pl#10 (text) ====
Index: perl/ext/Devel/PPPort/parts/ppptools.pl
--- perl/ext/Devel/PPPort/parts/ppptools.pl#9~31705~    2007-08-12 
16:17:42.000000000 -0700
+++ perl/ext/Devel/PPPort/parts/ppptools.pl     2007-08-14 12:22:20.000000000 
-0700
@@ -4,9 +4,9 @@
 #
 
################################################################################
 #
-#  $Revision: 18 $
+#  $Revision: 19 $
 #  $Author: mhx $
-#  $Date: 2007/01/02 12:32:28 +0100 $
+#  $Date: 2007/08/13 22:59:58 +0200 $
 #
 
################################################################################
 #
@@ -189,7 +189,7 @@
                              (defined $nop && exists $dontwarn{$nop}) ||
                              $h{$_}++;
                        }
-                       $data{implementation} =~ /^\s*#\s*define\s+(\w+)/g };
+                       $data{implementation} =~ /^\s*#\s*define\s+(\w+)/gm };
 
   if (@maybeprov) {
     warn "$file seems to provide these macros, but doesn't list them:\n  "

==== //depot/perl/ext/Devel/PPPort/soak#25 (text) ====
Index: perl/ext/Devel/PPPort/soak
--- perl/ext/Devel/PPPort/soak#24~31705~        2007-08-12 16:17:42.000000000 
-0700
+++ perl/ext/Devel/PPPort/soak  2007-08-14 12:22:20.000000000 -0700
@@ -33,7 +33,7 @@
 use List::Util qw(max);
 use Config;
 
-my $VERSION = do { my @r = '$Snapshot: /Devel-PPPort/3.11_02 $' =~ 
/(\d+\.\d+(?:_\d+)?)/; @r ? $r[0] : '9.99' };
+my $VERSION = do { my @r = '$Snapshot: /Devel-PPPort/3.11_03 $' =~ 
/(\d+\.\d+(?:_\d+)?)/; @r ? $r[0] : '9.99' };
 
 $| = 1;
 my %OPT = (
End of Patch.

Reply via email to