Blame TODO

Packit 792b68

Packit 792b68
 TO DO
Packit 792b68
 =====
Packit 792b68

Packit 792b68
 SHORT TERM
Packit 792b68
 ----------
Packit 792b68
 * Remove Pod::PlainText from the PodParser distribution once it has
Packit 792b68
   replaced Pod::Text (in functin and in name) in the latest stable
Packit 792b68
   Perl distribution (this is slated to happen for Perl 5.6, its currently
Packit 792b68
   in 5.005_58 now but thats stil considered a development versin rather
Packit 792b68
   than "stable").
Packit 792b68

Packit 792b68
 * Make the test-suite more portable (for Mac + VMS + NT) without having
Packit 792b68
   to use lots of ugly conditional code. There has to be a better way
Packit 792b68
   to to dissect and reconstruct filepaths than what 5.004 currently
Packit 792b68
   offers.
Packit 792b68

Packit 792b68
 * Add the ability to use callbacks _instead_ _of_ inheritance if so
Packit 792b68
   desired (or mix+match 'em as you wish). This means that there should
Packit 792b68
   be a way to use callbacks instead of inheritance for the equivalent
Packit 792b68
   of each of the abstract base class methods that do text processing
Packit 792b68
   (like preprocess_xxxxx and {begin,end}_xxxx and others). This will go
Packit 792b68
   into a module named Pod::Callbacks.
Packit 792b68

Packit 792b68
 * IMPROVE PERFORMANCE!!! (its getting kind of slow)
Packit 792b68

Packit 792b68
 * Implement -ranges "option" to Pod::Select & podselect
Packit 792b68

Packit 792b68

Packit 792b68
 LONG TERM
Packit 792b68
 ---------
Packit 792b68

Packit 792b68
 * Maybe create a Pod::Compiler class that reads a POD and returns a
Packit 792b68
   list of Pod::Paragraphs objects?
Packit 792b68

Packit 792b68
 * Make changes necessary to accommodate Kenneth Albanowski's Pod::Simplify
Packit 792b68
   module so that it may use Pod::Parser.
Packit 792b68

Packit 792b68
 * See about providing the ability (perhaps via constructor options) to turn
Packit 792b68
   off certain unwanted Pod::Parser features in order to improve performance
Packit 792b68
   (things like calling preprocess_xxx() methods and/or some other "virtual"
Packit 792b68
   member function calls that a subclass might not want to make use of).
Packit 792b68

Packit 792b68
 * Try to allow the user to provide a callback function/method which could
Packit 792b68
   be used in place of the parse_paragraph() method and/or the command(),
Packit 792b68
   verbatim(), and textblock() methods.  Such a callback might be provided
Packit 792b68
   as a constructor argument to Pod::Parser.  Perhaps it might be possible
Packit 792b68
   to pass the callback method an array of lines or of paragraphs (rather
Packit 792b68
   than one input block at a time) if certain options are specified.
Packit 792b68

Packit 792b68
 * In Pod::Checker, check that =encoding specifies a valid encoding;
Packit 792b68
   possibly by using the Encode module?
Packit 792b68

Packit 792b68
 * Add a check of Perl core pods (as suggested by M. Schwern):
Packit 792b68
   The follow test runs each pod/*.pod file through Pod::Checker and fails
Packit 792b68
   if there are any warnings or errors.  There are a handful of errors and 
Packit 792b68
   huge amounts of warnings.
Packit 792b68
   This patch should not be applied to the main sources until the warnings 
Packit 792b68
   are cleaned up.
Packit 792b68

Packit 792b68
--- t/pod/corepods.t	2002/12/10 22:36:52	1.1
Packit 792b68
+++ t/pod/corepods.t	2002/12/10 23:21:25
Packit 792b68
@@ -0,0 +1,22 @@
Packit 792b68
+#!perl -w
Packit 792b68
+
Packit 792b68
+BEGIN {
Packit 792b68
+    chdir 't';
Packit 792b68
+    @INC = '../lib';
Packit 792b68
+}
Packit 792b68
+
Packit 792b68
+use Pod::Checker;
Packit 792b68
+use Test::More;
Packit 792b68
+use File::Spec;
Packit 792b68
+
Packit 792b68
+chdir File::Spec->updir;
Packit 792b68
+my @podfiles = glob "pod/*.pod";
Packit 792b68
+plan tests => scalar @podfiles;
Packit 792b68
+
Packit 792b68
+my $checker = Pod::Checker->new;
Packit 792b68
+
Packit 792b68
+foreach my $podfile (@podfiles) {
Packit 792b68
+    $checker->parse_from_file($podfile, \*STDERR);
Packit 792b68
+    is( $checker->num_errors,   0, "podchecker $podfile error check" );
Packit 792b68
+    is( $checker->num_warnings, 0, "podchecker $podfile warnings check" );
Packit 792b68
+}
Packit 792b68

Packit 792b68

Packit 792b68

Packit 792b68
Pod::Checker etc.:
Packit 792b68

Packit 792b68
Brad:
Packit 792b68

Packit 792b68
 * I do not think there should ever be any complaint about the first
Packit 792b68
   =pod directive being something other than =head (or other than =pod and
Packit 792b68
   =head) unless some kind of '-strictmanpagestyle' option is set. There is
Packit 792b68
   no law that says the beginning of ever document has to be a heading.
Packit 792b68
   Sometimes it useful to have an untitled intro. Now it *is* true that any
Packit 792b68
   manpage should start with a heading, but not any POD document in general.
Packit 792b68

Packit 792b68
   => implement '-manpage' option for Pod::Checker?
Packit 792b68

Packit 792b68
Wolfgang Laun:
Packit 792b68

Packit 792b68
 * =over/=back without intervening =item produces a warning even when
Packit 792b68
   there are pararaphs in between. But this could be used to produce
Packit 792b68
   indented paragraphs. Restrict warning to completely empty lists?
Packit 792b68

Packit 792b68
   => is this legal POD at all? Currently a warning is printed
Packit 792b68