ppisar pushed to perl (master). "Make PadlistNAMES() lvalue again"

notifications at fedoraproject.org notifications at fedoraproject.org
Thu Jun 18 19:01:30 UTC 2015


From b60e1a2e9fa2ed5c415844ea22e4b6949efd5134 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar at redhat.com>
Date: Thu, 18 Jun 2015 12:47:15 +0200
Subject: Make PadlistNAMES() lvalue again


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 <davem at iabyn.com>
+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ř <ppisar at redhat.com>
+---
+ 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 <rel-eng at lists.fedoraproject.org> - 4:5.22.0-345
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
-- 
cgit v0.10.2


	http://pkgs.fedoraproject.org/cgit/perl.git/commit/?h=master&id=b60e1a2e9fa2ed5c415844ea22e4b6949efd5134


More information about the perl-devel mailing list