X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=pod%2Fperltodo.pod;h=a16cf0d604adff14905f09dfc0f43ed39d2aacd2;hb=e706c0cd31a70bd2c97d4510f261613278a7e1f5;hp=a8a6d797cc656c8d6a8f5f1ea164dd8c8c487de4;hpb=78ef48ad54f3f3d026ec9b5e1065ffce87f99844;p=p5sagit%2Fp5-mst-13.2.git diff --git a/pod/perltodo.pod b/pod/perltodo.pod index a8a6d79..a16cf0d 100644 --- a/pod/perltodo.pod +++ b/pod/perltodo.pod @@ -4,10 +4,14 @@ perltodo - Perl TO-DO List =head1 DESCRIPTION -This is a list of wishes for Perl. The tasks we think are smaller or easier -are listed first. Anyone is welcome to work on any of these, but it's a good -idea to first contact I to avoid duplication of -effort. By all means contact a pumpking privately first if you prefer. +This is a list of wishes for Perl. The most up to date version of this file +is at http://perl5.git.perl.org/perl.git/blob_plain/HEAD:/pod/perltodo.pod + +The tasks we think are smaller or easier are listed first. Anyone is welcome +to work on any of these, but it's a good idea to first contact +I to avoid duplication of effort, and to learn from +any previous attempts. By all means contact a pumpking privately first if you +prefer. Whilst patches to make the list shorter are most welcome, ideas to add to the list are also encouraged. Check the perl5-porters archives for past @@ -20,47 +24,69 @@ not, but if your patch is incorporated, then we'll add your name to the F file, which ships in the official distribution. How many other programming languages offer you 1 line of immortality? -=head1 The roadmap to 5.10 +=head1 Tasks that only need Perl knowledge -The roadmap to 5.10 envisages feature based releases, as various items in this -TODO are completed. +=head2 Improve Porting/cmpVERSION.pl to work from git tags -=head2 Needed for a 5.9.4 release +See F for a bit more detail. -=over +=head2 Migrate t/ from custom TAP generation -=item * +Many tests below F still generate TAP by "hand", rather than using library +functions. As explained in L, tests in F are +written in a particular way to test that more complex constructions actually +work before using them routinely. Hence they don't use C, but +instead there is an intentionally simpler library, F. However, +quite a few tests in F have not been refactored to use it. Refactoring +any of these tests, one at a time, is a useful thing TODO. -Review assertions. Review syntax to combine assertions. Assertions could take -advantage of the lexical pragmas work. L +The subdirectories F, F and F, that contain the most +basic tests, should be excluded from this task. -=back +=head2 Test that regen.pl was run -=head2 Needed for a 5.9.5 release +There are various generated files shipped with the perl distribution, for +things like header files generate from data. The generation scripts are +written in perl, and all can be run by F. However, because they're +written in perl, we can't run them before we've built perl. We can't run them +as part of the F, because changing files underneath F confuses +it completely, and we don't want to run them automatically anyway, as they +change files shipped by the distribution, something we seek not do to. -=over +If someone changes the data, but forgets to re-run F then the +generated files are out of sync. It would be good to have a test in +F that checks that the generated files are in sync, and fails +otherwise, to alert someone before they make a poor commit. I suspect that this +would require adapting the scripts run from F to have dry-run +options, and invoking them with these, or by refactoring them into a library +that does the generation, which can be called by the scripts, and by the test. -=item * -Implement L +=head2 Automate perldelta generation -=item * -Implement L +The perldelta file accompanying each release summaries the major changes. +It's mostly manually generated currently, but some of that could be +automated with a bit of perl, specifically the generation of -=back +=over -=head2 Needed for a 5.9.6 release +=item Modules and Pragmata -Stabilisation. If all goes well, this will be the equivalent of a 5.10-beta. +=item New Documentation -=head1 Tasks that only need Perl knowledge +=item New Tests + +=back + +See F for details. -=head2 common test code for timed bail out +=head2 Remove duplication of test setup. -Write portable self destruct code for tests to stop them burning CPU in -infinite loops. This needs to avoid using alarm, as some of the tests are -testing alarm/sleep or timers. +Schwern notes, that there's duplication of code - lots and lots of tests have +some variation on the big block of C<$Is_Foo> checks. We can safely put this +into a file, change it to build an C<%Is> hash and require it. Maybe just put +it into F. Throw in the handy tainting subroutines. -=head2 POD -> HTML conversion in the core still sucks +=head2 POD -E HTML conversion in the core still sucks Which is crazy given just how simple POD purports to be, and how simple HTML can be. It's not actually I simple as it sounds, particularly with the @@ -72,47 +98,29 @@ is needed to improve the cross-linking. The addition of C and its related modules may make this task easier to complete. -=head2 Parallel testing - -The core regression test suite is getting ever more comprehensive, which has -the side effect that it takes longer to run. This isn't so good. Investigate -whether it would be feasible to give the harness script the B