Maintaining Perl 5: Grant Report for Month 3

1 Comment

Tony Cook writes:

The most interesting changes this month were probably:

- 115928 - a common rand() implementation

- 117265 - failing system calls on embedded NULs

- 3330 - warning on ++$foo when $foo isn't a number, or magically
incrementable

- 85104 - preserving $^E across signal handlers

perl #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 I did some clean up of the safesyscalls patch and finally applied it this month.

perl #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 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.

HoursActivity
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.67look 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.40fix MY_CXT example in perlxs.pod
1.07look for old tickets with patches (and no patches) to 78066
0.87perldelta check and update
1.05scan for new and old tickets with patches to 107962
0.93scan for older tickets with/without patches to 74864

88.93 hours total

1 Comment

Hi Tony

Well done! That's a lot of valuable work which I confess I would never do myself.

Ron

Leave a comment

About TPF

The Perl Foundation - supporting the Perl community since 2000. Find out more at www.perlfoundation.org.

Recent Comments

  • Ron Savage: Hi Tony Well done! That's a lot of valuable work read more

About this Entry

This page contains a single entry by Karen published on September 29, 2013 7:34 AM.

Hague Grant Application Accepted was the previous entry in this blog.

Improving Perl 5: Grant Report for Month 21 is the next entry in this blog.

Find recent content on the main index or look in the archives to find all content.

OpenID accepted here Learn more about OpenID
Powered by Movable Type 4.38