Blog: http://blogs.perl.org/users/sawyer_x/2016/07/perl-5-porters-mailing-list-summary-july-13th-22nd.html Twitter: https://twitter.com/perl5summaries/status/756537178516234241
July 13th-22nd News and updates Perl 5.25.3 is now [1]available! Perl 5.24.1-RC1 is now [2]available! Perl 5.22.3-RC1 is now [3]available! This month Steve Hay is in charge of several releases: 5.22.3, 5.24.1, and 5.25.3. The first two requiring several Release Candidates each. Thanks, Steve! Over the past week and a half, Dan Collins kept reducing the number of open tickets by checking, verifying, and possibly rejecting or providing patches for some. This is wonderful work which allows us to prune and clean up the ticket queue and be able to focus on the greater issues. While he's at it, Dan also opened a bunch of new tickets. Big thanks to Dan for all the work. Father Chrysostomos handled various tickets that came up from bits of cleaning up. He submitted some patches to CPAN modules as well. Father Chrysostomos also merged a branch to allow escaping on right hand side of my. Effectively, this allows my \$x as the equivalent to \my $x, which allows you to write my \$x = \$y in conjunction with refaliasing. For some background on this, [4]this ([Perl #127531] permit \escape on right hand side of my) thread. Matthew Horsfall [5]suggests documenting [6]Devel::PPPort in core to resolve [7]Perl #54952 (Need place for "how to build old versions of perl on new platform versions"). If you are looking to do something simple in core, here's your chance! An [8]update from Unicode: Unicode Version 9.0 - Complete Text of the Core Specification Published. Dave Mitchell [9]fixed "blead fails to compile on Win32 with Bison 3". Grant reports Tony Cook provides his grant reports: [10]#13 (TONYC TPF Grant 7 report 13) and [11]#14 (TONYC TPF Grant 7 report 14). In total, over 36 hours spent and approximately 19 tickets were reviewed or worked on, and 4 patches were applied. Issues New issues * [12]Perl #128598: Quadmath builds fail porting/libperl.t. * [13]Perl #128618: commit "locale.c: Make locale collation predictions adaptive" causes gt op SIGFPE. * RT#128621 * [14]Perl #128622: Bleadperl v5.25.2-120-ga15a3d9 breaks MIROD/XML-DOM-XPath-0.14.tar.gz. * [15]Perl #128623: Bleadperl around v5.25.2-124-g370579b breaks GUGOD/Time-Verbal-1.0.0.tar.gz. * [16]Perl #128627: Quadmath builds fail on Cygwin in ext/POSIX. * [17]Perl #128629: locale.t on Win32 failing "Verify that strings with embedded NUL collate" and "Verify that strings with embedded NUL and extra trailing NUL collate". * [18]Perl #128630: commit 15899733e changes SKIP to FAIL on Win32 in op/sprintf\.t. * [19]Perl #128631: Win32 MinGW build failure. * [20]Perl #128634: Unexpected: Use of freed value in iteration at .... * [21]Perl #128637: Configure fails to find four ld functions on Cygwin because it doesn't want libm or libcygwin. * [22]Perl #128638: Windows test failure in re/reg_mesg. * [23]Perl #128639: Windows MinGW test failure in lib/warnings. * [24]Perl #128643: MinGW.org builds - infnan and pack test failures due to LD handling. * [25]Perl #128645: Windows MinGW test failure in lib/warnings with USE_64_BIT_INT. * [26]Perl #128647: Windows MinGW-w64 pointer-integer size mismatch in extensions. * [27]Perl #128649: refaliasing kills value on stack. * [28]Perl #128665: Cygwin: trunc(2.75) is broken somewhere on long double builds. * [29]Perl #128670: Out-of-date info on DEBUGGING in perlhacktips, perlrun. * [30]Perl #128673: modfl() is horribly broken in MinGW-W64 . * [31]Perl #128686: invlist_inline.h:40: S__invlist_len: Assertion fail. Dan Collins notes that [32]Perl #45265 (stacked declarators (my/our/state) shouldn't be legal) is now again working. Dan opened [33]Perl #128644 to collect portability issues directly relating to MinGW.org compilers. Dan also opened [34]Perl #128666 to collect problems with line number reporting. A. Sinan Unur [35]notes that testing [36]Config::General consumes a lot of memory, leading to out of memory error. Resolved issues * [37]Perl #7655: Misleading message in 5.7.2 Configure script. * [38]Perl #41121: Segmentation fault Running binmode(STDOUT, ":encoding(utf8)") with ithreads. * [39]Perl #46019: Documentation for srand has a problem in code snippet. * [40]Perl #50352: Perl 5.10 Storable extremely slow for large trees of data. * [41]Perl #62412: sqrt without EXPR and [42]Math::Complex always 0. * [43]Perl #63574: funny results from ~ on non-Latin-1 string. * [44]Perl #66852: Regexp very slow on UTF8 (over 100.000 times slower than without UTF8). * [45]Perl #67244: hex "e" misunderstood by [46]Math::BigRat. * [47]Perl #69208: readline setting $! on success contrary to perlfunc. * [48]Perl #70690: Multiple bugs in perlbug. * [49]Perl #85366: Win32 fork and encoding simultaneous usage error. * [50]Perl #127251: study documentation. * [51]Perl #127531: Permit \escape on right hand side of my. * [52]Perl #127921: Possible inconsistency in "perlop" documentation on precedence of || and //. * [53]Perl #128170: Assert fail in regcomp.c with no other symptoms: perl -e '/(?<=/'. * [54]Perl #128445: [55]Time::HiRes test failure on threaded darwin build. * [56]Perl #128524: [57]Data::Dumper gets string lengths wrong when the utf8 flag is set. * [58]Perl #128607: POD: sysseek. * [59]Perl #128618: Commit "locale.c: Make locale collation predictions adaptive" causes gt op SIGFPE. * [60]Perl #128630: Commit 15899733e changes SKIP to FAIL on Win32 in op/sprintf\.t. * [61]Perl #128669: Inconsistent parsing of parenthesized expressions involving masked outer variables with local/my. * [62]Perl #128678: Wish: 'hard assignment' operator. * [63]Perl #128685: Repeated installs broken in blead. * [64]Perl #128686: invlist_inline.h:40: S__invlist_len: Assertion fail. Rejected issues * [65]Perl #40234: Installation on Windows. * [66]Perl #42601: Inconsistent warning of redefined subroutines in [67]Exporter. * [68]Perl #56608: [69]Math::BigInt gives completely when [70]Math::BigInt::GMP is used. * [71]Perl #61288: Mixing threads and [72]Time::HiRes::ualarm() in perl5.10.0 on FreeBSD 7 segfaults. * [73]Perl #61964: sysopen (to create a lockfile) fails with inappropriate ioctl for device. * [74]Perl #128605: Make handles themselves remember whether to warn when closed. Proposed patches Dan Collins provided another patch for [75]Perl #128574 (Some tests call fresh_perl* incorrectly). Father Chrysostomos provided a [76]patch to [77]XML::DOM::XPath to support the change to disable ${^ENCODING}. [78]B::Hook::Parser and [79]Devel::Declare both have chunks of toke.c copied, which was changed, and subsequently broke them. A patch was provided by Father Chrysostomos at [80]Perl #128621 (Bleadperl v5.25.2-122-g3a69dad breaks ETHER/B-Hooks-Parser-0.16.tar.gz). Father Chrysostomos also provided a [81]patch for [82]Time::Verbal which fixes a breakage noted in [83]Perl #128623 (Bleadperl around v5.25.2-124-g370579b breaks GUGOD/Time-Verbal-1.0.0.tar.gz). Father Chrysostomos [84]provided a patch for [85]Perl #126041 (miniperl PP glob/Perl_start_glob() wipes all of %ENV and perlglob.exe proc can't start on VC 2005/WinXP). Achim Gratz provided a patch for [86]Perl #128358 (Cygwin: nm detects memmem, but headers don't expose it, leading to tests crashing). Karl Williamson provided patch for [87]Perl #128629 (locale.t on Win32 failing "Verify that strings with embedded NUL collate" and "Verify that strings with embedded NUL and extra trailing NUL collate"). Dan Collins provided a patch for [88]Perl #67424 (missing / incorrect overflow check when indexing arrays), currently being discussed with Zefram and Tony Cook. Tony Cook provided a patch for [89]Perl #128685 (Repeated installs broken in blead). Discussion There is a conversation going on around [90]Perl #128438 ([Win32] 5.25.2 fails to build in ListUtil.xs) and the possible solutions to it. Various functions in embed.fnc are marked with an a flag, which is used by GCC to optimize. However, as Dave Mitchell [91]notes ('a' (malloc) flag in embed.fnc misused?), we're probably misusing the flag on some functions because they might return pointers to allocated memory which might then contain pointers in turn - a situation to which the flag does not apply. Dave would like to clean up the flagging. There is an interesting [92]discussion around [93]Perl #128598: (Quadmath builds fail porting/libperl.t), regarding a conflict between optimized code and a test of an unsafe function. Will the optimizer keep using a safe version of an unsafe function? Should we make sure we allow a level of optimizer to optimize this? Should we just avoid the function to avoid thinking of whether it will be optimized correctly? Dave Mitchell [94]asks (64-bit array subscript warning test failing) whether we should skip a test on platforms where the sizeof result of SSize_t type is smaller than the size of IV. Father Chrysostomos introduces a commit that skips it. In a [95]thread I had a hard time following, Father Chrysostomos and Zefram discuss how to handle a stack-not-refcounted behavior. It touches on how difficult compatibility can be. Father Chrysostomos [96]comments on a branch Dave Mitchell is working on, suggesting a different naming convention for the ops. Vincent Pit took a [97]stab (Re: Confused by eval behavior) at solving at a breakage a commit (which is temporarily reverted) introduced in [98]Variable::Magic. So far no success. Dan Collins [99]asks (Broken library functions, especially on windows) about a situation with failures due to broken math functions in MinGW, asking how to solve this. Autovivification [100]rises (Hash key creation for non-lvalue use) again in discussions as confusing behavior. References 1. http://www.nntp.perl.org/group/perl.perl5.porters/238158 2. http://www.nntp.perl.org/group/perl.perl5.porters/238072 3. http://www.nntp.perl.org/group/perl.perl5.porters/238071 4. http://www.nntp.perl.org/group/perl.perl5.porters/234342 5. http://www.nntp.perl.org/group/perl.perl5.porters/238096 6. http://metacpan.org/pod/Devel::PPPort 7. http://rt.perl.org/Ticket/Display.html?id=54952 8. http://www.nntp.perl.org/group/perl.perl5.porters/238140 9. http://www.nntp.perl.org/group/perl.perl5.porters/238044 10. http://www.nntp.perl.org/group/perl.perl5.porters/238215 11. http://www.nntp.perl.org/group/perl.perl5.porters/238216 12. http://rt.perl.org/Ticket/Display.html?id=128598 13. http://rt.perl.org/Ticket/Display.html?id=128618 14. http://rt.perl.org/Ticket/Display.html?id=128622 15. http://rt.perl.org/Ticket/Display.html?id=128623 16. http://rt.perl.org/Ticket/Display.html?id=128627 17. http://rt.perl.org/Ticket/Display.html?id=128629 18. http://rt.perl.org/Ticket/Display.html?id=128630 19. http://rt.perl.org/Ticket/Display.html?id=128631 20. http://rt.perl.org/Ticket/Display.html?id=128634 21. http://rt.perl.org/Ticket/Display.html?id=128637 22. http://rt.perl.org/Ticket/Display.html?id=128638 23. http://rt.perl.org/Ticket/Display.html?id=128639 24. http://rt.perl.org/Ticket/Display.html?id=128643 25. http://rt.perl.org/Ticket/Display.html?id=128645 26. http://rt.perl.org/Ticket/Display.html?id=128647 27. http://rt.perl.org/Ticket/Display.html?id=128649 28. http://rt.perl.org/Ticket/Display.html?id=128665 29. http://rt.perl.org/Ticket/Display.html?id=128670 30. http://rt.perl.org/Ticket/Display.html?id=128673 31. http://rt.perl.org/Ticket/Display.html?id=128686 32. http://rt.perl.org/Ticket/Display.html?id=45265 33. http://rt.perl.org/Ticket/Display.html?id=128644 34. http://rt.perl.org/Ticket/Display.html?id=128666 35. http://www.nntp.perl.org/group/perl.perl5.porters/238150 36. http://metacpan.org/pod/Config::General 37. http://rt.perl.org/Ticket/Display.html?id=7655 38. http://rt.perl.org/Ticket/Display.html?id=41121 39. http://rt.perl.org/Ticket/Display.html?id=46019 40. http://rt.perl.org/Ticket/Display.html?id=50352 41. http://rt.perl.org/Ticket/Display.html?id=62412 42. http://metacpan.org/pod/Math::Complex 43. http://rt.perl.org/Ticket/Display.html?id=63574 44. http://rt.perl.org/Ticket/Display.html?id=66852 45. http://rt.perl.org/Ticket/Display.html?id=67244 46. http://metacpan.org/pod/Math::BigRat 47. http://rt.perl.org/Ticket/Display.html?id=69208 48. http://rt.perl.org/Ticket/Display.html?id=70690 49. http://rt.perl.org/Ticket/Display.html?id=85366 50. http://rt.perl.org/Ticket/Display.html?id=127251 51. http://rt.perl.org/Ticket/Display.html?id=127531 52. http://rt.perl.org/Ticket/Display.html?id=127921 53. http://rt.perl.org/Ticket/Display.html?id=128170 54. http://rt.perl.org/Ticket/Display.html?id=128445 55. http://metacpan.org/pod/Time::HiRes 56. http://rt.perl.org/Ticket/Display.html?id=128524 57. http://metacpan.org/pod/Data::Dumper 58. http://rt.perl.org/Ticket/Display.html?id=128607 59. http://rt.perl.org/Ticket/Display.html?id=128618 60. http://rt.perl.org/Ticket/Display.html?id=128630 61. http://rt.perl.org/Ticket/Display.html?id=128669 62. http://rt.perl.org/Ticket/Display.html?id=128678 63. http://rt.perl.org/Ticket/Display.html?id=128685 64. http://rt.perl.org/Ticket/Display.html?id=128686 65. http://rt.perl.org/Ticket/Display.html?id=40234 66. http://rt.perl.org/Ticket/Display.html?id=42601 67. http://metacpan.org/pod/Exporter 68. http://rt.perl.org/Ticket/Display.html?id=56608 69. http://metacpan.org/pod/Math::BigInt 70. http://metacpan.org/pod/Math::BigInt::GMP 71. http://rt.perl.org/Ticket/Display.html?id=61288 72. http://metacpan.org/pod/Time::HiRes 73. http://rt.perl.org/Ticket/Display.html?id=61964 74. http://rt.perl.org/Ticket/Display.html?id=128605 75. http://rt.perl.org/Ticket/Display.html?id=128574 76. https://rt.cpan.org/Ticket/Display.html?id=115098 77. http://metacpan.org/pod/XML::DOM::XPath 78. http://metacpan.org/pod/B::Hook::Parser 79. http://metacpan.org/pod/Devel::Declare 80. http://rt.perl.org/Ticket/Display.html?id=128621 81. https://rt.cpan.org/Ticket/Display.html?id=116192 82. http://metacpan.org/pod/Time::Verbal 83. http://rt.perl.org/Ticket/Display.html?id=128623 84. http://www.nntp.perl.org/group/perl.perl5.porters/238073 85. http://rt.perl.org/Ticket/Display.html?id=126041 86. http://rt.perl.org/Ticket/Display.html?id=128358 87. http://rt.perl.org/Ticket/Display.html?id=128629 88. http://rt.perl.org/Ticket/Display.html?id=67424 89. http://rt.perl.org/Ticket/Display.html?id=128685 90. http://rt.perl.org/Ticket/Display.html?id=128438 91. http://www.nntp.perl.org/group/perl.perl5.porters/237910 92. http://www.nntp.perl.org/group/perl.perl5.porters/237806 93. http://rt.perl.org/Ticket/Display.html?id=128598 94. http://www.nntp.perl.org/group/perl.perl5.porters/238059 95. http://www.nntp.perl.org/group/perl.perl5.porters/237964 96. http://www.nntp.perl.org/group/perl.perl5.porters/238060 97. http://www.nntp.perl.org/group/perl.perl5.porters/238106 98. http://metacpan.org/pod/Variable::Magic 99. http://www.nntp.perl.org/group/perl.perl5.porters/238139 100. http://www.nntp.perl.org/group/perl.perl5.porters/238189