Cherry-pick votes for maint-5.20

Tickets Listed in #122913: [META] perl 5.20.2

votesCommitTicketDescription
sprout, steveh4c627877a44535772b40aca390861295b62b1f6d122771[perl #122771] Fix assertion failure with -d and sort
stevehc1662923fd698c3467e36017e0b303046f173e13122771perldelta for 4c62787/#122771
sprout, steveh0d42e778cfa0ef9c7315b82e62a6c9fe0cb1cec5122995[perl #122995] Hang with while(1) in a sub-list
khw, sprout, steveh512e01ab009bc6309309e05891effe8ae3c0e9da123198PATCH: [perl #123198] Memory leak in regex in 5.20.1
steveh43275f00a97a14a80f9493c38895a5c77f0fc88a123198svleak.t: Add test for #123198
sprout, steveh2c1f00b9036a7987c714a407662651ef7da99495122747perl #122747: localize PL_curpm to null in _core_swash_init
steveh409c6472cedc6771a158a61dbbf8154d0246dc5b122747add test for rt122747
steveh13dd5671ecb824f71dfe100fbf3b7d5ee9170636122747perldelta for 2c1f00b/#122747
Do we need this sequence of commits too? See RT122747
b4fa55d3f12c6d98b13a8b3db4f8d921c8e56edc122747Gut Perl_save_re_context
d28a9254e445aee7212523d9a7ff62ae0a743fec122747Don't call save_re_context
1ca1baeff524e5f0398b23e9f8ba173cec7d497e122747Remove obsolete comment from utf8.c
1a419e6b1ae911c99a8ca065071290a8ba070856122747utf8.c: Move an #ifndef for clarity
e32ff4e1e2b9fb64a8d68add6913fc04e4b3152e122747pp_ctl.c: Remove PL_curcop assignment
0ddd4a5b1910c8bfa9b7e55eb0db60a115fe368c122747Mathomise save_re_context
2018906832b2c4787a4decced6a41a76c670d14c122747pp_ctl.c: Remove junk from #endif
cd94980729f7f861da34f8bc040253ca8d4d6d20122747perldelta for b4fa55d and 0ddd4a5
6d67525df38ae6b009f80748fc8ed0544c91d809122747perldelta: Insert missing =item
(Note: #123339 is a prerequisite for #40565)
steveh64c909d3055a7d5436012fab51eb1c046088140a123339fix segv for psudofork duping of SAVEt_GP_ALIASED_SV
steveh, sprout83a94553cbf9f2c11b3e9a63a44e7b9ce17ccb7740565[perl #40565] Fix localisation in pseudo-fork
steveh452466a503257b1012694b0d3a3cbf260e409d1840565perldelta for the prev. commit
sprout3bc8ec963e9657121e69386195faa61e46928dda123344Fix qr/@array(?{block})/
sproutd100ca43dce2c9a6bb636517e5595aa9e1e01e7e123344Fix assertion failure with qr/\Q(?{})/
arc, sprout, stevehbranch:sprout/maint-5.20-1230291230295.20.x regression in state under PERL_NO_COW
This contains cherry-picks of
c4a33ecd3009146ea545628e3014a22c637b6bb1[perl #123029]: add regression test
029988317d165cb2c0c7f73581bb70d358c56458state.t: Improve test for #123029
9f53080ae514a42899f88743c9a5113d4677e9f6sv.c: Always #define COW threshold constants
plus the maint-only change
d385684951d4e1197c32ad0f4371c5255766a34d[perl #123029] Don't steal PADSTALE buffers
which stands in place of cherry-picking the blead fix, c0683843e9299db25f354e2c8c90faa7614950d1.
We should also cherry-pick:
steveh857f4fb1c22a29afdfe39e929702476b8a82d7c5123029perldelta for #123029

Other Proposed Cherry-Picks

Blead changes have been examined up to and including 09f8a1025e8fc99cd5cd3e8fb446079c5725e43c (Remove comp/opsubs.t from deparse-skips.txt)

Proposed cherry-picks are grouped according to the types of change permitted by perlpolicy.pod.

(NOTE: The same document states that the following types of change are not acceptable:

The same criteria apply to code in dual-life modules as to core code.)

Crash Fixes

votesCommitTicketDescription
steveh18691622911f2e18df42a5a98ea4c42386f4e558Fix crash when lex subs are used for AUTOLOAD
steveh56117e3ef4ef2c7986c400f86f321f22f261571aFix crash when lex subs are used for overload
stevehdb5cc3ee5bdb14c8d59302b6c3ef8ff4bca660bbFix crash in leave_scope when my sub has CvGV
steveh9d8e4b9b32800eb499d83442ce8bbe6639773936Fix crash with lex subs under -d
steveh1699f5c257bc554753cc4ddf10c62ac8a5c338ffperldelta for f20d0df0f

Security Fixes

votesCommitTicketDescription
stevehdd369969a58d736f281ffebe36fc24ab45b29fa6122701Correct usage of memEQs in attributes.xs [perl #122701]
NOTff5314c5aa54b172122507017cac034acf1c4bf7(fix attributes memcmp without len less than 6 (asan catch)), which Andy Dougherty says on #122629 should be reverted in blead.
steveh19be3be6968e2337bcdfe480693fff795ecd1304don't recurse infinitely in Data::Dumper
stevehfa10264e34d420edf76a46139faa3277c0b96a2bData::Dumper version bump for CPAN release

Other Regression Fixes

votesCommitTicketDescription
steveha51d618a82a7057c3aabb600a7a8691d27f44a34122283rt 122283 - do not recurse into GOSUB/GOSTART when not SCF_DO_SUBSTR
stevehd9a72fccda5cacaccd2671769c010f3cda59ef8a122283Add tests for a51d618a fix of RT #122283
steveh74f9f9edcc88e2102b767ccefb4c4100eab199bd122283Another perldelta entry

a51d618a82a7057c3aabb600a7a8691d27f44a34 caused #122890 so do we need this sequence of commits too?

votesCommitTicketDescription
abd6de04dbc807cb1270d565e5019376c04c77fd122890regcomp.c: struct scan_frame: rename members for clarity
c9f0d54c3bad1139a1b0758ca0d999437ed93c95122890regcomp.c: reuse temporary debugging temp sv's
3f910e62fcf6ddef8eaffcfa6554e5ff7df08a08122890regcomp.c: eliminate memory leak from GOSUB/GOSTART regops
d615717366f1596d4a1b18ce2ca5a224dc076107122890regcomp.c: study_chunk(): whitespace fixup for legibility
e60d552100fc966cb2917d32cf2e708d20a6427f122890regcomp.c: study_chunk(): improve branch-branch comment
8b9781c905d8bc5e4fbf350df63e212283783324122890regcomp.c: Improve re debug output by showing buffer names if they exist
0a14d816d4f94b3847ccd7cea08086e2244d1e6e122890regcomp.c: Fixup debug output so it matches other messages in context
4420a417a2575a2656eb120d4b4048ac9dfbd46e122890dump.c: Add PERL_PV_PRETTY_EXACTSIZE option
fdfb4f2197409a1d793ee71f18be6e702a5461df122890regcomp.c: Improve advanced re debug output
64e04a51361b45dbbb94b038a93c7dc3cca0c7f9122890regcomp.c: study_chunk(): Reset the entire data struct, not just a bit of it.
32c35d38c96a76c6f8360ea6854ad3f3fb462725122890regcomp.c: Add comment.
4286711ac0be1bf8f37eadee54b2e9ebbb08e0d8122890regcomp.c: study_chunk(): Avoid unnecessary recursion.
92b05f28a98d1b7301afb8746d17237f1a669174122890Add test names to t/re/regexp.t and friends
890fbec8b209c41a5902022a654cbd782f601bb7122890t/re/re_tests: put comment in correct column
f6f22b1fc01b8676e43ef64616ed7899a84bfec2122890t/re/re_tests: Add test for perl #122890
efcc8bfdc124f50d33aab3f1d7722b5f9e4de349122890re_tests: More tests for #122890
stevehb6e093f25daabf3a19790f257fae436db4adf515122655PATCH: [perl #122655] 5.20 regression: 'X' !~ /[x]/i

Configure and hints/ Fixes

Would these break binary compatibility?

votesCommitTicketDescription
44b62df7ceb322e1e0484f45065025f0a709303cDarwin: if cc is explicitly gcc/g++, use it also as ld.
990a70b8c9866c888194f4c2c6d152d7911b3c34Darwin: set ld to 'cc' if $cc is 'cc' or empty, $cc otherwise.
54db7d57c29c9259228a6a4176caa32e391c6d0bUpstream a patch from pkgsrc for NetBSD hints
c4f300c9d46ec8ace48cff0477dd2866cfe10f79After Yosemite there's no /usr/include.
a4c2c75af551764534f9f8cb6afd4ef6ba514f45Change os390 custom cppstdin script to use fgrep.
stevehbranch:smoke-me/jhi/maint-5.20-necromanticIRIX and Tru64 fixes
This contains cherry-picks of
0b6ebfadd8d2cfccc07203e94d583721305fd779IRIX 6.5 (cc 7.4) needs -c99 to compile without whining.
1764d98bf44052060e2fe7cfa940d4ffc19f5961Irix: MIPSpro 7.4 compiler has broken memcmp.
5b96080c2232c4c22364c08f21c03d491dba7474Irix: the explicit fcntl.h is needed
0befe6f120ed237c1658f27caa9950f1e21ef40bTru64: _SOCKADDR_LEN is good.
ec015202b887bc1ede4b6538364b88eb80c4956dTru64: does have sa_len.
f62f716d325db54bb85abeeb80fa2b4466ff860bTru64: the socket API defines must come early.
fa2edc1a38517bf179bb9eefa2039264279c29dbTru64: Skip tests that for some reason grind Tru64 to a halt.
1d850a6a2204e3393ca4fda2edf9f4b515e06368IRIX: fsync documented to fail on read-only filehandles.
0efa6de71269185adc8155368e49d31c82e1e21cIRIX: OS mixup in 1d850a6a.
4a3798ca1499c2c3d033682ee16e8f203e0a88cbTrailing comma in enum is not C89.
c7b2fb96dcace6e3cbac79dfe4c82984e1f7fd3dTru64: the cluster filesystem is special.
and manual backports of:
572618de69892b6cdf7f9eacce39941a7d3d7ce5Document not to use test.pl here.
c32c3de1f087531defe6795e7997f2f5d532ba7dMove the VC6 "broken-nan" define from win32.h to perl.h.
bcd8bfa93f638d0b45800be6431b3bd9b54e1af6Tru64: NaN comparison quite broken.

Platform-Specific Build/Test/Installation Fixes

Documentation Fixes -------------------
votesCommitTicketDescription
steveh5b26a7b38f5eacab94ffc56c123c01ad6c3788dcsv.c: Silence VMS compiler warning
stevehe09e3cee34fbe40a471dc2fa31f2b8533598fb45regcomp.c: Silence Win32 compiler warning
steveheaff586aa6444fb20654ed863b7ff35e136737e8Fix t/op/taint.t on Windows
steveh648eb45f2e489e7cbdab09c65bccaac4a78ae3ee122609stat Makefile.PL to get values for utime.
stevehb6250659892d3195c5d3ecd04773e78dc0ccd564Avoid gcc warning.
steveh9fa5aa9143471cda101c2ac9e87f7bf90ccd0b36122820Fix distclean for pm_to_blib directly extensions.
steveha3baa5664f4da7f412812e0188d5ac3bab0b8694Improve Errno parsing of Win32 output
steveh1ef3f55063eff0bda07fa2251ec16a7807dfb602Tweak Errno parsing some more
steveh2d4a3ccef465111dae0e5e71cf008e97efeb057cErrno parsing: Don't match hex numbers in parts of function names
stevehcc192ed19bd1c52dd1711a900ce276043ce418aeErrno parsing: Skip expressions containing function names etc
steveh5884c88b2d4d412c81919fffcc0c487b49521793Bump $Errno::VERSION for previous commits
stevehb7ddc5bada637a1961bd44a02428c42f98955212A little help for clang++ in toke.c
stevehcd1dc8e2c73be346de250a16f103fb9a97814dd3122861sv.c: Suppress compiler warning
steveh1e02895ff34c407637067df12a1b06eb07a5a96at/io/eintr.t: Make this pass on my ppc64 box
stevehc7925a5e8559739ce765137cf6164c5872c63a96fix WinCE build
stevehdceaccf89041ac723759e83a3a31bedc8d82a38dmake -DNO_MATHOMS work on Win32
steveh3415f8b9fb121a138ed954f9ced0b2c1f4660e48120487[perl #120487] make sure we're using an unmodified @INC to load Win32
Part of this (but not the opcode part): To be included in an "Errata From Previous Releases": Not in any of the above categories, but would be nice anyway?:
votesCommitTicketDescription
rjbs, sprout, stevehf86d720ebb7ad53ce8b1c12cee66586eabffe0c8document the postderef feature in feature.pm
steveh422791e4eb03a12d17c98eb1787351280ae59789Make eval_pv documentation more precise
stevehd4a03217c39773dcacf83845e1f96a61136eb870perlfunc: Improve the pointer from elseif to elsif
steveheebea631754f8059d1a963e93b061efa2190e5e5perldiag: Add clarification.
steveh7fa2fdc07ed9697d677cb165e07b12495e856d59perlrecharclass: Use more common property synonym
steveh7ed0dd9307df05e569c8c3d5fdcf705995129a5fperldiag: reword and rewrap an entry
steveh444d4f5cfb8c0054331f6949177c65c0b333e7d5perlfunc: consistent spaces after dots
steveh272ce8bbdf90cc9c24e7425001986a6b681c6015Typo in pad.c apidocs
steveh9fe0b8bee6be1d888d69587491d50258a908e8d0todo: expand the list of OS access builtins to update
stevehabc0aa9d9625544dc299d6ca0d07dc9bd61cd947perldiag grammar
stevehf6cce60a032fd351c1c7a6961fd3bcb043b3a784122663add missing close paren in pod
steveh91e649137a555abe48d1527549d88a833b6226a0perlsec: Consistent spaces after dots
stevehc6c886efdb6df3d06613743e0e6780de4a145e66perlsec: Typo
steveh6fd9f6130d0c4ad34a2ddcf44d887097de5b2847perlsec: Another typo
steveh9a0afbbcb76a8ee786dfbbeff1930f173fefdbadFix documented return type for PAD_SV
stevehf3ba690558ce39a2cc7b8e8cf53bd510503c428eperldiag: Rewrap for better splain output
steveh12d22d1fe17e8471834a01cd417792ac5c022d62122661Semicolon before ellipsis inside block disambiguates.
stevehc43e874320ac47cebbfc6fdd4c881214d39128adAdd epigraph for 5.20.1
stevehb77865f5def4737f78822fa2cd0da2dbc4fc647bConsistent spaces after dots in perlsub
stevehf1126a906c58d54cb68626bd2e4c1d577d77796adocument how to graduate from experimental status
steveh2fbadc08f550cedfc8690b365310c2f6d81e960ddelete/exists on array elements is discouraged, not deprecated
stevehfc6933476282438a4b45150119b9be73dfa05b82perlop: Nits
stevehd74605e51c7bb408573e37869390459a5232b4c7perlop tweak
steveh845392291027b157a962eea4a4c2a97f67b995ceperlsyn: Remove reference to potential Unicode op
steveh8af56b9d4cb926792c8f72b634303126a5b1d860perldiag: Reunite 'perhaps you forgot to load'
steveh3cd61afa1bd59515cd57091c4a4af93a52fec327perllocale: Nit
steveh5654cc4ecbbe52f346fca1d568892a85c0a10040Update release announcement template
steveh84c122ba1d2b7b856521ceffc2a095716a739335Perl 5.21.4 today
steveh28c2c58fe259cabc1510ac5b4c5ead3a7c0321d2Add epigraph for 5.12.4
steveh7e234f81b6d7325dd91edae7737f9bd69a91fc73Consistent spaces after dots in perlapi
steveh46f8a5eafc5328639a1c6ff58ff2407a39b09c04Consistent spaces after dots in perlop
steveh522c63f2ecc9e36821528bb96cb98f39509068fbperlpolicy: clarify that bans related to RT as well as p5p
steveh69520e41a46ec3b965c16d2280719fe904dc844aperlmod and perlstyle improvements
steveh8eff31e6ddbcd94a1ff3d6489062907d5b84d9d9Add Ed J to AUTHORS
stevehfbff26bcac0ac41e44778278aca063f82c1d70e0Long verbatim lines in perlmodstyle
steveh369236063a992c09b5fd6efb6f0910bd1d5effcdConsistent spaces after dots in perlmodstyle
steveh5f9f8ddf9ebc952fad1c1747b597e0d1162feac8RMG - Note why it is that MAINT is version-bumped late rather than early
stevehdffcb1c02065e74cff64fd076677292796ee9845RMG - Even RCs these days generally get an epigraph
steveh282f36d45b3fd6109df025ed2228f0019b49c2e5RMG - Remove out-of-date instruction about epigraph link
steveh5e2d14fc932c50279eb04ac71b3d87d785d61420RMG - RCs are now listed in perlhist
steveh3617dbb697e46ddf316b2067f2ded656ad6a89f9Consistent spaces after dots in perldiag
stevehafdb3b14b41a9073ddecc2080ea6b46a16f31fc3perlexperiment: add signatures to experimental features
steveh2a2f23e4f8a50bdcdd10563dc5d933684cb70954122853Remarks specialness of [A-Z] and [a-z].
steveh8bbce0b10dd8ea0fad79a905746218306cf4fe17import latest epigraphs from maint-5.18
steveh086feb3e31adb54d781926d7d8df06c266c39faeperlhist: bring in 5.18.3 and 5.18.4 release dates
stevehb39691c2f7d54897113063413c374b78418a1684clarify use VERSION docs
steveh2a2626d8512fc09c6ef077095e4e075978a5c2dfConsistent spaces after dots in perlfunc
steveh8f5839a98a66edafefd2ffd3056e5e3fc64e1d27improve and reword README.win32
steveh1a83413c438a835495931877ff113ba7f7ef57ccperlapi: Clarify two entries
stevehd962e43687db045a52ba2406aafccd53e6af23ff122942remove trailing whitespace.
steveh82f82fdb58cb3bf9651ec1ba6904780eb1105021122938Remove trailing space from perlipc.pod.
steveheee3e3021df1a54fbbae497b1d1c817aa9f2fc29perlguts typo
steveh8bc5de207a4b3d333e9c6535bd21b8f0b1381270122938Modernized an example in perlipc.pod.
steveh586e992d6da290482e162f13db0dd3f4533b4cd6122996Update Perl 5 Porter list archives.
stevehb44599e0887245dbbe59018b78901326db7e230cperlvar: Note a deprecation
steveh94691c1944f5865db239971507a705046fa2ce71List files to modify.
steveh5bbd8f6148989e1b869c92ef5ec0dfee009597a4Use F for files, not L
stevehdbc8a3c9dcdb7b612305e7aad911da31d7d95bf5Added 5.21.5 release to perlhist
stevehb22c1b06a22800628b336f577cd4b6ed0eb4956eEpigraph for 5.21.5
steveh82ce0493f7a0b47a207f493f68ab035a48f2284bMore actions to take when bumping the version number.
stevehaae773bbd74e39596c3ed0ed403f36b245b6d687perlebcdic: Add clarification
stevehc981563317d1c97170a53c9a89a80456442ed201make it clear not to use git-send-email at all
steveh5df244132ec94f1e67bd70db61d4ea89bd824b00git format-patch -M option takes branch
steveheb9e3b14fd77e43b36846b86f8780d23fda50258recharclass: Corrections and nits
steveh9a63e366d1167a528e8df0d80c9d85c0830d63e9Consistent spaces after dots in perlapi.pod
steveh920aefcab1aef66ce585b8cc2f371ae5bfc9ee63123081Move the POD away from $a and $b.
steveh592708b4f2c747075fb01e3ad9276a2a9b338f27123081Move away from $a and $b for examples.
stevehdb69102781c2515ff4657c48b95696c5f5e3bb78123081$a,$b deprecation in perlop.pod.
steveh24fe90a14d91f512527a158a02ea19d502723856perlfunc: Mention map {;...} convention
steveh7eb3f2cf1bb02dbe7d9bf2f9fe40d45164eeaf2aImprove connected() doc
stevehd7adc1ec0500a4328cb0a521f0465954fa2325cbbump $IO::Socket::VERSION to 1.38
steveh577437f753b1e6471709f6b5fa50908fa9754178Glenn D. Golden is now a perl AUTHOR
stevehbab69578a8b6966781f8808f12d668db87fc7778perldelta for 7eb3f2cf1bb0
steveh90a44ae623db0999c98093c3bb234c1479755a2cperliol.pod: Correct flags type in _PerlIO struct
steveh663d437af9b7e1191e696b500650bce9e74fde08perllocale: Nits and clarifications
steveh2890cc8c9f56ed8f91a8a6134e7b2fb7beb23f38Trailing whitespace removed in perlport.pod
steveh86ceb7c6d74c3ecff8db4296861f8ededaa286a8perlfunc: Fix typo
steveh42c583b4b82b42bf02f26ea582ecfb3e94af8cc5123230Add word missing from docs for 'wait' function.
steveh11741df4ee8d4b20d3e30f7f1b613a8d1b891059Add epigraph for v5.21.6
steveh7eb19200f4ef00b9a61884cbb755b9621b9c701dUpdate perlhist for v5.21.6
steveh1b0fd1e8346658cb037cc394f0c428007124b916123271Storable: fixup pod wording
steveh2174049d55b865d9bed8adad15157d3061d5ae10Update release manager documents for producing .xz tarballs
stevehecafefb82337acf1046f535da14a6fc0293f70b5perlfunc: document immediate stricture effect of our
steveh5566fa1536b7e3ab06bf74ce785d42d16c663791122986Convert \ts to spaces in perlref.pod.
steveh0e3be540c5c5d8ec7d6c682091855e8865b99b51122987Remove trailing whitespace.
stevehe6ebbe921e63dbd445aa30e30a0b2b80574b88a0122987perlfork.pod: convert \ts to spaces.
steveh6ff8f256561a974b63b784ae8681c284ada44f7a122655perldelta: Entry for [perl #122655].
stevehf276fdad8f6660f36944c895587a7748585e4969Added -x option to makerel to produce .xz tarballs
Bugfix in Safe (Opcode) still needs backporting to maint-5.20: http://code.activestate.com/lists/perl5-porters/210398/ I will also cherry-pick Module-CoreList changes as necessary in the unholy business of sorting that out for 5.20.2.