r68123 - in /trunk/libdata-dump-streamer-perl: Changes META.yml debian/changelog debian/patches/fix-pod-spelling.patch lib/Data/Dump/Streamer.pm lib/Data/Dump/Streamer.xs

angelabad-guest at users.alioth.debian.org angelabad-guest at users.alioth.debian.org
Sat Feb 5 11:16:54 UTC 2011


Author: angelabad-guest
Date: Sat Feb  5 11:16:46 2011
New Revision: 68123

URL: http://svn.debian.org/wsvn/pkg-perl/?sc=1&rev=68123
Log:
* New upstream release
* debian/patches/fix-pod-spelling.patch: Refresh patch

Modified:
    trunk/libdata-dump-streamer-perl/Changes
    trunk/libdata-dump-streamer-perl/META.yml
    trunk/libdata-dump-streamer-perl/debian/changelog
    trunk/libdata-dump-streamer-perl/debian/patches/fix-pod-spelling.patch
    trunk/libdata-dump-streamer-perl/lib/Data/Dump/Streamer.pm
    trunk/libdata-dump-streamer-perl/lib/Data/Dump/Streamer.xs

Modified: trunk/libdata-dump-streamer-perl/Changes
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libdata-dump-streamer-perl/Changes?rev=68123&op=diff
==============================================================================
--- trunk/libdata-dump-streamer-perl/Changes (original)
+++ trunk/libdata-dump-streamer-perl/Changes Sat Feb  5 11:16:46 2011
@@ -1,3 +1,6 @@
+2.32
+Disable overloading in a <=5.8.8 safe way [RT #53700]
+
 2.31
 React to Strawberry perl $. strangeness [RT #58528]
 

Modified: trunk/libdata-dump-streamer-perl/META.yml
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libdata-dump-streamer-perl/META.yml?rev=68123&op=diff
==============================================================================
--- trunk/libdata-dump-streamer-perl/META.yml (original)
+++ trunk/libdata-dump-streamer-perl/META.yml Sat Feb  5 11:16:46 2011
@@ -22,7 +22,7 @@
   ExtUtils::Depends: 0
   Module::Build: 0
   perl: 5.006
-generated_by: 'Module::Build version 0.3607'
+generated_by: 'Module::Build version 0.3603'
 license: perl
 meta-spec:
   url: http://module-build.sourceforge.net/META-spec-v1.4.html
@@ -31,10 +31,10 @@
 provides:
   Data::Dump::Streamer:
     file: lib/Data/Dump/Streamer.pm
-    version: 2.31
+    version: 2.32
   Data::Dump::Streamer::Deparser:
     file: lib/Data/Dump/Streamer.pm
-    version: 2.31
+    version: 2.32
 recommends:
   Algorithm::Diff: 0
   Compress::Zlib: 0
@@ -60,4 +60,4 @@
   warnings::register: 0
 resources:
   license: http://dev.perl.org/licenses/
-version: 2.31
+version: 2.32

Modified: trunk/libdata-dump-streamer-perl/debian/changelog
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libdata-dump-streamer-perl/debian/changelog?rev=68123&op=diff
==============================================================================
--- trunk/libdata-dump-streamer-perl/debian/changelog (original)
+++ trunk/libdata-dump-streamer-perl/debian/changelog Sat Feb  5 11:16:46 2011
@@ -1,3 +1,10 @@
+libdata-dump-streamer-perl (2.32-1) unstable; urgency=low
+
+  * New upstream release
+  * debian/patches/fix-pod-spelling.patch: Refresh patch
+
+ -- Angel Abad <angelabad at gmail.com>  Sat, 05 Feb 2011 12:16:32 +0100
+
 libdata-dump-streamer-perl (2.31-1) unstable; urgency=low
 
   [ Angel Abad ]

Modified: trunk/libdata-dump-streamer-perl/debian/patches/fix-pod-spelling.patch
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libdata-dump-streamer-perl/debian/patches/fix-pod-spelling.patch?rev=68123&op=diff
==============================================================================
--- trunk/libdata-dump-streamer-perl/debian/patches/fix-pod-spelling.patch (original)
+++ trunk/libdata-dump-streamer-perl/debian/patches/fix-pod-spelling.patch Sat Feb  5 11:16:46 2011
@@ -7,7 +7,7 @@
 
 --- a/lib/Data/Dump/Streamer.pm
 +++ b/lib/Data/Dump/Streamer.pm
-@@ -336,7 +336,7 @@
+@@ -365,7 +365,7 @@
  framework for closure based code. The way this works is that DDS figures
  out what all the lexicals are that are bound to CODE refs it is dumping
  and then pretends that it had originally been called with all of them as
@@ -16,7 +16,7 @@
  
  One consequence of the way the dumping process works is that all of the
  recreated subroutines will be in the same scope. This of course can lead
-@@ -591,7 +591,7 @@
+@@ -620,7 +620,7 @@
  This means that when an array value is simple (ie, its not referenced and
  does contain a reference) and is repeated mutliple times the output will
  be single a list multiplier statement, and not each item output
@@ -25,7 +25,7 @@
  
     $ARRAY1 = [ (0) x 4 ];
  
-@@ -3797,7 +3797,7 @@
+@@ -3826,7 +3826,7 @@
  =head2 A Note About Speed
  
  Data::Dumper is much faster than this module for many things. However IMO
@@ -34,7 +34,7 @@
  
  =head1 EXPORT
  
-@@ -3884,7 +3884,7 @@
+@@ -3913,7 +3913,7 @@
  
  Be aware that to a certain extent this module is subject to whimsies of
  your local perl. The same code may not produce the same dump on two

Modified: trunk/libdata-dump-streamer-perl/lib/Data/Dump/Streamer.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libdata-dump-streamer-perl/lib/Data/Dump/Streamer.pm?rev=68123&op=diff
==============================================================================
--- trunk/libdata-dump-streamer-perl/lib/Data/Dump/Streamer.pm (original)
+++ trunk/libdata-dump-streamer-perl/lib/Data/Dump/Streamer.pm Sat Feb  5 11:16:46 2011
@@ -35,7 +35,7 @@
 BEGIN{ $HasPadWalker=eval "use PadWalker 0.99; 1"; }
 
 BEGIN {
-    $VERSION   ='2.31';
+    $VERSION   ='2.32';
     $VERSION = eval $VERSION; # used for beta stuff.
     @ISA       = qw(Exporter DynaLoader);
     @EXPORT=qw(Dump DumpLex DumpVars);
@@ -205,6 +205,35 @@
             $hash
         };
         *lock_keys_plus=sub(\%;@){lock_ref_keys_plus(@_)};
+    }
+    if ($] <= 5.008008) {
+        *disable_overloading = \&SvAMAGIC_off;
+        *restore_overloading = sub ($$) {
+            SvAMAGIC_on($_[0], undef);
+
+            # Visit all classes we are ISA and fetch the () entry from
+            # every stash.
+            my %done;
+            my %todo = (
+                $_[0]     => undef,
+                UNIVERSAL => undef,
+            );
+            no strict 'refs';
+            for my $todo_class (keys %todo) {
+                delete $todo{$todo_class};
+                $done{$todo_class} = undef;
+                for my $isa (@{"${todo_class}::ISA"}) {
+                    $todo{$isa} = undef unless exists $done{$isa};
+                }
+            }
+        };
+    } else {
+        *disable_overloading = sub ($) {
+            bless $_[0], 'Does::Not::Exist';
+        };
+        *restore_overloading = sub ($$) {
+            bless $_[0], $_[1];
+        };
     }
     my %fail=map { ( $_ => 1 ) } @EXPORT_FAIL;
     @EXPORT_OK=grep { !$fail{$_} } @EXPORT_OK;
