Maintaining Perl 5: Grant Report for Month 3
Sun, 29-Sep-2013 by
Karen Pauley
edit post
_Tony Cook writes:_
The most interesting changes this month were probably:
- "115928":https://rt.perl.org/rt3/Ticket/Display.html?id=115928 - a common rand() implementation
- "117265":https://rt.perl.org/rt3/Ticket/Display.html?id=117265 - failing system calls on embedded NULs
- "3330":https://rt.perl.org/rt3/Ticket/Display.html?id=3330 - warning on ++$foo when $foo isn't a number, or magically
incrementable
- "85104":https://rt.perl.org/rt3/Ticket/Display.html?id=85104 - preserving $^E across signal handlers
["perl #115928":https://rt.perl.org/rt3/Ticket/Display.html?id=115928] This month I implemented perl's new rand() implementation, avoiding the portability issues of random number generators on various platforms. This does not provide a cryptographically usable rand(), but means that some platforms now generate a larger selection of random numbers, rather than the say 32768 different possible numbers on Win32. This wasn't applied until September.
["perl #117265":https://rt.perl.org/rt3/Ticket/Display.html?id=117265] I did some clean up of the safesyscalls patch and finally applied it this month.
["perl #3330":https://rt.perl.org/rt3/Ticket/Display.html?id=3330] This adds a warning when the user attempts to use perl's increment operator on a string that isn't a number and doesn't match /^[A-Za-z]+[0-9]+/.
["perl #85104":https://rt.perl.org/rt3/Ticket/Display.html?id=85104] I produced an alternative fix for this in July, but hadn't written any tests until now. I first attempted to generate SIGINT and SIGBREAK using kill, hopefully trying to test a "real" operating system delivered signal, but the signal wasn't being delivered, even when I went direct to the API using GenerateConsoleCtrlEvent(). Unfortunately Windows would never deliver the event without signalling the whole console, possibly killing the TEST or harness process too.
I ended up using a thread and perl's Win32 signal emulation to test that $^E is preserved.
| Hours | Activity |
| 0.12 | #112350 - close |
| 5.15 | #113054 - find2perl - add find2perl tests |
| | #113054 - extend test mechanism |
| | #113054 - test cross platform, apply, resolve |
| 0.10 | #113088 - reject with comment |
| 0.50 | #114972 - check related tickets |
| 2.02 | #115706 - IO::Socket non-blocking connect |
| 0.92 | #115894 - review discussion, test, comment, reject patch |
| | #115894 - review and reject ticket too |
| 12.14 | #115928 - read metaconfig docs |
| | #115928 - manually edit Configure etc, testing |
| | #115928 - start alternate implementation |
| | #115928 - finish base implementation |
| | #115928 - public implementation |
| | #115928 - testing, fixes, comment with patches |
| | #115928 - follow-up, test on Win32 |
| | #115928 - comment, ask Tux about Configure |
| 0.63 | #116116 - reformat and comment |
| 0.81 | #116132 - review and comment |
| | #116132 - reject with comment |
| 0.48 | #116180 - review and comment |
| 1.37 | #116264 - review, test, comment |
| 0.28 | #116911 - comment on closing in a few days |
| | #116911 - close |
| 2.38 | #117087 - rebase and comment |
| | #117087 - review, test and comment |
| | #117087, #3330 - follow-up |
| 6.44 | #117265 - review, minor cleanups, rebase, retest |
| | #117265 - apply and perldelta |
| | #117265 - look for redundant checks |
| | #117265 - polish, push to smoke-me |
| | #117265 - debug, fix, test win32 failure |
| 0.62 | #117355 - review discussion |
| | #117355 - re-test, apply |
| 0.35 | #117649 - reject with comment |
| 0.97 | #117793 - retest, apply, close ticket |
| 8.10 | #118059 - test theory, try to figure out fp dupping |
| | #118059 - more testing, B::SPECIAL discussion |
| | #118059 - test with debug tools, but cannot reproduce with |
| | debugging tools |
| | #118059 - test osfhandle results, comment |
| 0.68 | #118139 - storable unused variables - comment |
| 0.13 | #118933 - resolve |
| 1.38 | #118987 - try to find a fix |
| 0.25 | #119075 - review per request |
| 0.28 | #119151 - comment |
| 5.53 | #119241 - BBC for Carp update - CGI::Application, Devel::TrackSIG |
| | #119241 - Object-Lazy |
| | #119241 - Object-Lazy, Class-Std, tests |
| | #119241 - apply fix to blead, open ticket for Object-Lazy, comment |
| 2.72 | #119321 - remove stringification, test, track down |
| | Devel::TrackSIG strangeness (local issue) |
| 1.24 | #119351 - if the test note some more |
| | #119351 - make a patch and test against Devel-Cover 1.06 |
| 0.17 | #119355 - review discussion |
| 1.77 | #119413 - apply proposed change to blead, perldelta |
| | #119413 - respond to comment |
| | #119413 - comment |
| 1.90 | #119429 - review |
| | #119429 - update bump-perl-version, research, apply |
| 0.67 | look for tickets to work on, comment on #2968 |
| 1.20 | #3112 - research, experiment |
| 5.59 | #3330 - produce an alternate patch |
| | #3330 - update message, testing |
| | #3330 - consider/research including variable name |
| | #3330 - fix op/inc.t warning, look for similar warnings |
| | #3330 - split off the variable names into 119415, close 3330 |
| 0.05 | #38307 - close |
| 0.30 | #74798 - clang warning fix |
| 1.82 | #78066 - attempt to reproduce in a number of ways, comment |
| 1.00 | #81586 - test on various perls, build blead to test, comment |
| 7.29 | #85104 - fix skip handling, test, apply, perldelta |
| | #85104 - write tests, try to have external signals work at all on win32 |
| | #85104, #116264 - testing, write-up |
| | #85104 - write test using fork emulation, testing |
| 1.93 | #85296 - adjust patch to apply |
| | #85296 - apply, perldelta both |
| 3.02 | #86686 - POD clean up for Math-* - adjust patch, and re- work more of the |
| | docs |
| | #86686 - post patch with comment |
| | #86686 - apply |
| 2.31 | #92446 - review, test, comment |
| | #92446 - apply with fixes |
| 0.40 | fix MY_CXT example in perlxs.pod |
| 1.07 | look for old tickets with patches (and no patches) to 78066 |
| 0.87 | perldelta check and update |
| 1.05 | scan for new and old tickets with patches to 107962 |
| 0.93 | scan for older tickets with/without patches to 74864 |
**88.93 hours total**
Comments (1)
Hi Tony
Well done! That's a lot of valuable work which I confess I would never do myself.
Ron