Blog: http://blogs.perl.org/users/sawyer_x/2016/01/perl-5-porters-mailing-list-summary-december-28th---january-3rd.html Twitter: https://twitter.com/perl5summaries/status/686602777108299776
January 4th-10th Corrections Last week's summary accidentally noted discouraging the use of *glob{FORMAT]. It was actually the use of *glob{FILEHANDLE}. Thanks to H.Merijn Brand for the correction and my apology for the mistake. News and updates The biggest news of the week were the reworked context stack system Dave Mitchell had been working on. Read more under Discussion. Tony Cook provided the [1]8th and [2]9th reports of his sixth running grant. Over 34 hours in total with 22 tickets reviewed or worked on, and 4 patches applied. Tony also provides a more detailed [3]report of his grant work - a great read. Dave Mitchell provided [4]more [5]reports on his grant work. Karl Williamson [6]updates the list on feedback request from the Unicode Technical Committee on pending additions to the draft repertoire of characters. Karl Williamson [7]applied his proposed text for [8]utf8. Karl Williamson [9]provides details on the tailored implementation of qr/\b{wb}/, now committed. Karen Etheridge updated [10]podlators in blead to 4.04. The release of [11]podlators 4.04 accidentally changed the generation of the scripts shebang line on Windows. Craig A. Berry noticed, notified Russ Allbery, and Russ will revert those changes. Ricardo Signes will [12]delete all RC versions of perl from his CPAN directory. They will remain available on the BACKPAN mirrors. Bugs Reported bugs * [13]Perl #127149: A local PerlIO::encoding::fallback setting + encoding causes an infinite loop. * [14]Perl #127189: [15]B::Deparse doesn't emit /n regex flag. * [16]Perl #127182: One digit short to correctly stringify a double * [17]Perl #127183: Non-canonical hexadecimal floats are parsed prematurely. * [18]Perl #127231: Bleadperl breaks [19]App::JobLog. * [20]Perl #127212: ABI incompatibilities with -DDEBUGGING vs. without, caused by memory_debug_header. * [21]Perl #127232: Segmentation fault with [22]Storable. Resolved bugs * [23]Perl #126845: Perl_newATTRSUB_x: Assertion block failed. * [24]Perl #127131: In Configure: libswanted=nm suddenly harmful. * [25]Perl #126847: Use the new fdclose(3) function in FreeBSD. * [26]Perl #127080: Perldoc for waitpid missing description for argument value -1. * [27]Perl #126877: Improve build performance on Win32 substantially by using a real getcwd. * [28]Perl #126042: Segmentation fault in Perl_pp_multiply (and other functions). * [29]Perl #126922: crypt uses uninit/unalloced/freed memory as salt. * [30]Perl #127189: [31]B::Deparse doesn't emit /n regex flag. * [32]Perl #126240: Panic happening after freeing the env after a fork. * [33]Perl #126633: Bleadperl breaks [34]ddb. * [35]Perl #123737: S_no_op assertion failure. * [36]Perl #123788: Unloading [37]Mouse class crashes Perl on 32-bit MSWin32. * [38]Perl #126862: XS [39]File::Spec's canonpath loses taint. (CVE-2015-8607) * [40]Perl #126755: OOB access in [41]VDir::MapPathW (Win32-specific). (CVE-2015-8608) Proposed patches Tony Cook provided a patch in [42]Perl #127063 for a warning generated by setting $[ to zero. Tony also provided a patch in [43]Perl #127122 for making sure unless ( $a = 2 ) issues a warning just like if ($a = 2) does. Yet another patch from Tony in [44]Perl #126991 for integer overflow in line number tracking reported by caller(). Tony tried a different approach (with a suggestion from Karl Williamson) to handle a VC 2003 crash in [45]Perl #126045. Douglas Bell provided a Github [46]Pull Request for [47]Perl #127028. Tom Hukins provided a (now merged) patch in [48]Perl #127229 for fixing module paths in INSTALL. Niko Tyni provided a patch in [49]Perl #127234 to fix a Configure escape when usecrosscompile is used but there is no targethost. Discussion Dave Mitchell has [50]reworked the context stack system to allow some subroutines to be much faster now. It breaks several CPAN modules (notably [51]Scope::Upper) but there seems to be possible fixes in place. Tony Cook writes in [52]Perl #127054 (Bleadperl breaking [53]Test::MemoryGrowth) that he is seeing inconsistent behavior if the test is run using perl or using make test and adds some details on how he ran checks and what he found. Tony was not able to find the cause yet. Dan Kogai discovered an interesting problem (and opened [54]Perl #127182) with having one digit short to correctly stringify a double. Dan then provided outputs from several languages, showing which also get it wrong (Rakudo Perl 6, PHP 5, Python 2, and Swift) and which get it right (Go, Haskell, Node.js, Python 3, and Ruby). Craig A. Berry added that changing it to 18 fixes a loss of precision he had on FreeBSD, and Zefram linked this issue to [55]Perl #41202. Karl Williamson [56]suggested not generating EBCDIC non-1047 tables, since there seems to be no user of those. This will save time when regenerating and the Perl distribution size will decrease. Ze'ev Atlas (maintainer of PCRE for z/OS) provides different experience. Steve Hay [57]tried to update [58]Pod::Checker, but since it is now derived from [59]Pod::Simple instead of [60]Pod::Parser, there is a failing test that requires additional work. Karl Williamson added that he will work on the changes necessary when time permits, as it is not urgent for Perl 5.24. Bulk88 [61]emailed the list about an idea he has for a new threaded memory allocator for Win32 perl. An [62]email was sent asking about a "secure" version of perl, without any FS access. Ricardo Signes [63]asks for help on making the release of [64]PathTools simpler, since it carries its own ppport.h file. References 1. http://www.nntp.perl.org/group/perl.perl5.porters/233644 2. http://www.nntp.perl.org/group/perl.perl5.porters/233653 3. http://www.nntp.perl.org/group/perl.perl5.porters/233687 4. http://www.nntp.perl.org/group/perl.perl5.porters/233674 5. http://www.nntp.perl.org/group/perl.perl5.porters/233675 6. http://www.nntp.perl.org/group/perl.perl5.porters/233649 7. http://www.nntp.perl.org/group/perl.perl5.porters/233684 8. https://metacpan.org/pod/utf8 9. http://www.nntp.perl.org/group/perl.perl5.porters/233699 10. https://metacpan.org/release/podlators 11. https://metacpan.org/release/podlators 12. http://www.nntp.perl.org/group/perl.perl5.porters/233715 13. https://rt.perl.org/Ticket/Display.html?id=127149 14. https://rt.perl.org/Ticket/Display.html?id=127189 15. https://metacpan.org/pod/B::Deparse 16. https://rt.perl.org/Ticket/Display.html?id=127182 17. https://rt.perl.org/Ticket/Display.html?id=127183 18. https://rt.perl.org/Ticket/Display.html?id=127231 19. https://metacpan.org/pod/App::JobLog 20. https://rt.perl.org/Ticket/Display.html?id=127212 21. https://rt.perl.org/Ticket/Display.html?id=127232 22. https://metacpan.org/pod/Storable 23. https://rt.perl.org/Ticket/Display.html?id=126845 24. https://rt.perl.org/Ticket/Display.html?id=127131 25. https://rt.perl.org/Ticket/Display.html?id=126847 26. https://rt.perl.org/Ticket/Display.html?id=127080 27. https://rt.perl.org/Ticket/Display.html?id=126877 28. https://rt.perl.org/Ticket/Display.html?id=126042 29. https://rt.perl.org/Ticket/Display.html?id=126922 30. https://rt.perl.org/Ticket/Display.html?id=127189 31. https://metacpan.org/pod/B::Deparse 32. https://rt.perl.org/Ticket/Display.html?id=126240 33. https://rt.perl.org/Ticket/Display.html?id=126633 34. https://metacpan.org/pod/ddb 35. https://rt.perl.org/Ticket/Display.html?id=123737 36. https://rt.perl.org/Ticket/Display.html?id=123788 37. https://metacpan.org/pod/Mouse 38. https://rt.perl.org/Ticket/Display.html?id=126862 39. https://metacpan.org/pod/File::Spec 40. https://rt.perl.org/Ticket/Display.html?id=126755 41. https://metacpan.org/source/SHAY/perl-5.22.1/win32/vdir.h#L609 42. https://rt.perl.org/Ticket/Display.html?id=127063 43. https://rt.perl.org/Ticket/Display.html?id=127122 44. https://rt.perl.org/Ticket/Display.html?id=126991 45. https://rt.perl.org/Ticket/Display.html?id=126045 46. https://github.com/mrallen1/Pod-Perldoc/pull/22 47. https://rt.perl.org/Ticket/Display.html?id=127028 48. https://rt.perl.org/Ticket/Display.html?id=127229 49. https://rt.perl.org/Ticket/Display.html?id=127234 50. http://www.nntp.perl.org/group/perl.perl5.porters/233631 51. https://metacpan.org/pod/Scope::Upper 52. https://rt.perl.org/Ticket/Display.html?id=127054 53. https://metacpan.org/pod/Test::MemoryGrowth 54. https://rt.perl.org/Ticket/Display.html?id=127182 55. https://rt.perl.org/Ticket/Display.html?id=41202 56. http://www.nntp.perl.org/group/perl.perl5.porters/233663 57. http://www.nntp.perl.org/group/perl.perl5.porters/233695 58. https://metacpan.org/pod/Pod::Checker 59. https://metacpan.org/pod/Pod::Simple 60. https://metacpan.org/pod/Pod::Parser 61. http://www.nntp.perl.org/group/perl.perl5.porters/233685 62. http://www.nntp.perl.org/group/perl.perl5.porters/233726 63. http://www.nntp.perl.org/group/perl.perl5.porters/233737 64. https://metacpan.org/release/PathTools