@@ -1526,7 +1555,7 @@
             my $overloaded=undef;
             my $isoverloaded=0;
             if (defined $class and overload::Overloaded($item)) {
-                bless $item, 'Does::Not::Exist';
+                disable_overloading( $item );
                 $overloaded= $class;
                 $isoverloaded= 1;
             }
@@ -1639,7 +1668,7 @@
                     if $ENV{DDS_STRICT};
             }
             if ($isoverloaded) {
-                $item= bless $item, $overloaded;
+                restore_overloading( $item, $overloaded );
             }
         }
         if ( $pass++ == 1 ) {
@@ -1865,7 +1894,7 @@
                 overload::Overloaded( $lhs ) )
             {
                 $overloaded=blessed $lhs;
-                bless $lhs,"Does::Not::Exist";
+                disable_overloading( $lhs );
                 $isoverloaded=1;
             }
             foreach my $t ($self->_glob_slots(''))
@@ -1926,7 +1955,7 @@
                 }
             }
             if ($isoverloaded) {
-                $lhs=bless $lhs,$overloaded;
+                restore_overloading( $lhs, $overloaded );
             }
 
 
@@ -2887,7 +2916,7 @@
     }
     my $isoverloaded=0;
     if (defined $class and overload::Overloaded($item)) {
-        bless $item, 'Does::Not::Exist';
+        disable_overloading( $item );
         $overloaded= $class;
         $isoverloaded= 1;
     }
