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