X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=pod%2Fperltodo.pod;h=a8a6d797cc656c8d6a8f5f1ea164dd8c8c487de4;hb=3246d7a3ad86dfa806dd7e514ae5fd2dacd5c0ef;hp=aa8545b0892ea619222f36fd1ffafcbaf25a2660;hpb=2d84a16a79dbb993063e4052e2e5e7a2dca5effc;p=p5sagit%2Fp5-mst-13.2.git diff --git a/pod/perltodo.pod b/pod/perltodo.pod index aa8545b..a8a6d79 100644 --- a/pod/perltodo.pod +++ b/pod/perltodo.pod @@ -4,826 +4,664 @@ perltodo - Perl TO-DO List =head1 DESCRIPTION -This is a list of wishes for Perl. Send updates to -I. If you want to work on any of these -projects, be sure to check the perl5-porters archives for past ideas, -flames, and propaganda. This will save you time and also prevent you -from implementing something that Larry has already vetoed. One set -of archives may be found at: +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. - http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/ - -=head1 To do during 5.6.x - -=head2 Support for I/O disciplines - -C provides this, but the interface could be a lot more -straightforward. +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 +ideas, and any discussion about them. One set of archives may be found at: -=head2 Autoload bytes.pm - -When the lexer sees, for instance, C, it should -automatically load the C pragma. + http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/ -=head2 Make "\u{XXXX}" et al work +What can we offer you in return? Fame, fortune, and everlasting glory? Maybe +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? -Danger, Will Robinson! Discussing the semantics of C<"\x{F00}">, -C<"\xF00"> and C<"\U{F00}"> on P5P I lead to a long and boring -flamewar. +=head1 The roadmap to 5.10 -=head2 Create a char *sv_pvprintify(sv, STRLEN *lenp, UV flags) +The roadmap to 5.10 envisages feature based releases, as various items in this +TODO are completed. -For displaying PVs with control characters, embedded nulls, and Unicode. -This would be useful for printing warnings, or data and regex dumping, -not_a_number(), and so on. +=head2 Needed for a 5.9.4 release -Requirements: should handle both byte and UTF8 strings. isPRINT() -characters printed as-is, character less than 256 as \xHH, Unicode -characters as \x{HHH}. Don't assume ASCII-like, either, get somebody -on EBCDIC to test the output. +=over -Possible options, controlled by the flags: -- whitespace (other than ' ' of isPRINT()) printed as-is -- use isPRINT_LC() instead of isPRINT() -- print control characters like this: "\cA" -- print control characters like this: "^A" -- non-PRINTables printed as '.' instead of \xHH -- use \OOO instead of \xHH -- use the C/Perl-metacharacters like \n, \t -- have a maximum length for the produced string (read it from *lenp) -- append a "..." to the produced string if the maximum length is exceeded -- really fancy: print unicode characters as \N{...} +=item * -=head2 Overloadable regex assertions +Review assertions. Review syntax to combine assertions. Assertions could take +advantage of the lexical pragmas work. L -This may or may not be possible with the current regular expression -engine. The idea is that, for instance, C<\b> needs to be -algorithmically computed if you're dealing with Thai text. Hence, the -B<\b> assertion wants to be overloaded by a function. +=back -=head2 Unicode +=head2 Needed for a 5.9.5 release -=over 4 +=over =item * - - Case Mappings? http://www.unicode.org/unicode/reports/tr21/ - -lc(), uc(), lcfirst(), and ucfirst() work only for some of the -simplest cases, where the mapping goes from a single Unicode character -to another single Unicode character. See lib/unicore/SpecCase.txt -(and CaseFold.txt). +Implement L =item * - -They have some tricks Perl doesn't yet implement like character -class subtraction. - - http://www.unicode.org/unicode/reports/tr18/ +Implement L =back -See L for what's -there and what's missing. - -=head2 use Thread for iThreads - -Artur Bergman's C module is a start on this, but needs to -be more mature. - -=head2 make perl_clone optionally clone ops +=head2 Needed for a 5.9.6 release -So that pseudoforking, mod_perl, iThreads and nvi will work properly -(but not as efficiently) until the regex engine is fixed to be threadsafe. +Stabilisation. If all goes well, this will be the equivalent of a 5.10-beta. -=head2 Work out exit/die semantics for threads +=head1 Tasks that only need Perl knowledge -=head2 Typed lexicals for compiler +=head2 common test code for timed bail out -=head2 Compiler workarounds for Win32 +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. -=head2 AUTOLOADing in the compiler +=head2 POD -> HTML conversion in the core still sucks -=head2 Fixing comppadlist when compiling +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 +flexibility POD allows for C<=item>, but it would be good to improve the +visual appeal of the HTML generated, and to avoid it having any validation +errors. See also L, as the layout of installation tree +is needed to improve the cross-linking. -=head2 Cleaning up exported namespace +The addition of C and its related modules may make this task +easier to complete. -=head2 Complete signal handling +=head2 Parallel testing -Add C to opcodes which loop; replace C with -C; check C for signal safety. +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