Blog:
http://blogs.perl.org/users/sawyer_x/2015/10/perl-5-porters-mailing-list-summary-october-5th-11th.html
Twitter: https://twitter.com/perl5summaries/status/653498914113515520
October 5th-11th
Karl Williamson continues his work on [1]Unicode::Normalize and with the
help of reports from Yaroslav Kuzmin was able to speed up the normalizer.
Bug reports and bug fixes
Thomas Sibley [2]verified the possible problem with [3]IO::Socket::INET
was indeed a DNS lookup issue:
Indeed, every call to $c->get_request() calls $d->url, which calls
gethostbyaddr() in the case of your usage of LocalAddr:
[4]lib/HTTP/Daemon.pm Line 51.
James E. Keenan is on a ticket cleaning spree. He had so far taken up
[5]Perl #65052, [6]Perl #116254, [7]Perl #117341, [8]Perl #117963,
[9]Perl
#120330, [10]Perl #121553, and [11]Perl #120841.
Vincent Pit opened [12]Perl #126240 the week prior (which last week's
summary missed - sorry) on fork() causing a panic at destruction time
with
a debugging threaded blead perl on Mac OS X Yosemite.
Bulk88 submitted a patch in [13]Perl #126273 to help debug work with the
Save Stack, and Dave Mitchell [14]provided several hints he finds less
invasive. Interesting for anyone else seeking to debug the save stack.
Dave Mitchell had [15]traced the cause of [16]Perl #126145 (a mod_perl
pre-compiling modules crash) back to a outdated module,
[17]Sub::Attribute.
Dagfinn Ilmari Mannsåker provided a patch in [18]Perl #126281 to improve
error messages by including the name of non-lvalue subroutines.
[19]Perl #31923, a segfault which can be triggered by use encoding
'utf8',
had been fixed.
Lukas Mai opened [20]Perl #125305 about constant folding barewords with
unary minus.
Several errno tests currently fail, reported in [21]Perl #126306 by
Jarkko
Hietaniemi, relating to a similar problem in IRIX, reported by Jarkko in
[22]Perl #123977.
Perl does not warn about malformed UTF-8 characters if a string is
enclosed in single quotes, now reflected in [23]Perl #126310.
Regex bugs
Victor Adam is [24]continuing to pursue regular expression test writing.
He's been working on several bugs he had reported: [25]Perl #126141,
[26]Perl #126177, [27]Perl #126178, [28]Perl #126179, [29]Perl #126180,
[30]Perl #126181, [31]Perl #126185, [32]Perl #126186 (which is now fixed
and resolved by Yves Orton in
[33]fee505829585692618c3f9bb28a8f0464553ec94, [34]Perl #126187, [35]Perl
#126222, and [36]Perl #126253.
Fuzzing to find bugs
Dan Collins opened [37]Perl #126274, a crash caused by the following
interesting set of characters:
($0[(((0/[(())])[()]))])
Dan also opened [38]Perl #126309, a segfault caused by:
@0[(0)x~0]
Dan found even pack can crash with the following code, opened under
[39]Perl #126325:
pack+WH200000,\0
Dan also opened [40]Perl #126319 which causes a crash with this
interesting piece of regex:
/\b{sb}\b{wb}//b{}//>s>>>g>>0
Discussions
cadvise static code checker
Jarkko Hietaniemi [41]ran a static code checker called [42]cadvise
and the
report might contains some very interesting bits.
File::Glob shelling out?
Karl Williamson opened [43]Perl #126271 which exposes a possibly unsafe
(and possibly unnecessary) shelling out in [44]File::Glob. The
[45]conversation thread exposes more reasons for it and possible
solutions.
Continuing redesign of Math-BigInt
Peter John Acklam [46]reopened the discussion on his redesign of the
distribution carrying [47]Math::BigInt, [48]Math::BigRat, and [49]bignum
mentioning the distributions supporting both procedural function calls
being supported at the same time as object-oriented style.
Bulk88 had the following quote-worthy sentence in his reply:
dont[sic] use OOP or convert functional code to OOP for the sake for
religious purity.
Aristotle Pagaltzis suggested a [50]remarkable way to deprecate the code.
Worth the read.
Yet another Smart Match proposal?
Continuing the [51]Smart Match discussion, and with impending flame risk,
Dave Mitchell had bravely [52]suggested yet another Smart Match syntax.
It seems Dave is focusing on making given/when more readable and at the
same time, faster, and easier to implement.
Paul "LeoNerd" Evans suggested using new syntax keywords, such as:
use feature 'dispatch';
dispatch($str) {
on("hello") { say "Hello, there"; }
on("bye") { say "Goodbye then"; }
}
Eirik Berg Hanssen suggests providing keywords for the comparison
itself -
whether scase and ncase for string vs. numerical comparison respectively,
or wheneq and when== (suggested by Paul).
z/OS perl port
Karl Williamson is continuing his work on porting perl to z/OS. Only one
test is failing now.
To help understand the failing test and how dynamic linking works in
z/OS,
Jarkko Hietaniemi, Bulk88, John Goodyear, Yaroslav Kuzmin, Ray Mullins,
and Sandra jumped in to investigate and understand how z/OS works in this
regard.
This might result in simply a sanity check (as Aristotle Pagaltzis
described it) which does not apply in z/OS.
The thread continues [53]here.
Coro branch that works on 5.22
Reini Urban created a [54]Coro fork which contains patches to work on
perl
5.22.
What should qr/\p{pkg::L}/ do?
Karl Williamson [55]asks what should the regexp qr/\p{pkg::L}/ do. While
currently evaluating to the Unicode property letter, Karl offers it fails
on compile- or run-time as the property pkg::L is not found.
Agreed by Ricardo Signes with a suggestion to improve the error from "not
found" to something more descriptive (such as "illegal name").
Warn or die on /(?-p)/?
Yves Orton had suggested to close [56]Perl #126185 as WONTFIX since he
deems warning good enough. Seconded by Karl Williamson (but to close as
Rejected).
Yves also noted [57]additional comments worth a read to anyone interested
in regular expressions in finer detail.
Ignore errors configurably
Linda Walsh requests comments in [58]Perl #126314 on a proposal for being
able to configure in files to ignore new exceptions in order to handle
applications which die when using fatal warnings and encountering new
warnings in new versions of perl.
News
Second voting round on perl 5.22.1
Steve Hay has [59]called for another round of voting on perl 5.22.1.
References
1. https://metacpan.org/pod/Unicode::Normalize
2. http://nntp.perl.org/group/perl.perl5.porters/231588
3. https://metacpan.org/pod/IO::Socket::INET
4.
https://github.com/gisle/http-daemon/blob/master/lib/HTTP/Daemon.pm#L51
5. https://rt.perl.org/Ticket/Display.html?id=65052
6. https://rt.perl.org/Ticket/Display.html?id=116254
7. https://rt.perl.org/Ticket/Display.html?id=117341
8. https://rt.perl.org/Ticket/Display.html?id=117963
9. https://rt.perl.org/Ticket/Display.html?id=120330
10. https://rt.perl.org/Ticket/Display.html?id=121553
11. https://rt.perl.org/Ticket/Display.html?id=120841
12. https://rt.perl.org/Ticket/Display.html?id=126240
13. https://rt.perl.org/Ticket/Display.html?id=126273
14. http://nntp.perl.org/group/perl.perl5.porters/231590
15. http://nntp.perl.org/group/perl.perl5.porters/231596
16. https://rt.perl.org/Ticket/Display.html?id=126145
17. https://metacpan.org/pod/Sub::Attribute
18. https://rt.perl.org/Ticket/Display.html?id=126281
19. https://rt.perl.org/Ticket/Display.html?id=31923
20. https://rt.perl.org/Ticket/Display.html?id=126305
21. https://rt.perl.org/Ticket/Display.html?id=126306
22. https://rt.perl.org/Ticket/Display.html?id=123977
23. https://rt.perl.org/Ticket/Display.html?id=126310
24. http://nntp.perl.org/group/perl.perl5.porters/231508
25. https://rt.perl.org/Ticket/Display.html?id=126141
26. https://rt.perl.org/Ticket/Display.html?id=126177
27. https://rt.perl.org/Ticket/Display.html?id=126178
28. https://rt.perl.org/Ticket/Display.html?id=126179
29. https://rt.perl.org/Ticket/Display.html?id=126180
30. https://rt.perl.org/Ticket/Display.html?id=126181
31. https://rt.perl.org/Ticket/Display.html?id=126185
32. https://rt.perl.org/Ticket/Display.html?id=126186
33.
http://perl5.git.perl.org/perl.git/commitdiff/fee505829585692618c3f9bb28a8f0464553ec94
34. https://rt.perl.org/Ticket/Display.html?id=126187
35. https://rt.perl.org/Ticket/Display.html?id=126222
36. https://rt.perl.org/Ticket/Display.html?id=126253
37. https://rt.perl.org/Ticket/Display.html?id=126274
38. https://rt.perl.org/Ticket/Display.html?id=126309
39. https://rt.perl.org/Ticket/Display.html?id=126325
40. https://rt.perl.org/Ticket/Display.html?id=126319
41. http://nntp.perl.org/group/perl.perl5.porters/231612
42.
http://h21007.www2.hp.com/portal/site/dspp/menuitem.863c3e4cbcdc3f3515b49c108973a801/?ciid=8b08a31f05f02110a31f05f02110275d6e10RCRD
43. https://rt.perl.org/Ticket/Display.html?id=126271
44. https://metacpan.org/pod/File::Glob
45. http://nntp.perl.org/group/perl.perl5.porters/231569
46. http://nntp.perl.org/group/perl.perl5.porters/231625
47. https://metacpan.org/pod/Math::BigInt
48. https://metacpan.org/pod/Math::BigRat
49. https://metacpan.org/pod/bignum
50. http://nntp.perl.org/group/perl.perl5.porters/231641
51. http://nntp.perl.org/group/perl.perl5.porters/231597
52. http://nntp.perl.org/group/perl.perl5.porters/231622
53. http://nntp.perl.org/group/perl.perl5.porters/231660
54. https://github.com/rurban/Coro/tree/5.22
55. http://nntp.perl.org/group/perl.perl5.porters/231658
56. https://rt.perl.org/Ticket/Display.html?id=126185
57. http://nntp.perl.org/group/perl.perl5.porters/231667
58. https://rt.perl.org/Ticket/Display.html?id=126314
59. http://nntp.perl.org/group/perl.perl5.porters/231665