r68121 - in /branches/upstream/libdata-dump-streamer-perl/current: Changes META.yml 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:07:43 UTC 2011
Author: angelabad-guest
Date: Sat Feb 5 11:06:14 2011
New Revision: 68121
URL: http://svn.debian.org/wsvn/pkg-perl/?sc=1&rev=68121
Log:
[svn-upgrade] new version libdata-dump-streamer-perl (2.32)
Modified:
branches/upstream/libdata-dump-streamer-perl/current/Changes
branches/upstream/libdata-dump-streamer-perl/current/META.yml
branches/upstream/libdata-dump-streamer-perl/current/lib/Data/Dump/Streamer.pm
branches/upstream/libdata-dump-streamer-perl/current/lib/Data/Dump/Streamer.xs
Modified: branches/upstream/libdata-dump-streamer-perl/current/Changes
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libdata-dump-streamer-perl/current/Changes?rev=68121&op=diff
==============================================================================
--- branches/upstream/libdata-dump-streamer-perl/current/Changes (original)
+++ branches/upstream/libdata-dump-streamer-perl/current/Changes Sat Feb 5 11:06:14 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: branches/upstream/libdata-dump-streamer-perl/current/META.yml
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libdata-dump-streamer-perl/current/META.yml?rev=68121&op=diff
==============================================================================
--- branches/upstream/libdata-dump-streamer-perl/current/META.yml (original)
+++ branches/upstream/libdata-dump-streamer-perl/current/META.yml Sat Feb 5 11:06:14 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: branches/upstream/libdata-dump-streamer-perl/current/lib/Data/Dump/Streamer.pm
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libdata-dump-streamer-perl/current/lib/Data/Dump/Streamer.pm?rev=68121&op=diff
==============================================================================
--- branches/upstream/libdata-dump-streamer-perl/current/lib/Data/Dump/Streamer.pm (original)
+++ branches/upstream/libdata-dump-streamer-perl/current/lib/Data/Dump/Streamer.pm Sat Feb 5 11:06:14 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: branches/upstream/libdata-dump-streamer-perl/current/lib/Data/Dump/Streamer.xs
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libdata-dump-streamer-perl/current/lib/Data/Dump/Streamer.xs?rev=68121&op=diff
==============================================================================
--- branches/upstream/libdata-dump-streamer-perl/current/lib/Data/Dump/Streamer.xs (original)
+++ branches/upstream/libdata-dump-streamer-perl/current/lib/Data/Dump/Streamer.xs Sat Feb 5 11:06:14 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