Skip Menu |

This queue is for tickets about the IO-Compress CPAN distribution.

Report information
The Basics
Id: 120239
Status: resolved
Priority: 0/
Queue: IO-Compress

People
Owner: Nobody in particular
Requestors: RURBAN [...] cpan.org
Cc:
AdminCc:

Bug Information
Severity: (no value)
Broken in: (no value)
Fixed in: 2.073



Subject: [PATCH] ISA fixes for c3
Exporter needs to be the last ISA entry, otherwise c3 linearization cannot be fulfilled. Repro with cperl, where c3 is the new default already. See also https://github.com/rurban/IO-Compress/tree/c3 -- Reini Urban
Subject: 0001-ISA-fixes-for-c3.patch
From 6e356f54d6b121d11381411bf1ec8a7729dcc930 Mon Sep 17 00:00:00 2001 From: Reini Urban <rurban@cpan.org> Date: Tue, 14 Feb 2017 13:31:34 +0100 Subject: [PATCH] ISA fixes for c3 Exporter needs to be the last ISA entry, otherwise c3 linearization cannot be fulfilled. Repro with cperl, where c3 is the new default already. --- lib/IO/Compress/Base.pm | 2 +- lib/IO/Compress/Bzip2.pm | 2 +- lib/IO/Compress/Deflate.pm | 2 +- lib/IO/Compress/Gzip.pm | 2 +- lib/IO/Compress/RawDeflate.pm | 2 +- lib/IO/Compress/Zip.pm | 2 +- lib/IO/Uncompress/AnyInflate.pm | 2 +- lib/IO/Uncompress/AnyUncompress.pm | 2 +- lib/IO/Uncompress/Base.pm | 2 +- lib/IO/Uncompress/Bunzip2.pm | 2 +- lib/IO/Uncompress/Gunzip.pm | 2 +- lib/IO/Uncompress/Inflate.pm | 2 +- lib/IO/Uncompress/RawInflate.pm | 2 +- lib/IO/Uncompress/Unzip.pm | 4 ++-- 14 files changed, 15 insertions(+), 15 deletions(-) diff --git lib/IO/Compress/Base.pm lib/IO/Compress/Base.pm index 8dd9fc1..b6bfa67 100644 --- lib/IO/Compress/Base.pm +++ lib/IO/Compress/Base.pm @@ -18,7 +18,7 @@ use Symbol(); #use bytes; our (@ISA, $VERSION); -@ISA = qw(Exporter IO::File); +@ISA = qw(IO::File Exporter); $VERSION = '2.072'; diff --git lib/IO/Compress/Bzip2.pm lib/IO/Compress/Bzip2.pm index 800e0f1..9cecac0 100644 --- lib/IO/Compress/Bzip2.pm +++ lib/IO/Compress/Bzip2.pm @@ -17,7 +17,7 @@ our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $Bzip2Error); $VERSION = '2.072'; $Bzip2Error = ''; -@ISA = qw(Exporter IO::Compress::Base); +@ISA = qw(IO::Compress::Base Exporter); @EXPORT_OK = qw( $Bzip2Error bzip2 ) ; %EXPORT_TAGS = %IO::Compress::Base::EXPORT_TAGS ; push @{ $EXPORT_TAGS{all} }, @EXPORT_OK ; diff --git lib/IO/Compress/Deflate.pm lib/IO/Compress/Deflate.pm index c41aa7a..0f9e43e 100644 --- lib/IO/Compress/Deflate.pm +++ lib/IO/Compress/Deflate.pm @@ -20,7 +20,7 @@ our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, %DEFLATE_CONSTANTS, $DeflateError $VERSION = '2.072'; $DeflateError = ''; -@ISA = qw(Exporter IO::Compress::RawDeflate); +@ISA = qw(IO::Compress::RawDeflate Exporter); @EXPORT_OK = qw( $DeflateError deflate ) ; %EXPORT_TAGS = %IO::Compress::RawDeflate::DEFLATE_CONSTANTS ; diff --git lib/IO/Compress/Gzip.pm lib/IO/Compress/Gzip.pm index 5448235..d667375 100644 --- lib/IO/Compress/Gzip.pm +++ lib/IO/Compress/Gzip.pm @@ -28,7 +28,7 @@ our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, %DEFLATE_CONSTANTS, $GzipError); $VERSION = '2.072'; $GzipError = '' ; -@ISA = qw(Exporter IO::Compress::RawDeflate); +@ISA = qw(IO::Compress::RawDeflate Exporter); @EXPORT_OK = qw( $GzipError gzip ) ; %EXPORT_TAGS = %IO::Compress::RawDeflate::DEFLATE_CONSTANTS ; diff --git lib/IO/Compress/RawDeflate.pm lib/IO/Compress/RawDeflate.pm index 124d8eb..c52f37b 100644 --- lib/IO/Compress/RawDeflate.pm +++ lib/IO/Compress/RawDeflate.pm @@ -17,7 +17,7 @@ our ($VERSION, @ISA, @EXPORT_OK, %DEFLATE_CONSTANTS, %EXPORT_TAGS, $RawDeflateEr $VERSION = '2.072'; $RawDeflateError = ''; -@ISA = qw(Exporter IO::Compress::Base); +@ISA = qw(IO::Compress::Base Exporter); @EXPORT_OK = qw( $RawDeflateError rawdeflate ) ; push @EXPORT_OK, @IO::Compress::Adapter::Deflate::EXPORT_OK ; diff --git lib/IO/Compress/Zip.pm lib/IO/Compress/Zip.pm index 13f2045..dd93e87 100644 --- lib/IO/Compress/Zip.pm +++ lib/IO/Compress/Zip.pm @@ -39,7 +39,7 @@ our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, %DEFLATE_CONSTANTS, $ZipError); $VERSION = '2.072'; $ZipError = ''; -@ISA = qw(Exporter IO::Compress::RawDeflate); +@ISA = qw(IO::Compress::RawDeflate Exporter); @EXPORT_OK = qw( $ZipError zip ) ; %EXPORT_TAGS = %IO::Compress::RawDeflate::DEFLATE_CONSTANTS ; diff --git lib/IO/Uncompress/AnyInflate.pm lib/IO/Uncompress/AnyInflate.pm index d397f22..7c9cc93 100644 --- lib/IO/Uncompress/AnyInflate.pm +++ lib/IO/Uncompress/AnyInflate.pm @@ -24,7 +24,7 @@ our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $AnyInflateError); $VERSION = '2.072'; $AnyInflateError = ''; -@ISA = qw( Exporter IO::Uncompress::Base ); +@ISA = qw(IO::Uncompress::Base Exporter); @EXPORT_OK = qw( $AnyInflateError anyinflate ) ; %EXPORT_TAGS = %IO::Uncompress::Base::DEFLATE_CONSTANTS ; push @{ $EXPORT_TAGS{all} }, @EXPORT_OK ; diff --git lib/IO/Uncompress/AnyUncompress.pm lib/IO/Uncompress/AnyUncompress.pm index 06de17f..1de24ee 100644 --- lib/IO/Uncompress/AnyUncompress.pm +++ lib/IO/Uncompress/AnyUncompress.pm @@ -16,7 +16,7 @@ our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $AnyUncompressError); $VERSION = '2.072'; $AnyUncompressError = ''; -@ISA = qw( Exporter IO::Uncompress::Base ); +@ISA = qw(IO::Uncompress::Base Exporter); @EXPORT_OK = qw( $AnyUncompressError anyuncompress ) ; %EXPORT_TAGS = %IO::Uncompress::Base::DEFLATE_CONSTANTS ; push @{ $EXPORT_TAGS{all} }, @EXPORT_OK ; diff --git lib/IO/Uncompress/Base.pm lib/IO/Uncompress/Base.pm index 8451a01..2761f1e 100644 --- lib/IO/Uncompress/Base.pm +++ lib/IO/Uncompress/Base.pm @@ -6,7 +6,7 @@ use warnings; use bytes; our (@ISA, $VERSION, @EXPORT_OK, %EXPORT_TAGS); -@ISA = qw(Exporter IO::File); +@ISA = qw(IO::File Exporter); $VERSION = '2.072'; diff --git lib/IO/Uncompress/Bunzip2.pm lib/IO/Uncompress/Bunzip2.pm index 5246691..382c200 100644 --- lib/IO/Uncompress/Bunzip2.pm +++ lib/IO/Uncompress/Bunzip2.pm @@ -15,7 +15,7 @@ our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $Bunzip2Error); $VERSION = '2.072'; $Bunzip2Error = ''; -@ISA = qw( Exporter IO::Uncompress::Base ); +@ISA = qw(IO::Uncompress::Base Exporter); @EXPORT_OK = qw( $Bunzip2Error bunzip2 ) ; #%EXPORT_TAGS = %IO::Uncompress::Base::EXPORT_TAGS ; push @{ $EXPORT_TAGS{all} }, @EXPORT_OK ; diff --git lib/IO/Uncompress/Gunzip.pm lib/IO/Uncompress/Gunzip.pm index 79bc9a2..570c0b5 100644 --- lib/IO/Uncompress/Gunzip.pm +++ lib/IO/Uncompress/Gunzip.pm @@ -20,7 +20,7 @@ require Exporter ; our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $GunzipError); -@ISA = qw( Exporter IO::Uncompress::RawInflate ); +@ISA = qw(IO::Uncompress::RawInflate Exporter); @EXPORT_OK = qw( $GunzipError gunzip ); %EXPORT_TAGS = %IO::Uncompress::RawInflate::DEFLATE_CONSTANTS ; push @{ $EXPORT_TAGS{all} }, @EXPORT_OK ; diff --git lib/IO/Uncompress/Inflate.pm lib/IO/Uncompress/Inflate.pm index 8d62603..cc53ed7 100644 --- lib/IO/Uncompress/Inflate.pm +++ lib/IO/Uncompress/Inflate.pm @@ -16,7 +16,7 @@ our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $InflateError); $VERSION = '2.072'; $InflateError = ''; -@ISA = qw( Exporter IO::Uncompress::RawInflate ); +@ISA = qw(IO::Uncompress::RawInflate Exporter); @EXPORT_OK = qw( $InflateError inflate ) ; %EXPORT_TAGS = %IO::Uncompress::RawInflate::DEFLATE_CONSTANTS ; push @{ $EXPORT_TAGS{all} }, @EXPORT_OK ; diff --git lib/IO/Uncompress/RawInflate.pm lib/IO/Uncompress/RawInflate.pm index c0d481b..cda31ca 100755 --- lib/IO/Uncompress/RawInflate.pm +++ lib/IO/Uncompress/RawInflate.pm @@ -17,7 +17,7 @@ our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, %DEFLATE_CONSTANTS, $RawInflateEr $VERSION = '2.072'; $RawInflateError = ''; -@ISA = qw( Exporter IO::Uncompress::Base ); +@ISA = qw(IO::Uncompress::Base Exporter); @EXPORT_OK = qw( $RawInflateError rawinflate ) ; %DEFLATE_CONSTANTS = (); %EXPORT_TAGS = %IO::Uncompress::Base::EXPORT_TAGS ; diff --git lib/IO/Uncompress/Unzip.pm lib/IO/Uncompress/Unzip.pm index 41235ed..af7e4fa 100644 --- lib/IO/Uncompress/Unzip.pm +++ lib/IO/Uncompress/Unzip.pm @@ -21,7 +21,7 @@ use Compress::Raw::Zlib 2.072 () ; BEGIN { eval{ require IO::Uncompress::Adapter::Bunzip2 ; - import IO::Uncompress::Adapter::Bunzip2 } ; + import IO::Uncompress::Adapter::Bunzip2 } ; eval{ require IO::Uncompress::Adapter::UnLzma ; import IO::Uncompress::Adapter::UnLzma } ; } @@ -34,7 +34,7 @@ our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $UnzipError, %headerLookup); $VERSION = '2.072'; $UnzipError = ''; -@ISA = qw(Exporter IO::Uncompress::RawInflate); +@ISA = qw(IO::Uncompress::RawInflate Exporter); @EXPORT_OK = qw( $UnzipError unzip ); %EXPORT_TAGS = %IO::Uncompress::RawInflate::EXPORT_TAGS ; push @{ $EXPORT_TAGS{all} }, @EXPORT_OK ; -- 2.11.1
On Tue Feb 14 07:33:53 2017, RURBAN wrote: Show quoted text
> Exporter needs to be the last ISA entry, otherwise > c3 linearization cannot be fulfilled. > Repro with cperl, where c3 is the new default already. > > See also https://github.com/rurban/IO-Compress/tree/c3
Can't see any reason why this could break anything, so once I run a smoke through all the perl binaries in my collection I will apply. If there is an issue, which I seriously doubt, I'll update the ticket. Paul