diff --git a/perl-5.22.0-make-PadlistNAMES-lvalue-again.patch b/perl-5.22.0-make-PadlistNAMES-lvalue-again.patch new file mode 100644 index 0000000..9060acc --- /dev/null +++ b/perl-5.22.0-make-PadlistNAMES-lvalue-again.patch @@ -0,0 +1,38 @@ +From 73949fca082fe50bf47755c5ffa328259057ae36 Mon Sep 17 00:00:00 2001 +From: David Mitchell +Date: Mon, 8 Jun 2015 09:15:17 +0100 +Subject: [PATCH] make PadlistNAMES() lvalue again. +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +The PadlistNAMES() macro was introduced with v5.17.3-69-g86d2498. +This macro happened to be lvalue-capable, although it wasn't documented +as such. + +v5.21.6-163-g9b7476d as a side effect, broke the lvalueness, which broke +Coro. + +This commit restores the lvalueness. + +Signed-off-by: Petr Písař +--- + pad.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/pad.h b/pad.h +index 1f86248..31b8715 100644 +--- a/pad.h ++++ b/pad.h +@@ -295,7 +295,7 @@ Restore the old pad saved into the local variable opad by PAD_SAVE_LOCAL() + + #define PadlistARRAY(pl) (pl)->xpadl_alloc + #define PadlistMAX(pl) (pl)->xpadl_max +-#define PadlistNAMES(pl) ((PADNAMELIST *)*PadlistARRAY(pl)) ++#define PadlistNAMES(pl) *((PADNAMELIST **)PadlistARRAY(pl)) + #define PadlistNAMESARRAY(pl) PadnamelistARRAY(PadlistNAMES(pl)) + #define PadlistNAMESMAX(pl) PadnamelistMAX(PadlistNAMES(pl)) + #define PadlistREFCNT(pl) 1 /* reserved for future use */ +-- +2.1.0 + diff --git a/perl.spec b/perl.spec index 035101e..e22b8c1 100644 --- a/perl.spec +++ b/perl.spec @@ -92,6 +92,10 @@ Patch22: perl-5.18.1-Document-Math-BigInt-CalcEmu-requires-Math-BigInt.pa # Make *DBM_File desctructors thread-safe, bug #1107543, RT#61912 Patch26: perl-5.18.2-Destroy-GDBM-NDBM-ODBM-SDBM-_File-objects-only-from-.patch +# Make PadlistNAMES() lvalue again, bug #1231165, CPAN RT#101063, +# in upstream after 5.22.0 +Patch27: perl-5.22.0-make-PadlistNAMES-lvalue-again.patch + # Link XS modules to libperl.so with EU::CBuilder on Linux, bug #960048 Patch200: perl-5.16.3-Link-XS-modules-to-libperl.so-with-EU-CBuilder-on-Li.patch @@ -1847,6 +1851,7 @@ Perl extension for Version Objects %patch16 -p1 %patch22 -p1 %patch26 -p1 +%patch27 -p1 %patch200 -p1 %patch201 -p1 @@ -1865,6 +1870,7 @@ perl -x patchlevel.h \ 'Fedora Patch16: Install libperl.so to -Dshrpdir value' \ 'Fedora Patch22: Document Math::BigInt::CalcEmu requires Math::BigInt (CPAN RT#85015)' \ 'Fedora Patch26: Make *DBM_File desctructors thread-safe (RT#61912)' \ + 'Fedora Patch27: Make PadlistNAMES() lvalue again (CPAN RT#101063)' \ 'Fedora Patch200: Link XS modules to libperl.so with EU::CBuilder on Linux' \ 'Fedora Patch201: Link XS modules to libperl.so with EU::MM on Linux' \ %{nil} @@ -3639,6 +3645,7 @@ popd - Subpackage "open" module in order to keep deprecated "encoding" module optional (bug #1228378) - Control building dual-lived sub-packages by perl_bootstrap macro +- Make PadlistNAMES() lvalue again (bug #1231165) * Thu Jun 18 2015 Fedora Release Engineering - 4:5.22.0-345 - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild