Yay, test suite!
The test suite currently doesn't test any of the module options, =for,
=begin/=end, or some of the other odder edge conditions, but it does test
all of Pod::Man, Pod::Text, and the three Pod::Text::* sub-modules, as
well as testing Pod::ParseLink pretty thoroughly. (It compares the
formatter output against saved output that's been hand-checked, which
isn't the most ideal testing approach but it's the best idea that we've
come up with for large-scale translator testing yet.)
Other translator authors may want to look at basic.pod; it's a pretty
decent torture test of weird things (and patches to make it more of a
torture test will be happily accepted).
This release also cleans up a bunch of minor bugs that were turned up by
the test suite, including fixing all the -w noise in Pod::Text and
Pod::ParseLink and fixing some major problems with formatting codes in
headings with Pod::Text::Overstrike.
Does anyone actually use pod2text --alt? I'm really tempted to remove it;
it's a bit of a hassle to maintain.
The URL
ftp://ftp.eyrie.org/pub/software/modules/podlators-1.14.tar.gz
has entered CPAN as
file: $CPAN/authors/id/R/RR/RRA/podlators-1.14.tar.gz
size: 61048 bytes
md5: dd4fdfdcb714552c8bc08a4f8ff8f0c7
No action is required on your part
Request entered by: RRA (Russ Allbery)
Request entered on: Fri, 23 Nov 2001 10:18:49 GMT
Request completed: Fri, 23 Nov 2001 10:19:42 GMT
Changes from previous release:
2001-11-23 Russ Allbery <[EMAIL PROTECTED]>
* VERSION: podlators 1.14 released.
* t/parselink.t: New file.
* t/basic.t: New file.
* t/basic.cap: New file.
* t/basic.clr: New file.
* t/basic.ovr: New file.
* t/basic.man: New file.
* t/basic.pod: New file.
* t/basic.txt: New file.
* lib/Pod/Text/Overstrike.pm (strip_format): New function.
(seq_b): Use it.
(seq_f): Likewise.
(seq_i): Likewise.
(heading): New override to prevent excessive interpolation, since
it's necessary to interpolate before formatting or the formatting
codes end up in the output.
(cmd_head1): Simplify, interpolate here, and use strip_format.
(cmd_head2): Likewise.
(cmd_head3): Likewise.
(cmd_head4): New function, doing the same as cmd_head3().
* lib/Pod/Man.pm (initialize): Move initialization of per-file
variables from here...
(begin_pod): ...to here. Remove WEIRDINDENT, add SHIFTS, and
rename NEWINDENT to SHIFTWAIT.
(textblock): Maintain a stack of shifts rather than using
WEIRDINDENT. Rename NEWINDENT to SHIFTWAIT.
(cmd_over): Likewise.
(cmd_back): Likewise.
(cmd_item): Likewise.
(cmd_head3): Use font escapes rather than .I to avoid strange
problems with quoting, at least for =head3. =head1 and =head2
likely still have troubles with repeated double-quotes.
(outindex): Accumulate output in an array to avoid some duplicate
code.
(switchquotes): Fix all fixed-width font changes for nroff, not
just the simple ones, and don't hard-code the value of any
fixed-width font.
2001-11-22 Russ Allbery <[EMAIL PROTECTED]>
* lib/Pod/ParseLink.pm (_parse_section): Fix a bug in the handling
of link text that's entirely in quotes.
* lib/Pod/Text.pm (heading): New function, for generic code for
all headings. loose now applies to all headers, not just =head1.
Also output any =item tags left open.
(cmd_head1): Use it.
(cmd_head2): Likewise.
(cmd_head3): Likewise.
(cmd_head4): Likewise.
(cmd_over): Output any =item tags left open.
(cmd_back): Likewise.
(command): No longer handle open =item tags here since this is now
handled by individual commands. Fixes handling of =for or
=begin/=end in =item paragraphs.
(cmd_item): Default to a tag of "*" if none is given.
(item): Insert some whitespace for empty item paragraphs to keep
them from blending into subsequent text. Fix -w warnings.
* lib/Pod/ParseLink.pm: Documentation fixes. Double quotes are
only removed around sections, not names. Text entirely enclosed
in double quotes is interpreted as a link to a section. Expand
the explanation of formatting codes inside L<> codes.
(_parse_section): Avoid -w warnings on empty page or section
components.
(parselink): Avoid -w warnings on empty name components.
* lib/Pod/Man.pm (begin_pod): When intuiting the man page name for
a module, also strip $^O by itself as a directory component even
when not preceeded or followed by a dash and other text.
--
Russ Allbery ([EMAIL PROTECTED]) <http://www.eyrie.org/~eagle/>