X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=pod%2Fperltodo.pod;h=a857e77fcc33b8a1d550c3fa2917d8ec640688e9;hb=c1effa61278e47c916466883d74905b04fedc388;hp=c84b51e3683c314bda6f73519ab18ecf351c4a53;hpb=c741660aac46f1784b5ef16aeab5e4958a91df78;p=p5sagit%2Fp5-mst-13.2.git diff --git a/pod/perltodo.pod b/pod/perltodo.pod index c84b51e..a857e77 100644 --- a/pod/perltodo.pod +++ b/pod/perltodo.pod @@ -26,6 +26,24 @@ programming languages offer you 1 line of immortality? =head1 Tasks that only need Perl knowledge +=head2 Automate perldelta generation + +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 + +=over + +=item Modules and Pragmata + +=item New Documentation + +=item New Tests + +=back + +See F for details. + =head2 Remove duplication of test setup. Schwern notes, that there's duplication of code - lots and lots of tests have @@ -57,18 +75,6 @@ The more practical approach, to break the task down into manageable chunks, is to work your way though the code from bottom to top, or if necessary adding extra C<{ ... }> blocks, and turning on strict within them. -=head2 Parallel testing - -(This probably impacts much more than the core: also the Test::Harness -and TAP::* modules on CPAN.) - -All of the tests in F can now be run in parallel, if C<$ENV{TEST_JOBS}> -is set. However, tests within each directory in F and F are still -run in series, with directories run in parallel. This is an adequate -heuristic, but it might be possible to relax it further, and get more -throughput. Specifically, it would be good to audit all of F, and -make them use C. - =head2 Make Schwern poorer We should have tests for everything. When all the core's modules are tested, @@ -109,11 +115,13 @@ do so. Test it with older perl releases, and fix the problems you find. To make a minimal perl distribution, it's useful to look at F. -=head2 Bundle dual life modules in ext/ +=head2 Move dual-life pod/*.PL into ext -For maintenance (and branch merging) reasons, it would be useful to move -some architecture-independent dual-life modules from lib/ to ext/, if this -has no negative impact on the build of perl itself. +Nearly all the dual-life modules have been moved to F. However, we +still need to move F into their respective directories +in F. They're referenced by (at least) C in F +and C in F and F, and listed +explicitly in F, F and F =head2 POSIX memory footprint @@ -381,7 +389,7 @@ course, we all know what step 3 is. Currently F automatically adds C<-DDEBUGGING> to the C compiler flags if it spots C<-g> in the optimiser flags. The pre-processor directive -C enables F's command line <-D> options, but in the process +C enables F's command line C<-D> options, but in the process makes F slower. It would be good to disentangle this logic, so that C-level debugging with C<-g> and Perl level debugging with C<-D> can easily be enabled independently. @@ -804,6 +812,18 @@ also the warning messages (see L, C). These tasks would need C knowledge, and knowledge of how the interpreter works, or a willingness to learn. +=head2 truncate() prototype + +The prototype of truncate() is currently C<$$>. It should probably +be C<*$> instead. (This is changed in F) + +=head2 decapsulation of smart match argument + +Currently C<$foo ~~ $object> will die with the message "Smart matching a +non-overloaded object breaks encapsulation". It would be nice to allow +to bypass this by using explictly the syntax C<$foo ~~ %$object> or +C<$foo ~~ @$object>. + =head2 error reporting of [$a ; $b] Using C<;> inside brackets is a syntax error, and we don't propose to change @@ -882,6 +902,15 @@ L There is no method on tied filehandles to allow them to be called back by formats. +=head2 Propagate compilation hints to the debugger + +Currently a debugger started with -dE on the command-line doesn't see the +features enabled by -E. More generally hints (C<$^H> and C<%^H>) aren't +propagated to the debugger. Probably it would be a good thing to propagate +hints from the innermost non-C scope: this would make code eval'ed +in the debugger see the features (and strictures, etc.) currently in +scope. + =head2 Attach/detach debugger from running program The old perltodo notes "With C, you can attach the debugger to a running @@ -1137,3 +1166,24 @@ This will allow the use of a regex from inside (?{ }), (??{ }) and Apparently these are quite useful. Anyway, Jeffery Friedl wants them. demerphq has this on his todo list, but right at the bottom. + + +=head1 Tasks for microperl + + +[ Each and every one of these may be obsolete, but they were listed + in the old Todo.micro file] + + +=head2 make creating uconfig.sh automatic + +=head2 make creating Makefile.micro automatic + +=head2 do away with fork/exec/wait? + +(system, popen should be enough?) + +=head2 some of the uconfig.sh really needs to be probed (using cc) in buildtime: + +(uConfigure? :-) native datatype widths and endianness come to mind +