Maintaining Perl 5: Grant Report for Month 2
Mon, 02-Sep-2013 by
Karen Pauley
edit post
_Tony Cook writes:_
The most interesting changes this month were probably:
* 116190 - making -F imply -a and -a imply -n.
* 116989 - S_croak_memory_wrap
* 117265 - safesyscalls
* 74798 - Data::Dumper XS
["perl #116190":https://rt.perl.org/rt3/Ticket/Display.html?id=116190] The original request in this ticket was that -F without -a should warn or fail with an error. The problem with that, as discussed, is that there's a perfectly reasonable thing to do instead: have -F switch on -a, and Aristotle Pagaltzis produced a patch to do just that.
The OP then suggested that -a should then imply -n, which is where it sat for 5 months. I added changes to improve the portability of the new test, to make -a imply -n and to avoid a warnings test from blocking on STDIN.
["perl #116989":https://rt.perl.org/rt3/Ticket/Display.html?id=116989] The story of this ticket starts in October last year when a space optimization was added for the Perl_croak_nocontext() call generated by the MEM_WRAP_CHECK() macro.
In February this year this change was found to be the cause of probe failures: compiler flag checks done by ccflags.SH in perl and library checks by Time-HiRes.
In March, S_croak_memory_wrap() was changed into an exported API function instead of a static function, with the hope that this would fix the problem (but it turned out it didn't.)
By the time we realized that, we were in the lead up to 5.18, and so while a real fix for the issue was added by Nicholas in April, the reinstatement of the original S_croak_memory_wrap() was left until 5.19.
This finally happened in d1decf2b.
["perl #117265":https://rt.perl.org/rt3/Ticket/Display.html?id=117265] This patch fixes a long standing bug in perl, where the string supplied to open() and other functions dealing with the filesystem would simply ignore any characters after an embedded NUL in a filename.
Reini Urban provided a patch to fix that, but the original behaviour was a bit extreme, croaking when warnings were enabled.
A second version of the patch didn't croak, but did treat the warning as a severe warning, which are always enabled. It also behaved incorrectly for functions taking multiple filenames, such as unlink(), ignoring any filename after the first name containing NUL but returning them as successful operations. eg. unlink "foo\0bar", "idontexist" would return 1 without attempting to remove "idontexist'.
I ended up largely rewriting the patch to correct those problems.
["perl #74798":https://rt.perl.org/rt3/Ticket/Display.html?id=74798] Slaven Rezic supplied a patch to add an XS implementation of Data::Dumper's Useqq mode. His final patch largely worked, but handled some character sequences incorrectly ("\0011" because "\11").
I added tests and fix for that, and applied it as 2780a6ed.
Of course this being Data::Dumper, a change in the code broke some tests on CPAN, in one case a tweak (059639d5c with a threads fix in 1f55bb435) to the output format to match the pure perl code exactly fixed the problem, unfortunately in the other case, the module was directly fiddling with Data::Dumper's internals, which couldn't be fixed.
| Hours | Activity |
| 0.35 | #108276 - scalarvoid stack overflow - review discussion, patch not ready |
| 0.13 | #112404 - SIG_PENDING_DIE_COUNT - reject as discussed |
| 0.65 | #113028 - REAPER - alternate patch |
| | #113028 - retest and apply reworked patch |
| 0.98 | #113088 - Data::Dumper utf8 flag - review discussion, comment |
| 2.18 | #114722 - child reap under exception, review, reproduce problem, comment |
| | #114722 - test, apply |
|1.18 | #114964 - ref documentation, review, comment (and what does ref do on an INVLIST) |
| | #114964 - apply with a small modification |
| 1.37 | #114972 - panic: sv_setpvn - already applied, prep maint |
| | 5.16 version |
| | #114972 - apply, test, perldelta |
| 0.95 | #115076 - Test::More for Pod::Functions - review, prepare fix, comment |
| | #115076 - adjust and apply |
| 1.35 | #115746 - review, check current code gen |
| | #115746 - review code gen, research |
| 1.23 | #115928 - rand() bits - read through ticket, rebase builtin_rng branch |
| | #115928 - follow-up |
| 0.28 | #115932 - ipv6 Net::Ping - review, but CPAN maintainer has it |
| 0.27 | #116054 - comment to mark patch obsolete |
| 2.25 | #116190 - prep alternate patch |
| | #116190 - continued (some tests fail), post patch |
| | #116190 - retest, apply, perldelta |
| 0.25 | #116194 - S_find_uninit_var - apply |
| 5.39 | #116296 - remove PL_patchlevel from and optimize S_minus_v - comment |
| | #116296 - review responses, experiment way too much |
| | #116296 - respond |
| | #116296 - review new patch and comment |
| 0.18 | #116639 - check smoke results, briefly try to rebase, comment |
| 0.07 | #116641 - has no patch |
| 0.22 | #116721 - remove DOS NL from test file - upstream |
| 0.35 | #116975 - require doc - comment |
| | #116975 - perlfunc require |
| 0.90 | #116989 - review and comment |
| | #116989 - apply reversion patch |
| 1.35 | #117033 - cygwin .packlist - review, test, apply |
| 2.03 | #117087 - review and rebase, test |
| | #117087 - fix rebase errors, comment |
| 0.79 | #117223 - remove IO::File from perlfunc |
| | #117223 - continued - post reapplied patch for comment |
| | #117223 - perlfunc/IO::File - minor correction and apply |
| 9.19 | #117265 - re-rebase, comment |
| | #117265 - respond without cursing |
| | #117265 - prepare alternate patch (WIP) |
| | #117265 - re-work a bit |
| | #117265 - tests, testing |
| | #117265 - polish, some re-work, testing |
| 0.12 | #117267 - safenames - reject |
| 0.30 | #117273 - binary safety dumping svs and ops - note part applied |
| 1.67 | #117355 - [lu]cfirst don't respect use bytes- comment |
| | #117355 - figure out where to add test, write test and test, comment |
| | #117355 - review, rebase, leave it for now |
| 0.60 | #117543 - protect some symbol - comment |
| 0.48 | #117649 - review code and comment |
| 0.75 | #117793 - Devel::Peek::SvREFCNT - prep alternative patch |
| 0.73 | #118433 - new patch - test and apply (perlbug.PL) |
| 7.35 | #118525 - svref_2object and lexical subs - testing, write test, fail other tests |
| | #118525 - continued, double check blead passes with ASAN, prepare |
| |alternative patch and comment |
| | #118525 - alternate patch |
| | #118525 - produce alternate patch |
| | #118525 - test, apply, perldelta, backport |
| | #118525 - fix for threads, re-backport |
| 0.93 | #118561 - revert patch and comment, and note in code (base.pm) |
| 0.25 | #118629 apply (PERL_CORE only strip_spaces) |
| 0.25 | #118653 - apply |
| 0.58 | #118654 - validate_proto - review |
| 1.10 | #118675, try to reproduce problem (pod_rules) |
| | #118675 try some more, apply |
| 0.35 | #118751 - lib/Symbol.t - review, test, apply |
| 0.22 | #118761 - lib/File/Copy.t - review, test, apply |
| 1.03 | #118779 - .gitignore Win32 - reproduce, test build, apply |
| 2.18 | #118817 - TERM=vt100 and debugger tests - fail to reproduce |
| | #118817 - try to reproduce, fail some more, comment |
| 0.20 | #118823 - review, test, comment |
| 1.82 | #118829 - storable leaks - ask for less whitespace noise |
| | #118829 - apply, cleanup, test, push |
| | #118829 - follow-up |
| 0.20 | #118883 - FileHandle.t - review and comment |
| 1.22 | #118907 - review, test, comment |
| | #118907 - test, apply, perldelta |
| 0.70 | #118923 - join edge cases - review and comment |
| | #118923 - apply, update AUTHORS, add note, resolve |
| 0.30 | #118959 - changes spec - test and apply |
| 1.40 | #118995 - fix bigrat - try to figure out a test, fail, |
| | test an installed perl, update versions, perldelta |
| 0.22 | #119031 - document $dl_dlext - reply with comment |
| 0.27 | #119037 - comments on hash algorithms - apply |
| 3.01 | #28364 - win32 - segfault on ENV change - test |
| | #28364 - test prep |
| | #28364 - bounce off DBD-mysql |
| | #28364 - write simple XS to test, comment |
| | #28364 - closed based on response from requestor |
| 0.60 | #32380 review - (Atof() inaccurate) patch already applied, |
| | research problem and comment |
| 0.98 | #3330 review (magic increment warnings), write a different patch |
| 0.15 | #38133 - regex bug - mark to test patch applied |
| 3.63 | #39739 - Exporter and custom warn handlers - review, no |
| | response to sprout's query |
| | #39739 - review, attempt to write a test |
| | #39739 - continued, post patch with comment |
| | #39739 - apply, test, perldelta |
| 0.35 | #40417 - File::Find and symlinks - obsolete |
| 0.53 | #40652 - unclear version error msg - reject patch |
| 1.12 | #43097 - print and $! - reject patch with comment |
| 0.55 | #47107 - English.pm namespace pollution - review, comment |
| | #47107 - reject with comment |
| 1.32 | #52000 - adapt to blead, apply |
| 1.14 | #74158 - pod2html output concerns - rework patch |
| | #74158 - apply re-worked patch and resolve |
| 0.22 | #74620 apply (get-sent-email) |
| 7.77 | #74798 - work on fixing problem with patch |
| | #74798 - continued, post results |
| | #74798 - apply (with a test count fix) |
| | #74798 - BBC review, Project::Easy, autobox::dump |
| | #74798 - more autobox::dump |
| | #74798 - slightly modify patch and apply, report bug against Project::Easy |
| | #74798 - fix threaded builds |
| 0.40 | 74798 (useqq for DD) - new patch - reject it |
| 0.62 | #78190 - fix pod2html links - test and comment |
| | #78190 - close with comment |
| 0.83 | cpan #84120 - review, change incomplete |
| 2.17 | #85104 - prepare alternate patch, testing |
| | #85104 - test patch on Linux, post |
| 0.20 | categorize new tickets for patches |
| 0.83 | fix an occasionally unused variable |
| 0.60 | fix rarest variable warning, check another one too |
| 0.07 | mark new ticket with patches |
| 0.35 | mark newer tickets for patches |
| 0.38 | review 36359 and reject patch (1x1e12 eq '') |
| 0.62 | review 52000 and obsolete (warn/abort on exit) |
| 0.27 | review 82922 (but Jim said everything that needs to be |
| | said - SystemTap) |
| 0.33 | review and apply 116531 (perlxstypemap nit) |
| 0.13 | review and comment on 116190 (-F implies -a) |
| 0.70 | review and comment on 3112 (Bizarre copy of ARRAY in last) |
| 0.20 | review mailing list for patch ticket updates |
| 0.73 | review new 118269 patch (SV_CONST) |
| 0.20 | review new tickets for patches |
| 0.95 | review older tickets for patches to 113088 |
| 1.87 | review tickets for patches (to 116254) |
| 0.90 | review/test_porting/apply 71680 (NDBM on Win32) |
| 0.08 | update lib/.gitignore for Exporter move |
**93.91 hours total**
Comments (0)