1 2 TO DO 3 ===== 4 5 SHORT TERM 6 ---------- 7 * Remove Pod::PlainText from the PodParser distribution once it has 8 replaced Pod::Text (in functin and in name) in the latest stable 9 Perl distribution (this is slated to happen for Perl 5.6, its currently 10 in 5.005_58 now but thats stil considered a development versin rather 11 than "stable"). 12 13 * Make the test-suite more portable (for Mac + VMS + NT) without having 14 to use lots of ugly conditional code. There has to be a better way 15 to to dissect and reconstruct filepaths than what 5.004 currently 16 offers. 17 18 * Add the ability to use callbacks _instead_ _of_ inheritance if so 19 desired (or mix+match 'em as you wish). This means that there should 20 be a way to use callbacks instead of inheritance for the equivalent 21 of each of the abstract base class methods that do text processing 22 (like preprocess_xxxxx and {begin,end}_xxxx and others). This will go 23 into a module named Pod::Callbacks. 24 25 * IMPROVE PERFORMANCE!!! (its getting kind of slow) 26 27 * Implement -ranges "option" to Pod::Select & podselect 28 29 30 LONG TERM 31 --------- 32 33 * Maybe create a Pod::Compiler class that reads a POD and returns a 34 list of Pod::Paragraphs objects? 35 36 * Make changes necessary to accommodate Kenneth Albanowski's Pod::Simplify 37 module so that it may use Pod::Parser. 38 39 * See about providing the ability (perhaps via constructor options) to turn 40 off certain unwanted Pod::Parser features in order to improve performance 41 (things like calling preprocess_xxx() methods and/or some other "virtual" 42 member function calls that a subclass might not want to make use of). 43 44 * Try to allow the user to provide a callback function/method which could 45 be used in place of the parse_paragraph() method and/or the command(), 46 verbatim(), and textblock() methods. Such a callback might be provided 47 as a constructor argument to Pod::Parser. Perhaps it might be possible 48 to pass the callback method an array of lines or of paragraphs (rather 49 than one input block at a time) if certain options are specified. 50 51 * In Pod::Checker, check that =encoding specifies a valid encoding; 52 possibly by using the Encode module? 53 54 * Add a check of Perl core pods (as suggested by M. Schwern): 55 The follow test runs each pod/*.pod file through Pod::Checker and fails 56 if there are any warnings or errors. There are a handful of errors and 57 huge amounts of warnings. 58 This patch should not be applied to the main sources until the warnings 59 are cleaned up. 60 61--- t/pod/corepods.t 2002/12/10 22:36:52 1.1 62+++ t/pod/corepods.t 2002/12/10 23:21:25 63@@ -0,0 +1,22 @@ 64+#!perl -w 65+ 66+BEGIN { 67+ chdir 't'; 68+ @INC = '../lib'; 69+} 70+ 71+use Pod::Checker; 72+use Test::More; 73+use File::Spec; 74+ 75+chdir File::Spec->updir; 76+my @podfiles = glob "pod/*.pod"; 77+plan tests => scalar @podfiles; 78+ 79+my $checker = Pod::Checker->new; 80+ 81+foreach my $podfile (@podfiles) { 82+ $checker->parse_from_file($podfile, \*STDERR); 83+ is( $checker->num_errors, 0, "podchecker $podfile error check" ); 84+ is( $checker->num_warnings, 0, "podchecker $podfile warnings check" ); 85+} 86 87 88 89Pod::Checker etc.: 90 91Brad: 92 93 * I do not think there should ever be any complaint about the first 94 =pod directive being something other than =head (or other than =pod and 95 =head) unless some kind of '-strictmanpagestyle' option is set. There is 96 no law that says the beginning of ever document has to be a heading. 97 Sometimes it useful to have an untitled intro. Now it *is* true that any 98 manpage should start with a heading, but not any POD document in general. 99 100 => implement '-manpage' option for Pod::Checker? 101 102Wolfgang Laun: 103 104 * =over/=back without intervening =item produces a warning even when 105 there are pararaphs in between. But this could be used to produce 106 indented paragraphs. Restrict warning to completely empty lists? 107 108 => is this legal POD at all? Currently a warning is printed 109 110