@@ -2968,7 +2997,7 @@
             $self->_add_fix('bless',$idx,$overloaded);
         }
         if ($isoverloaded) {
-            $item=bless $item, $overloaded;
+            restore_overloading( $item, $overloaded );
         }
     }
     if ($fix_lock && !defined($class)) {
@@ -3705,7 +3734,7 @@
 our @ISA=qw(B::Deparse);
 my %cache;
 
-our $VERSION = '2.31';
+our $VERSION = '2.32';
 if ( $VERSION ne $Data::Dump::Streamer::VERSION ) {
     die "Incompatible Data::Dump::Streamer::Deparser v$VERSION vs Data::Dump::Streamer v$Data::Dump::Streamer::VERSION";
 }

Modified: trunk/libdata-dump-streamer-perl/lib/Data/Dump/Streamer.xs
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libdata-dump-streamer-perl/lib/Data/Dump/Streamer.xs?rev=68123&op=diff
==============================================================================
--- trunk/libdata-dump-streamer-perl/lib/Data/Dump/Streamer.xs (original)
+++ trunk/libdata-dump-streamer-perl/lib/Data/Dump/Streamer.xs Sat Feb  5 11:16:46 2011
@@ -107,6 +107,12 @@
 #    define NV double
 #endif
 
+#if PERL_VERSION < 8
+#    define MY_XS_AMAGIC
+#endif
+#if ((PERL_VERSION == 8) && (PERL_SUBVERSION <= 8))
+#    define MY_XS_AMAGIC
+#endif
 
 /*
    the following three subs are outright stolen from Data::Dumper ( Dumper.xs )
@@ -179,7 +185,6 @@
     }
     return ret;
 }
-
 
 XS(XS_Data__Dump__Streamer_SvREADONLY);
 XS(XS_Data__Dump__Streamer_SvREADONLY)	/* This is dangerous stuff. */
@@ -767,6 +772,25 @@
 }
 OUTPUT:
     RETVAL
+
+#ifdef MY_XS_AMAGIC
+
+void
+SvAMAGIC_off(sv)
+    SV * sv
+PROTOTYPE: $
+CODE:
+    SvAMAGIC_off(sv);
+
+void
+SvAMAGIC_on(sv,klass)
+    SV * sv
+    SV * klass
+PROTOTYPE: $$
+CODE:
+    SvAMAGIC_off(sv);
+
+#endif
 
 
 #ifndef NEW_REGEX_ENGINE




More information about the Pkg-perl-cvs-commits mailing list