It's been a while... Blog: http://blogs.perl.org/users/sawyer_x/2018/01/perl-5-porters-mailing-list-summary-december-11th---january-1st.html Twitter: https://twitter.com/perl5summaries/status/948157119932530689
December 11th - January 1st Happy holidays! News and Updates Perl 5.27.7 is [1]released! The new smart match broke a considerable amount of CPAN modules and will therefore be reverted. Andreas Koenig [2]provided a patch to update [3]CPAN.pm to 2.20-TRIAL. Dave Mitchell [4]suggested making PERL_OP_PARENT compulsory in 5.28.0. This has since been done. Karl Williamson [5]provided a new version of his implementation of script runs. Is it time to declare string- and number-specific bitwise ops fully stable and enable it in use v5.28? Check [6]Perl #123707. Pip Cet [7]provided an explanation of how he uses the SpiderMonkey GC to find memory leaks in Perl. [8]podlators 4.10 is [9]out. Grant Reports * Dave Mitchell TPF Grant 10 [10]report 2. * Dave Mitchell TPF Grant 10 [11]report 3. * Zefram TPF Grant 2017 Week 50 [12]report. * Zefram TPF Grant 2017 Week 51 [13]report. * Zefram TPF Grant 2017 Week 52 [14]report. * Zefram TPF Grant 2017 December [15]report. Issues New Issues * [16]Perl #131990: Heap-buffer-over-flow in [17]Storable::retrieve that could lead to RCE. * [18]Perl #131999: Heap-buffer-over-flow in Storable.xs: retrieve_hook that could lead to RCE. * [19]Perl #132544: heap-buffer-overflow in Perl_pp_reverse. * [20]Perl #132545: Double macro argument evaluation in S_init_main_stash. * [21]Perl #132560: perl-5.24.3, wrong Configure test for IPC_STAT. * [22]Perl #132561: miniperl segfault on blead (duplocale / S_my_nl_langinfo). * [23]Perl #132576: deprecate h2ph. * [24]Perl #132577: BBC [25]Module::Install broken by 0301e899536a22752f40481d8a1d141b7a7dda82. * [26]Perl #132578: BBC [27]List::MoreUtils::XS broken by 16ada235c332e017667585e1a5a00ce43a31c529. * [28]Perl #132579: bogus "at EOF" in syntax error location. * [29]Perl #132583: Assertion failure in perl_yylex. * [30]Perl #132584: in-place sort retains blessedness. * [31]Perl #132586: in-place sort retains tiedness. * [32]Perl #132588: In-place sort does not kill weak refs. * [33]Perl #132589: experimental bitwise feature breaks PDL's & operator. * [34]Perl #132590: in-place sort retains readonlyness. * [35]Perl #132594: BBC smartmatch da4e040f42421764ef069371d77c008e6b801f45. * [36]Perl #132595: multiconcat reading and fetching wrong order. * [37]Perl #132598: index() confused by tie side effects. * [38]Perl #132607: Chained comparison. * [39]Perl #132628: Feature: get "name" of lvalue expression. * [40]Perl #132630: Assertion failure in Perl_fbm_instr. * [41]Perl #132631: keys %SIG contains SIGUNUSED. * [42]Perl #132633: [Win32] 5.27.7 fails all tests. * [43]Perl #132626: perl5 sprintf: wrong output on format %a. * [44]Perl #132634: Strange bug in the new given/whereis/whereso construct (perl-5.27.7). * [45]Perl #132638: I've discovered a segfault. * [46]Perl #132644: The each function documentation is missing some information. * [47]Perl #132645: Array names starting with Inf can be poorly behaved. * [48]Perl #132646: Bleadperl v5.27.6-120-gbcc30fd027 breaks GARU/Data-Printer-0.40.tar.gz. * [49]Perl #132647: $1 not localized when calling sub. * [50]Perl #132648: [51]Cwd: different return values between pure perl and XS variants. * [52]Perl #132649: Definition of % operator may be wrong for negative divisors. * [53]Perl #132651: commit d2e38af7 exhausts swap space on FreeBSD. * [54]Perl #132653: Step-by-step debugging do not work for if elsif elsif. * [55]Perl #132663: t/io/fs.t failures on NetBSD with noatime mounts. * [56]Perl #132665: Always use STOP_AT_PARTIAL in [57]PerlIO::encoding. * [58]Perl #132671: Bleadperl v5.27.6-206-g16ada235c3 breaks JGAMBLE/Algorithm-QuineMcCluskey-0.16.tar.gz. Resolved Issues * [59]Perl #4574: readpipe() broken: 2 bugs. * [60]Perl #6997: "Useless use of concatenation" warning not triggered by multiple concatenations. * [61]Perl #74764: -E given( goto f ) { f: } => crash. * [62]Perl #90888: Using each @array as while iterator exits on first (0th) index. * [63]Perl #92264: Freeing $a or $b during sort causes a double free. * [64]Perl #104116: dump.c cannot dump Unicode stash names. * [65]Perl #105930: eval 'UNITCHECK{die} crashes inside FETCH. * [66]Perl #110056: installhtml uses absolute paths in links. * [67]Perl #110520: pod2html 1.12 & 1.13 broken. * [68]Perl #112104: die($object) in thread reblesses $object into main and breaks stringification. * [69]Perl #112732: Subs ending in { @a } return list, not hashref; can Perl defend against this trap? * [70]Perl #113090: [71]Data::Dumper -- undef not recognized as "false" in config booleans. * [72]Perl #114316: --splithead option to installhtml fails to clean up after itself. * [73]Perl #114318: --splithead option to installhtml creates incorrect links. * [74]Perl #114798: Configure: add support of qemu. * [75]Perl #115252: Inconsistent treatment of nulls and newlines in .... * [76]Perl #115754: sub refs returned from @INC hooks receive wrong parameters. * [77]Perl #116080: Doc issues for system, exec, qx. * [78]Perl #117449: GDBM tied hash weirdness; deletion ends each loop. * [79]Perl #119367: Another 32-bit residual in 64-bit perl 5.18. * [80]Perl #119623: GDBM_FILE: gdbm_open requires a blocksize to be a power of two. * [81]Perl #120982: [82]IO::Select->select() returns empty list even if there were no errors. * [83]Perl #121105: During a system(), unquoted Perl vars are evaluated after the fork() call. * [84]Perl #121372: warn broken when operand is overloaded. * [85]Perl #121761: Update [86]perlobj because DESTROY no longer clobbers $@. * [87]Perl #122670: [88]Module::CoreList version problems. * [89]Perl #122753: Docs on destructors are inaccurate. * [90]Perl #123707: [EXPERIMENT] String- and number-specific bitwise ops. * [91]Perl #126085: Not expected arguments for $SIG{__WARN__} handler. * [92]Perl #128316: CORE::socket() mangles EMFILE and turns it into EBADF. * [93]Perl #128765: Custom warnings categories are disabled by any preceding no warnings 'category'. * [94]Perl #129888: null ptr deref, segfault in Perl_do_aexec5. * [95]Perl #130550: Out of bounds read when calling perl from C. * [96]Perl #130726: semicolons on *_DIAG_{IGNORE,RESTORE}. * [97]Perl #130818: [PATCH] Remove EPOC and MacOS Classic support from PathTools. * [98]Perl #130851: [PATCH] socket SOCK_CLOEXEC. * [99]Perl #131296: Combination of File::Spec->catdir() and do FILE problematic. * [100]Perl #131312: [101]CPAN.pm still buggy in RC1. * [102]Perl #131518: [PATCH] -mpragma (eg strict) fail silent blindsiding. * [103]Perl #131664: Interpolation of @{^CAPTURE} and its friends doesn't work. * [104]Perl #132247: [105]XSLoader and [106]DynaLoader documentation bugs. * [107]Perl #132468: warnings.pm provides no way to specify the call frame. * [108]Perl #132481: Minor doc bug in pod/perlop.pod. * [109]Perl #132544: heap-buffer-overflow in Perl_pp_reverse. * [110]Perl #132545: Double macro argument evaluation in S_init_main_stash. * [111]Perl #132626: perl5 sprintf: wrong output on format %a. * [112]Perl #132633: [Win32] 5.27.7 fails all tests. * [113]Perl #132634: Strange bug in the new given/whereis/whereso construct (perl-5.27.7). * [114]Perl #132644: The each function documentation is missing some information. * [115]Perl #132645: Array names starting with Inf can be poorly behaved. * [116]Perl #132646: Bleadperl v5.27.6-120-gbcc30fd027 breaks GARU/Data-Printer-0.40.tar.gz. * [117]Perl #132648: [118]Cwd: different return values between pure perl and XS variants. * [119]Perl #132651: commit d2e38af7 exhausts swap space on FreeBSD. Rejected Issues * [120]Perl #77510: when() as a statement modifier outside a topicalizer both works and fails. * [121]Perl #77690: warnings::enabled, ::warnif etc. provide no way to specify the number of call frames. * [122]Perl #77974: [PATCH] Record method calls in the context stack. * [123]Perl #90134: s2p doesn't understand sed anymore. * [124]Perl #90240: keys(@array) gives too many indices. * [125]Perl #96538: Closures returned from threads don't wrap around the right lexicals. * [126]Perl #105278: Add warning for exists($a[0]) and delete($a[0]). * [127]Perl #109204: UTF-8 bug in [128]Test::More and/or [129]Test::Builder. * [130]Perl #113898: File::Spec::Unix->catfile("./a") ne File::Spec::Unix->catfile(".", "a"). * [131]Perl #114786: EXISTS and SCALAR return values are treated differently. * [132]Perl #115834: Successfull match $_[0] =~ /foo(.+)/ overrides $_[0] if function called as foo($1). * [133]Perl #116020: toggle operator missing reset: proposal. * [134]Perl #119127: RFE: file handle duping in the Bourne shell tradition. * [135]Perl #119315: [EXPERIMENT] the lexical topic, my $_. * [136]Perl #119863: bug in [137]Math::BigInt with undef. * [138]Perl #121023: CPAN misinterprets 404 status as 407. * [139]Perl #121646: while each %$ref clobbers @_ in some circumstances. * [140]Perl #122905: pod2html crash on Linux. * [141]Perl #123292: hash dereference of undefined value. * [142]Perl #123698: 5.20 threaded regression: boolean.pm -truth option breaks string literals in closures. * [143]Perl #123881: compiler warnings when building perl 5.20.1 with glibc 2.20/gcc 4.9.1 (Hardened Gentoo). * [144]Perl #127640: RFE: qqw( $var/x $var/y word3 $var4=word4 ). * [145]Perl #128349: [146]Benchmark module doesn't use documented format for times. * [147]Perl #130038: Builtin variable for loop index in foreach. * [148]Perl #130818: [PATCH] Remove EPOC and MacOS Classic support from PathTools. Suggested Patches Marco Fontani provided another patch (which was merged) to resolve [149]Perl #116080 (Doc issues for system, exec, qx). Karl Williamson [150]wonders (regrepeat()) whether we should introduce an optimization for repeating characters on a pattern like (foo)+. Discussions Leon [151]raised the need for a language design process. Zefram [152]raised (smartmatch/switch deprecation for 5.28) the topic of smart match again with regards to what to deprecate in smart match. Karl Williamson [153]suggested two deprecations: literal \v in patterns except under /x and /[#]/xx. References 1. http://nntp.perl.org/group/perl.perl5.porters/248274 2. http://nntp.perl.org/group/perl.perl5.porters/247938 3. http://metacpan.org/pod/CPAN 4. http://nntp.perl.org/group/perl.perl5.porters/248072 5. http://nntp.perl.org/group/perl.perl5.porters/248095 6. http://rt.perl.org/Ticket/Display.html?id=123707 7. http://nntp.perl.org/group/perl.perl5.porters/247925 8. https://metacpan.org/release/podlators 9. http://nntp.perl.org/group/perl.perl5.porters/248401 10. http://nntp.perl.org/group/perl.perl5.porters/248042 11. http://nntp.perl.org/group/perl.perl5.porters/248045 12. http://nntp.perl.org/group/perl.perl5.porters/248167 13. http://nntp.perl.org/group/perl.perl5.porters/248383 14. http://nntp.perl.org/group/perl.perl5.porters/248579 15. http://nntp.perl.org/group/perl.perl5.porters/248580 16. http://rt.perl.org/Ticket/Display.html?id=131990 17. http://metacpan.org/pod/Storable 18. http://rt.perl.org/Ticket/Display.html?id=131999 19. http://rt.perl.org/Ticket/Display.html?id=132544 20. http://rt.perl.org/Ticket/Display.html?id=132545 21. http://rt.perl.org/Ticket/Display.html?id=132560 22. http://rt.perl.org/Ticket/Display.html?id=132561 23. http://rt.perl.org/Ticket/Display.html?id=132576 24. http://rt.perl.org/Ticket/Display.html?id=132577 25. http://metacpan.org/pod/Module::Install 26. http://rt.perl.org/Ticket/Display.html?id=132578 27. http://metacpan.org/pod/List::MoreUtils::XS 28. http://rt.perl.org/Ticket/Display.html?id=132579 29. http://rt.perl.org/Ticket/Display.html?id=132583 30. http://rt.perl.org/Ticket/Display.html?id=132584 31. http://rt.perl.org/Ticket/Display.html?id=132586 32. http://rt.perl.org/Ticket/Display.html?id=132588 33. http://rt.perl.org/Ticket/Display.html?id=132589 34. http://rt.perl.org/Ticket/Display.html?id=132590 35. http://rt.perl.org/Ticket/Display.html?id=132594 36. http://rt.perl.org/Ticket/Display.html?id=132595 37. http://rt.perl.org/Ticket/Display.html?id=132598 38. http://rt.perl.org/Ticket/Display.html?id=132607 39. http://rt.perl.org/Ticket/Display.html?id=132628 40. http://rt.perl.org/Ticket/Display.html?id=132630 41. http://rt.perl.org/Ticket/Display.html?id=132631 42. http://rt.perl.org/Ticket/Display.html?id=132633 43. http://rt.perl.org/Ticket/Display.html?id=132626 44. http://rt.perl.org/Ticket/Display.html?id=132634 45. http://rt.perl.org/Ticket/Display.html?id=132638 46. http://rt.perl.org/Ticket/Display.html?id=132644 47. http://rt.perl.org/Ticket/Display.html?id=132645 48. http://rt.perl.org/Ticket/Display.html?id=132646 49. http://rt.perl.org/Ticket/Display.html?id=132647 50. http://rt.perl.org/Ticket/Display.html?id=132648 51. http://metacpan.org/pod/Cwd 52. http://rt.perl.org/Ticket/Display.html?id=132649 53. http://rt.perl.org/Ticket/Display.html?id=132651 54. http://rt.perl.org/Ticket/Display.html?id=132653 55. http://rt.perl.org/Ticket/Display.html?id=132663 56. http://rt.perl.org/Ticket/Display.html?id=132665 57. http://metacpan.org/pod/PerlIO::encoding 58. http://rt.perl.org/Ticket/Display.html?id=132671 59. http://rt.perl.org/Ticket/Display.html?id=4574 60. http://rt.perl.org/Ticket/Display.html?id=6997 61. http://rt.perl.org/Ticket/Display.html?id=74764 62. http://rt.perl.org/Ticket/Display.html?id=90888 63. http://rt.perl.org/Ticket/Display.html?id=92264 64. http://rt.perl.org/Ticket/Display.html?id=104116 65. http://rt.perl.org/Ticket/Display.html?id=105930 66. http://rt.perl.org/Ticket/Display.html?id=110056 67. http://rt.perl.org/Ticket/Display.html?id=110520 68. http://rt.perl.org/Ticket/Display.html?id=112104 69. http://rt.perl.org/Ticket/Display.html?id=112732 70. http://rt.perl.org/Ticket/Display.html?id=113090 71. http://metacpan.org/pod/Data::Dumper 72. http://rt.perl.org/Ticket/Display.html?id=114316 73. http://rt.perl.org/Ticket/Display.html?id=114318 74. http://rt.perl.org/Ticket/Display.html?id=114798 75. http://rt.perl.org/Ticket/Display.html?id=115252 76. http://rt.perl.org/Ticket/Display.html?id=115754 77. http://rt.perl.org/Ticket/Display.html?id=116080 78. http://rt.perl.org/Ticket/Display.html?id=117449 79. http://rt.perl.org/Ticket/Display.html?id=119367 80. http://rt.perl.org/Ticket/Display.html?id=119623 81. http://rt.perl.org/Ticket/Display.html?id=120982 82. http://metacpan.org/pod/IO::Select 83. http://rt.perl.org/Ticket/Display.html?id=121105 84. http://rt.perl.org/Ticket/Display.html?id=121372 85. http://rt.perl.org/Ticket/Display.html?id=121761 86. http://metacpan.org/pod/perlobj 87. http://rt.perl.org/Ticket/Display.html?id=122670 88. http://metacpan.org/pod/Module::CoreList 89. http://rt.perl.org/Ticket/Display.html?id=122753 90. http://rt.perl.org/Ticket/Display.html?id=123707 91. http://rt.perl.org/Ticket/Display.html?id=126085 92. http://rt.perl.org/Ticket/Display.html?id=128316 93. http://rt.perl.org/Ticket/Display.html?id=128765 94. http://rt.perl.org/Ticket/Display.html?id=129888 95. http://rt.perl.org/Ticket/Display.html?id=130550 96. http://rt.perl.org/Ticket/Display.html?id=130726 97. http://rt.perl.org/Ticket/Display.html?id=130818 98. http://rt.perl.org/Ticket/Display.html?id=130851 99. http://rt.perl.org/Ticket/Display.html?id=131296 100. http://rt.perl.org/Ticket/Display.html?id=131312 101. http://metacpan.org/pod/CPAN 102. http://rt.perl.org/Ticket/Display.html?id=131518 103. http://rt.perl.org/Ticket/Display.html?id=131664 104. http://rt.perl.org/Ticket/Display.html?id=132247 105. http://metacpan.org/pod/XSLoader 106. http://metacpan.org/pod/DynaLoader 107. http://rt.perl.org/Ticket/Display.html?id=132468 108. http://rt.perl.org/Ticket/Display.html?id=132481 109. http://rt.perl.org/Ticket/Display.html?id=132544 110. http://rt.perl.org/Ticket/Display.html?id=132545 111. http://rt.perl.org/Ticket/Display.html?id=132626 112. http://rt.perl.org/Ticket/Display.html?id=132633 113. http://rt.perl.org/Ticket/Display.html?id=132634 114. http://rt.perl.org/Ticket/Display.html?id=132644 115. http://rt.perl.org/Ticket/Display.html?id=132645 116. http://rt.perl.org/Ticket/Display.html?id=132646 117. http://rt.perl.org/Ticket/Display.html?id=132648 118. http://metacpan.org/pod/Cwd 119. http://rt.perl.org/Ticket/Display.html?id=132651 120. http://rt.perl.org/Ticket/Display.html?id=77510 121. http://rt.perl.org/Ticket/Display.html?id=77690 122. http://rt.perl.org/Ticket/Display.html?id=77974 123. http://rt.perl.org/Ticket/Display.html?id=90134 124. http://rt.perl.org/Ticket/Display.html?id=90240 125. http://rt.perl.org/Ticket/Display.html?id=96538 126. http://rt.perl.org/Ticket/Display.html?id=105278 127. http://rt.perl.org/Ticket/Display.html?id=109204 128. http://metacpan.org/pod/Test::More 129. http://metacpan.org/pod/Test::Builder 130. http://rt.perl.org/Ticket/Display.html?id=113898 131. http://rt.perl.org/Ticket/Display.html?id=114786 132. http://rt.perl.org/Ticket/Display.html?id=115834 133. http://rt.perl.org/Ticket/Display.html?id=116020 134. http://rt.perl.org/Ticket/Display.html?id=119127 135. http://rt.perl.org/Ticket/Display.html?id=119315 136. http://rt.perl.org/Ticket/Display.html?id=119863 137. http://metacpan.org/pod/Math::BigInt 138. http://rt.perl.org/Ticket/Display.html?id=121023 139. http://rt.perl.org/Ticket/Display.html?id=121646 140. http://rt.perl.org/Ticket/Display.html?id=122905 141. http://rt.perl.org/Ticket/Display.html?id=123292 142. http://rt.perl.org/Ticket/Display.html?id=123698 143. http://rt.perl.org/Ticket/Display.html?id=123881 144. http://rt.perl.org/Ticket/Display.html?id=127640 145. http://rt.perl.org/Ticket/Display.html?id=128349 146. http://metacpan.org/pod/Benchmark 147. http://rt.perl.org/Ticket/Display.html?id=130038 148. http://rt.perl.org/Ticket/Display.html?id=130818 149. http://rt.perl.org/Ticket/Display.html?id=116080 150. http://nntp.perl.org/group/perl.perl5.porters/248570 151. http://nntp.perl.org/group/perl.perl5.porters/248481 152. http://nntp.perl.org/group/perl.perl5.porters/248507 153. http://nntp.perl.org/group/perl.perl5.porters/248568