[ SEA-GHOST MINI SHELL]
2013-02-27 Russ Allbery <rra@stanford.edu>
* VERSION: podlators 2.5.1 released.
* t/color.t: Add Z<> to tag width test to avoid triggering the new
Pod::Parser warning about numeric items in description lists.
* t/overstrike.t: Likewise.
* t/termcap.t: Likewise.
* t/man.t: Remove the test for proper handling of lists that start
with a non-bullet and then have an item that looks like a bullet.
This now triggers a warning in Pod::Simple. Move it to...
* t/man-options.t: ...here, where we can configure the parser to
ignore errors and test that the output is correct.
2013-01-02 Russ Allbery <rra@stanford.edu>
* VERSION: podlators 2.5.0 released.
* lib/Pod/Man.pm (guesswork): Extend a small-caps section through
the punctuation that commonly appears in license disclaimers so
that small caps isn't turned on and off at the boundaries of every
word, producing unreadable *roff.
* t/man.t: Test the updated small-caps behavior.
* lib/Pod/Man.pm (new): Support a new errors option with values
die, stderr, pod, and none. Convert the stderr option to the
errors option with value stderr. (#39007)
(end_document): Die if errors was set to die and there were POD
syntax errors.
* lib/Pod/Text.pm (new): Likewise.
(end_document): Likewise.
* scripts/pod2man: Support a new --errors option that sets the
underlying errors formatter option and default to dying on POD
syntax errors.
* scripts/pod2text: Likewise.
* t/man-options.t: Add support for catching exceptions during
formatting. Test valid and invalid errors settings.
* t/text-options.t: Likewise.
* lib/Pod/Man.pm (cmd_l): Add nourls option to suppress the URL
from L<> formatting codes that contain anchor text. (#62210)
* lib/Pod/Text.pm (cmd_l): Likewise.
* scripts/pod2man: New --nourls option to set the corresponding
option in Pod::Man.
* scripts/pod2text: Likewise for Pod::Text.
* t/man-options.t: Test new nourls option.
* t/text-options.t: Likewise.
* lib/Pod/Man.pm (outindex): Also collapse consecutive whitespace
in index term text.
* t/man.t: Test for handling of index terms containing whitespace.
2013-01-02 Kevin Ryde <user42@zip.com.au>
* lib/Pod/Man.pm (outindex): Remove newlines from index term text
since *roff quotes don't span lines. (#82332)
2012-06-01 Russ Allbery <rra@stanford.edu>
* VERSION: podlators 2.4.2 released.
* t/text-encoding.t: Remove the test of a POD document without an
encoding. We previously tested that this interpreted the document
as ISO 8859-1, but Pod::Simple behavior has changed so that the
test started failing, plus Pod::Simple now warns about a missing
=encoding. (#77553)
2012-05-30 Russ Allbery <rra@stanford.edu>
* VERSION: podlators 2.4.1 released.
* lib/Pod/Man.pm (parse_file): Override the Pod::Simple method to
set output_fh to STDOUT if it's not already set. (#77530)
* lib/Pod/Text.pm (parse_file): Likewise.
2012-05-26 Russ Allbery <rra@stanford.edu>
* t/basic.t: Embed PID in file names to avoid conflicts when
running the test suite in parallel. (#62083)
* t/color.t: Likewise.
* t/filehandle.t: Likewise.
* t/man-heading.t: Likewise.
* t/man-options.t: Likewise.
* t/man-perlio.t: Likewise.
* t/man-utf8.t: Likewise.
* t/man.t: Likewise.
* t/overstrike.t: Likewise.
* t/pod-parser.t: Likewise.
* t/termcap.t: Likewise.
* t/text-encoding.t: Likewise.
* t/text-options.t: Likewise.
* t/text-perlio.t: Likewise.
* t/text-utf8.t: Likewise.
* t/text.t: Likewise.
* t/man.t: Add another test for anchor text based on an RT ticket.
* t/text.t: Likewise.
* lib/Pod/Man.pm (start_document): Request details on PerlIO
layers to look for the UTF8 flag, which is not a layer in its own
right. Based on a patch from Leon Timmermans. (#76440)
* lib/Pod/Text.pm (start_document): Likewise.
* lib/Pod/Man.pm (preamble_template): Fix handling of the F
register when processing multiple documents at once. .IX will now
continue to be defined for documents after the first, and the page
number will not be reset at the start of each document. Thanks to
Nicholas Clark for the analysis. (perl #103202)
* lib/Pod/Man.pm (start_document): Remove CONTENTLESS parser state
between documents.
* lib/Pod/Text.pm (start_document): Set CONTENTLESS in the parser
if the document contained no content.
* scripts/pod2man: Report an error and remove the empty output
file if the input file had no content (if it did not exist, for
example). Exit with non-zero status if there were any errors.
Based on a patch by Dmitry Smirnov. (#75099)
* scripts/pod2text: Likewise.
* lib/Pod/Man.pm (cmd_l): Format the URL text before comparing it
to the anchor when deciding whether to show separate anchor text.
This avoids spurious mismatches between the URL target and anchor
text because the anchor text was already formatted and has (for
example) hyphens escaped. (#76396)
* t/man.t: Test L<> formatting codes with URLs containing hyphens.
* lib/Pod/Man.pm (preamble_template): Define \*(C` and \*(C' to
the empty string when processed through troff to avoid groff
warnings. Avoid warnings from checking the F register (used to
enable index output) when running under groff. Patch from Bjarni
Ingi Gislason. (#75434)
2012-02-14 Russ Allbery <rra@stanford.edu>
* Makefile.PL: Stop removing pod2man and pod2text on make
realclean, left over from when they were *.PL scripts. (#74848)
2011-12-20 Russ Allbery <rra@stanford.edu>
* lib/Pod/Man.pm: Fix the ASCII fallback string for the AE
ligature to use the string that was actually defined.
2010-10-10 Russ Allbery <rra@stanford.edu>
* VERSION: podlators 2.4.0 released.
* scripts/pod2man: Remove the code to generate the #! line and
supporting code and instead rely on ExtUtils::MakeMaker to handle
that during package build.
* scripts/pod2text: Likewise.
* scripts/pod2man.PL: Renamed to pod2man.
* scripts/pod2text.PL: Renamed to pod2text.
* Makefile.PL: Remove PL_FILES section.
* pod/perlpodstyle.pod: New style guide for POD documentation,
split mostly from the NOTES section of the pod2man man page.
* scripts/pod2man.PL: Remove NOTES section, now maintained as the
separate perlpodstyle document.
* Makefile.PL: Add perlpodstyle.1 to the generated man pages.
* lib/Pod/Man.pm (cmd_para): Do not strip escaped trailing
whitespace, such as that created by S<> at the end of a line,
since the backslash is then taken by *roff as escaping the
newline. Thanks, Kevin Ryde. (#61781)
* t/man.t: Test S<> at the end of lines.
* lib/Pod/Man.pm (output): If the utf8 option is given, encode
output in UTF-8 if there is no encoding layer. Now requires the
Encode module.
(start_document): Rather than forcibly change the PerlIO encoding
layer, probe the PerlIO layers with protection for Perl versions
without PerlIO and set a flag indicating whether to encode on the
fly on output.
* lib/Pod/Text.pm: Likewise.
* Makefile.PL: Mark Encode as required.
* t/man-perlio.t: Test Pod::Man output to a file handle with a
PerlIO encoding layer already applied.
* t/text-perlio.t: Likewise for Pod::Text.
2010-02-17 Russ Allbery <rra@stanford.edu>
* VERSION: podlators 2.3.1 released.
* lib/Pod/Text/Color.pm: Update $VERSION for recent changes.
* lib/Pod/Text/Termcap.pm: Likewise.
2009-12-28 Russ Allbery <rra@stanford.edu>
* VERSION: podlators 2.3.0 released.
* lib/Pod/Man.pm (_handle_element_start): Do not turn off IN_NAME
for any formatting code.
(cmd_b): Suppress formatting if in the NAME section to not confuse
lexgrog.
(cmd_i): Likewise.
(cmd_f): Likewise.
* t/man.t: Test formatting codes in the NAME section.
* lib/Pod/ParseLink.pm (parselink): Allow anchor text for URLs as
well. Fix the check of the anchor text to not think no text was
provided when the text was "0".
* t/parselink.t: Test anchor text of "0" and anchor text with
URLs.
* Makefile.PL: Require Pod::Simple 3.06 or later for proper
handling of L<> tags with anchor text.
* t/text.t: Remove logic to skip an S<> test for Pod::Simple
versions earlier than 3.06.
* lib/Pod/Man.pm (cmd_l): Support anchor text for L<> links of
type URL by rendering the anchor text and then the URL in angle
brackets.
* lib/Pod/Text.pm (cmd_l): Likewise.
* t/man.t: Test rendering of L<> URL links with anchor text.
* t/text.t: Likewise.
* lib/Pod/Text.pm (strip_format): New function.
(item): When formatting item tags, use the width of the tag
without formatting codes. This does not change the output of
Pod::Text but provides a hook for correct formatting in
subclasses. Thanks, David Hull.
* lib/Pod/Text/Color.pm (strip_format): New function.
* lib/Pod/Text/Termcap.pm (strip_format): New function.
* t/color.t: Test proper formatting of item tags which have
formatting codes applied.
* t/termcap.t: Likewise.
* t/overstrike.t: New test of Pod::Text::Overstrike.
* t/basic.t: Use Test::More for testing. Remove duplicate
addition of ../blib/lib to the library search path.
* t/color.t: Likewise.
* t/filehandle.t: Likewise.
* t/man-heading.t: Likewise.
* t/man-options.t: Likewise.
* t/man-utf8.t: Likewise.
* t/man.t: Likewise.
* t/parselink.t: Likewise.
* t/pod-parser.t: Likewise.
* t/termcap.t: Likewise.
* t/text-encoding.t: Likewise.
* t/text-options.t: Likewise.
* t/text-utf8.t: Likewise.
* t/text.t: Likewise.
* t/pod-spelling.t: Update to the current version of this test
from C TAP Harness 1.1, converting it to use Test::More.
* t/pod.t: Likewise.
2009-06-15 Russ Allbery <rra@stanford.edu>
* t/basic.t: Unlink temporary files in a loop to be sure that all
versions are deleted on VMS. Thanks, John E. Malmberg.
* t/color.t: Likewise.
* t/filehandle.t: Likewise.
* t/man-options.t: Likewise.
* t/man-utf8.t: Likewise.
* t/man.t: Likewise.
* t/pod-parser.t: Likewise.
* t/termcap.t: Likewise.
* t/text-encoding.t: Likewise.
* t/text-options.t: Likewise.
* t/text-utf8.t: Likewise.
* t/text.t: Likewise
2009-03-29 Russ Allbery <rra@stanford.edu>
* lib/Pod/Man.pm (outindex): Escape backslashes in the quoted text
of .IX macros generated from X<> formatting code.
* t/man.t: Add test case for X<\n>.
2009-03-05 Russ Allbery <rra@stanford.edu>
* scripts/pod2man.PL: Clarify that no markup should be used in the
NAME section of a manual page.
2009-02-28 Russ Allbery <rra@stanford.edu>
* lib/Pod/Man.pm (devise_date): Avoid POSIX::strftime because
POSIX requires Fcntl, which is an XS module, and hence can't build
in miniperl. This allows ExtUtils::MakeMaker to build as a normal
module in Perl core. Thanks, Michael G Schwern.
* t/devise-date.t: Test that Pod::Man's devise_date method matches
the output of strftime.
* lib/Pod/Man.pm (_handle_element_start): Don't exit IN_NAME mode
because of a C<> block. Thanks, Niko Tyni.
(quote_literal): Return an ASCII quoted string if in the NAME
section to avoid confusing lexgrog. Thanks, Niko Tyni.
* t/man.t: Test C<> in the NAME section.
2009-01-17 Russ Allbery <rra@stanford.edu>
* VERSION: podlators 2.2.2 released.
* t/man-heading.t: New file testing Pod::Man options for changing
the .TH line of the generated man page.
* lib/Pod/Text.pm (cmd_verbatim): Correctly handle indentation of
verbatim paragraphs that contain lines with only whitespace.
Thanks, Renee Baecker.
* t/text.t: Test for this fix.
2008-12-19 Russ Allbery <rra@stanford.edu>
* VERSION: podlators 2.2.1 released.
* t/man.t: Add a test of =for.
* t/text.t: Likewise.
2008-11-07 Russ Allbery <rra@stanford.edu>
* t/text-encoding.t: Also set raw encoding on the output file
handle so that the test works properly on Windows. Thanks, Steve
Hay.
2008-11-03 Russ Allbery <rra@stanford.edu>
* lib/Pod/Text.pm (pod2text): Properly initialize the output file
handle when called with only one argument. Thanks, Michael G
Schwern.
* t/pod-parser.t: Test the pod2text function with one argument.
2008-10-05 Russ Allbery <rra@stanford.edu>
* VERSION: podlators 2.2.0 released.
* t/pod-spelling.t: Skip all tests unless RRA_MAINTAINER_TESTS is
set in the environment. Spelling dictionaries are too different
between systems. Use a comment on the plan line to indicate
skipping the entire file.
* lib/Pod/Man.pm: Spelling fixes.
* lib/Pod/ParseLink.pm: Likewise.
* scripts/pod2man.PL: Likewise.
* lib/Pod/ParseLink.pm: Quote version number to preserve any
trailing zeroes.
* lib/Pod/Text/Color.pm: Likewise.
* lib/Pod/Text/Overstrike.pm: Likewise.
* lib/Pod/Text/Termcap.pm: Likewise.
* lib/Pod/Man.pm: Document the PerlIO limitations of the current
implementation and the requirement that encodings of input POD
source be properly declared.
(start_document): If the utf8 option is set, force the encoding of
the output file handle to UTF-8.
* lib/Pod/Text.pm: Document the PerlIO limitations of the current
implementation and the requirement that encodings of input POD
source be properly declared.
(output): Try to force the encoding of the output file handle to
match the encoding of the POD source if the utf8 option is not
set, matching the pre-Unicode behavior.
(start_document): If the utf8 option is set, force the encoding of
the output filel handle to UTF-8.
* scripts/pod2man.PL: Document the requirement that encodings of
input POD source be properly declared for --utf8 support.
* scripts/pod2text.PL: Add --utf8 option.
* t/man-utf8.t: Stop forcing the output encoding to UTF-8.
* t/text-utf8.t: Likewise.
* t/text-encoding.t: New file. Additional tests for encoding
combinations with Pod::Text.
2008-09-21 Russ Allbery <rra@stanford.edu>
* VERSION: podlators 2.1.4 released.
* t/pod-spelling.t: Also support aspell and search for it before
ispell. Red Hat's ispell is actually aspell and doesn't support
the same arguments.
* lib/Pod/Man.pm: Add additional stopwords needed by aspell.
* lib/Pod/Text.pm: Likewise.
* lib/Pod/Text/Overstrike.pm: Likewise.
* scripts/pod2man.PL: Likewise.
* scripts/pod2text.PL: Likewise.
* t/man-options.t: Separate UTF-8 tests out to....
* t/man-utf8.t: ...here. New file. Skip UTF-8 tests for versions
of Perl prior to 5.8.
* t/text-utf8.t: Skip UTF-8 tests for versions of Perl prior to
5.8.
2008-09-14 Russ Allbery <rra@stanford.edu>
* VERSION: podlators 2.1.3 released.
* lib/Pod/Man.pm (new): Support a stderr option, saying to send
errors to standard error instead of a POD ERRORS section.
* lib/Pod/Text.pm (new): Likewise.
* scripts/pod2man.PL: New --stderr option.
* scripts/pod2text.PL: Likewise.
* t/man-options.t: Test POD ERRORS vs. stderr handling.
* t/text-options.t: Likewise.
* t/text-utf8.t: New test for UTF-8 handling in Pod::Text.
* lib/Pod/Text.pm (output): Better document why we're doing
character transformations on output.
* t/man-options.t: Properly set encoding on file descriptors and
in the POD file so that UTF-8 tests are handled with the correct
encoding. Now that the test file is properly encoded, test that
non-breaking spaces doesn't interfere with hyphen detection.
* lib/Pod/Man.pm (format_text): Stop remapping the code point for
non-breaking space. This should not be necessary and was wrong
when the string from Pod::Simple was a character string and not a
byte string. It was papering over a bug in setting the encoding
of an input POD file.
2008-08-08 Russ Allbery <rra@stanford.edu>
* t/pod-spelling.t: Suppress the personal ispell dictionary when
checking spelling.
* lib/Pod/Man.pm: Add additional stopwords that were in my
personal dictionary.
* lib/Pod/ParseLink.pm: Likewise.
* scripts/pod2man.PL: Likewise.
2008-08-07 Russ Allbery <rra@stanford.edu>
* scripts/pod2man.PL: Mention --utf8 in the SYNOPSIS.
2008-07-20 Russ Allbery <rra@stanford.edu>
* VERSION: podlators 2.1.2 released.
* t/pod-spelling.t: New check to spell-check all POD
documentation using ispell with Pod::Spell.
* lib/Pod/Man.pm: Fix spelling and markup errors in
documentation and add stop-words where appropriate.
* lib/Pod/ParseLink.pm: Likewise.
* lib/Pod/Text.pm: Likewise.
* lib/Pod/Text/Color.pm: Likewise.
* lib/Pod/Text/Overstrike.pm: Likewise.
* lib/Pod/Text/Termcap.pm: Likewise.
* scripts/pod2man.PL: Likewise.
* scripts/pod2text.PL: Likewise.
* lib/Pod/Man.pm (cmd_head2): Use .SS instead of a local .Sh
macro for subheadings.
(preamble_template): Don't define .Sh.
* t/basic.man: Update output accordingly.
* t/man.t: Likewise.
* lib/Pod/Man.pm (format_text): Remap ISO 8850-1 non-breaking
spaces produced by Pod::Simple to the corresponding UTF-8 code
point for UTF-8 output.
* t/man-options.t: Test S<> output with UTF-8 enabled.
2008-07-03 Russ Allbery <rra@stanford.edu>
* VERSION: podlators 2.1.1 released.
* t/man-options.t: Test changing the fixed-width fonts.
* lib/Pod/Man.pm (preamble): Pass a flag to preamble_template
indicating whether the output is in UTF-8.
(preamble_template): Don't include the accent mark definitions if
the output is in UTF-8.
* t/man-options.t: Test omission of the accent mark definitions
for UTF-8 output.
* Makefile.PL: Make the LICENSE key conditional on Perl 5.10 or
later since it wasn't supported in Perl 5.8.
2008-06-04 Russ Allbery <rra@stanford.edu>
* t/text.t: Fix test four (S<> handling with all whitespace) to
not give a spurious failure with Pod::Simple 3.06.
2008-06-01 Russ Allbery <rra@stanford.edu>
* VERSION: podlators 2.1.0 released.
* Makefile.PL: Add LICENSE.
* lib/Pod/Man.pm (format_text): If the utf8 option is set, don't
convert non-ASCII characters to *roff escapes or X. Document the
utf8 option.
* scripts/pod2man.PL: New option -u or --utf8 says to output
literal UTF-8 characters rather than pure ASCII.
* t/man-options.t: New file. Test the utf8 option.
* t/man.t: Be more cautious about passing an encoding to binmode
to allow for a Perl without PerlIO.
* lib/Pod/Man.pm (switchquotes): Match text between \f(CW and \fP
or \fR in headings non-greedily to get the fonts right with
multiple C<> formatting codes.
* t/man.t: Test =head1 with multiple C<> codes.
2008-05-14 Russ Allbery <rra@stanford.edu>
* lib/Pod/Man.pm (preamble_template): Protect .Sh text against
leading *roff control characters since some *roff implementations
apparently "look through" font escapes at the beginning of lines.
2008-05-12 Russ Allbery <rra@stanford.edu>
* lib/Pod/Man.pm (format_text): Escape backslashes separately from
processing non-ASCII characters and do that, dash escaping, and
underscore adjustment before processing non-ASCII characters.
Otherwise, we escape the hyphen in eth characters.
* t/man.t: Test for handling of eth.
2007-11-28 Russ Allbery <rra@stanford.edu>
* VERSION: podlators 2.0.6 released.
* lib/Pod/Man.pm (preamble_template): Define the IX macro to empty
rather than leaving it undefined when indexing is not requested to
eliminate warnings when groff warnings are enabled.
* lib/Pod/Man.pm (formatting): Set literal for verbatim and C<>
text.
(format_text): If literal is set, escape apostrophes and
backquotes.
(quote_literal): Recognize escaped apostrophes and backquotes.
(preamble_template): Define the string used for escaped
apostrophes.
* t/basic.man: Adjust for escaped apostrophes.
* t/man.t: Likewise, and add a new test for quote escaping.
2007-09-11 Russ Allbery <rra@stanford.edu>
* lib/Pod/Man.pm (devise_title): Simplify the logic to skip lib
directories to avoid Perl warnings and unnecessary checks.
* t/text.t: Add a test for S<> with all-whitespace contents but
skip it for the current Pod::Simple.
2006-09-16 Russ Allbery <rra@stanford.edu>
* VERSION: podlators 2.0.5 released.
* lib/Pod/Man.pm (parse_from_file): Accept and mostly ignore a
hash of options as the first option to parse_from_file. Support
an option of -cutting and configure Pod::Simple to assume the POD
has already started. This is for backward compatibility with
Pod::Parser.
* lib/Pod/Text.pm (parse_from_file): Likewise.
* t/pod-parser.t: New file to test the above.
* lib/Pod/Man.pm (guesswork): Recognize more uses of hyphens in
regular English text and allow them to be regular hyphens.
(preamble): Turn off hyphenation and, for nroff, justification
after the .TH macro since that's where groff turns them on.
* t/basic.t: Update for the new preamble.
* t/filehandle.t: Likewise.
* t/man.t: Likewise, and test the new hyphen behavior.
* t/basic.man: Adjust for the new hyphen behavior.
* t/pod.t: Add a new test for POD validity using Test::Pod (if
available).
2006-03-08 Russ Allbery <rra@stanford.edu>
* lib/Pod/Man.pm: Stop mapping vertical bar to \(bv, since it
produces Unicode characters where they aren't desirable. Remove
the preamble reference to the Tr string, which was never defined.
2006-02-19 Russ Allbery <rra@stanford.edu>
* VERSION: podlators 2.0.4 released.
* lib/Pod/Man.pm (devise_date): Pod::Simple's source_filename
method returns garbage if we're parsing from a file handle, so use
the current time if stating the returned input file fails.
* lib/Pod/Man.pm (parse_from_filehandle): New function for
backward compatibility, since Pod::Simple doesn't support the API
of Pod::Parser.
* lib/Pod/Text.pm (parse_from_filehandle): Likewise.
* t/filehandle.t: Test the parse_from_filehandle API.
2006-01-28 Russ Allbery <rra@stanford.edu>
* VERSION: podlators 2.0.3 released.
* t/basic.t: Pass in a file handle for Pod::Simple output and then
close it afterwards to work around Pod::Simple leaving file
handles open and preventing removal of temporary files on Windows.
This is temporary until a new Pod::Simple release offers a better
approach.
* t/color.t: Likewise.
* t/man.t: Likewise.
* t/termcap.t: Likewise.
* t/text-options.t: Likewise.
* t/text.t: Likewise.
2006-01-25 Russ Allbery <rra@stanford.edu>
* VERSION: podlators 2.0.2 released.
* t/man.t: Use iso-8859-1 encoding when writing out the temporary
test file and properly mark the encoding of the test that uses ISO
8859-1 characters.
* lib/Pod/Man.pm (parse_from_file): Flush the output file handle
rather than closing it. Closing it is unexpected and could break
callers.
* lib/Pod/Text.pm (parse_from_file): Likewise.
* lib/Pod/Text/Termcap.pm (wrap): Use additional temporary
variables to avoid ${char}{0,$width}, which only works in very
recent Perls.
* lib/Pod/Text/Color.pm (wrap): Likewise.
2006-01-20 Russ Allbery <rra@stanford.edu>
* VERSION: podlators 2.0.1 released.
* Makefile.PL: Require Pod::Simple 3.04.
* lib/Pod/Man.pm (parse_from_file): New method. Call reinit
before calling the parent parse_from_file method to preserve the
previous capability of reusing the same Pod::Man object for
multiple documents. Close the output file handle after
Pod::Simple returns to force the output to flush.
* lib/Pod/Text.pm (parse_from_file): Likewise.
* scripts/pod2man.PL: Use a single object for all conversions.
* scripts/pod2text.PL: Likewise. Also use parse_from_file, not
parse_file, since we're passing in two options.
* t/basic.t: Use a single formatting object and don't undef the
object after formatting.
* t/color.t: Likewise.
* t/man.t: Likewise.
* t/termcap.t: Likewise.
* t/text-options.t: Likewise.
* t/text.t: Likewise.
* lib/Pod/Text.pm (pod2text): Pod::Simple's parse_file method only
takes one argument. Pass the second argument to output_fh
instead.
* lib/Pod/Man.pm (_handle_element_end): Add trailing parens to the
end method call to make Perl 5.005 happy.
* lib/Pod/Text.pm (_handle_element_end): Likewise.
2005-11-28 Russ Allbery <rra@stanford.edu>
* VERSION: podlators 2.00 released.
* Makefile.PL: Require Pod::Simple 3.03.
* t/termcap.t: Force a particular terminal configuration to get
reliable results and update the expected results; I'm not sure
what terminal I was testing with before.
2005-03-19 Russ Allbery <rra@stanford.edu>
* lib/Pod/Man.pm: Reorder documentation sections to put SEE ALSO
last.
(devise_title): Strip vendor_perl as well as site_perl, reported
by Alexey Tourbin.
* lib/Pod/Man.pm (new): Fall back on fullstop_space_harden if
preserve_whitespace is not available.
* lib/Pod/Text.pm (new): Likewise.
2004-12-31 Russ Allbery <rra@stanford.edu>
* lib/Pod/Text/Color.pm (wrap): Count text lengths correctly when
there are multiple adjacent escape sequences. Use a temporary
variable to make the regex clearer.
* lib/Pod/Text/Termcap.pm (wrap): Likewise.
* t/color.t: New file. Test wrapping.
* t/termcap.t: New file. Test wrapping.
* t/basic.t: Skip the Pod::Text::Color tests if loading the module
failed due to a missing Term::ANSIColor.
* scripts/pod2man.PL: Move SEE ALSO to last in the section
ordering and move HISTORY directly after AUTHOR and before
COPYRIGHT AND LICENSE, based on discussion on perl5-porters.
Remove the obsolete caution against enclosing URLs in L<>.
2004-06-08 Russ Allbery <rra@stanford.edu>
* t/basic.txt: C<> without any content now produces quote marks.
* t/basic.cap: Likewise.
* t/basic.clr: Likewise.
* t/basic.ovr: Likewise.
* t/text-errors.t: Deleted. These errors are now caught by
Pod::Simple instead, which is a better place to test them.
* t/text-options.t: Add a test suite for the code option. Undef
the formatter after running it to make sure everything is closed
correctly.
* t/basic.t: Use the same interface for invoking all formatters,
since they're now all based on Pod::Simple. Undef the formatter
after running it to make sure everything is closed correctly.
* t/text.t: Likewise.
* scripts/pod2man.PL: Change another documentation reference from
Pod::Parser to Pod::Simple.
* scripts/pod2text.PL: Add support for multiple pairs of input and
output files, similar to pod2man. Change documentation references
from Pod::Parser to Pod::Simple.
* lib/Pod/Text.pm: Significantly reworked to use Pod::Simple
instead of Pod::Parser. With the exception of better E<> handling
and different handling of C<> without any content, the new
formatter produces the same output as the old one.
* lib/Pod/Text/Color.pm: Likewise.
* lib/Pod/Text/Overstrike.pm: Likewise.
* lib/Pod/Text/Termcap.pm: Likewise.
* lib/Pod/Man.pm (_handle_element_end): Correctly handle the case
where a command handler returns only "0" as the result of a
command.
2004-05-07 Russ Allbery <rra@stanford.edu>
* scripts/pod2man.PL: Make the argument to the --release flag
optional.
2004-02-14 Russ Allbery <rra@stanford.edu>
* lib/Pod/Man.pm: Refer to Pod::Simple in SEE ALSO.
* t/man.t: Destroy the parser after parsing each segment, since
this will force Pod::Simple to flush output. Add many new tests
taken from the Pod::Simple work by Sean Burke and update the
results of a few tests for the new parser.
* t/basic.pod: Remove a variety of L<> tests involving extra
whitespace and newlines that aren't supported by perlpodspec to
avoid unimportant errors.
* t/basic.cap: Update.
* t/basic.clr: Update.
* t/basic.ovr: Update.
* t/basic.txt: Update.
* t/basic.man: Update and modify for the new results from the
Pod::Simple-based Pod::Man.
* t/basic.t: Destroy the parser after parsing each file, since
that will force Pod::Simple to flush output.
* scripts/pod2man.PL: Create a new parser for each file since
Pod::Simple parsers are not reusable. Update documentation to
refer to Pod::Simple rather than Pod::Parser.
* lib/Pod/Man.pm: Completely rewritten, using input from Sean
Burke, to use Pod::Simple as the underlying parser instead of
Pod::Parser. Other than minor and unimportant variations, the new
output is identical to the old except for some small bug fixes and
better handling of E<>.
2003-07-09 Russ Allbery <rra@stanford.edu>
* VERSION: podlators 1.27 released.
* lib/Pod/Text/Termcap.pm (initialize): Handle the case where the
HOME environment variable isn't set, mostly for Windows.
2003-03-30 Russ Allbery <rra@stanford.edu>
* VERSION: podlators 1.26 released.
* lib/Pod/Man.pm: Make sure the module returns 1, to keep Perl
5.8.0 happy.
2003-01-04 Russ Allbery <rra@stanford.edu>
* VERSION: podlators 1.25 released.
* lib/Pod/Man.pm (begin_pod): Initialize ITEMTYPES.
(textblock): Fix a comment about SHIFTWAIT and SHIFTS.
(cmd_over): Push unknown onto ITEMTYPES.
(cmd_back): Pop an item type off ITEMTYPES.
(cmd_item): Set the top element of ITEMTYPES if set to unknown
based on whether this item is =item/=item * or not. Only map
asterisk to a real bullet if the item type for this =over/=back
pair is bullet. Fix a bug where =item 0 was interpreted the same
as =item.
* t/man.t: Add tests for bullet handling with =item.
2002-08-03 Russ Allbery <rra@stanford.edu>
* VERSION: podlators 1.24 released.
* lib/Pod/Text.pm (initialize): Accept margin option and use it to
set the initial indentation level.
(item): Fix handling of the colon in the margin when alt is
specified, and make it work properly in the presence of a non-zero
margin setting.
(heading): Indent headings by the margin setting.
* lib/Pod/Text/Overstrike.pm (heading): Indent headings by the
margin setting.
* scripts/pod2text.PL: Accept and document the -m option to set
the left margin.
* t/text-options.t: New file. Test margin and alt.
2002-07-14 Russ Allbery <rra@stanford.edu>
* VERSION: podlators 1.23 released.
* lib/Pod/Man.pm: Add a pointer to the module web site.
* lib/Pod/Text.pm: Likewise.
* lib/Pod/Text/Color.pm: Likewise.
* lib/Pod/Text/Overstrike.pm: Likewise.
* lib/Pod/Text/Termcap.pm: Likewise.
* lib/Pod/ParseLink.pm: Likewise, and reference Pod::Parser.
* scripts/pod2man.PL: Likewise, and remove a recommendation to
provide link text for L<>.
* scripts/pod2text.PL: Likewise, clean up some old-style L<> links
to work around bugs in Pod::Man and Pod::Text that have been
fixed, and reference Pod::Text::Overstrike.
2002-06-23 Russ Allbery <rra@stanford.edu>
* VERSION: podlators 1.22 released.
* lib/Pod/Man.pm (quote_literal): Tweak the regex for matching
numbers to not consider a single period to be a number.
* lib/Pod/Text.pm (seq_c): Likewise.
* t/man.t: Add a test for proper quoting of C<.>.
* t/text.t: New file. Likewise.
2002-02-16 Russ Allbery <rra@stanford.edu>
* VERSION: podlators 1.21 released.
* lib/Pod/Text/Overstrike.pm (wrap): Fix the regex for wrapping
lines to use a non-backtracking section for each character to
avoid exponential backtracking on lines with a lot of markup.
2002-01-27 Russ Allbery <rra@stanford.edu>
* VERSION: podlators 1.20 released.
* t/basic.t: EBCDIC compatibility when testing Pod::Text::Termcap.
Convert the escape characters so that the test will match. I'm
not entirely sure this doesn't paper over another problem, but
it's an improvement at least.
* lib/Pod/Text/Overstrike.pm (wrap): Use [\b] instead of \cH in
regexes to match backspaces, for platforms that use EBCDIC where
\b and \cH aren't the same character.
(strip_format): Likewise.
2002-01-02 Russ Allbery <rra@stanford.edu>
* VERSION: podlators 1.19 released.
* t/man.t: New file, testing special behavior of Pod::Man.
* lib/Pod/Man.pm (cmd_head1): Keep track of whether the current
section is the NAME section.
(collapse): Don't apply guesswork to the text inside the NAME
section since it may get pulled out by programs like catman.
(begin_pod): No longer output .UC after the .TH macro; catman
doesn't like anything between the NAME section and .TH and .UC
doesn't appear to actually do anything on any modern platform.
Also initialize IN_NAME here.
* t/basic.man: Adjust to reflect lack of guesswork in the NAME
section and removal of the .UC request.
2002-01-01 Russ Allbery <rra@stanford.edu>
* lib/Pod/Text/Termcap.pm (initialize): Terminal speed should be a
number, not a string. Also fall back on a hard-coded terminal
speed if getospeed doesn't work.
2001-12-31 Russ Allbery <rra@stanford.edu>
* t/basic.pod: Add a verbatim paragraph right before a heading,
which was previously mishandled by Pod::Man.
* t/basic.cap: Update.
* t/basic.clr: Update.
* t/basic.man: Update.
* t/basic.ovr: Update.
* t/basic.txt: Update.
* lib/Pod/Man.pm (verbatim): Remove the blank line from .Ve in the
preamble and set NEEDSPACE here instead, as this works better
before headings and in other, similar situations.
* t/text-errors.t: New file, testing errors issued by Pod::Text.
* lib/Pod/Text.pm (interior_sequence): Fix error reporting for
unknown sequences; the code was initializing $seq twice.
(command): Fix the unknown command warning to use a colon rather
than quotes like the other warnings and update the documentation
to match.
(interior_sequence): Fix the unknown formatting code warning to
match the documentation.
2001-11-30 Russ Allbery <rra@stanford.edu>
* VERSION: podlators 1.18 released.
* lib/Pod/ParseLink.pm: Escape L<> in the NAME section of the
documentation.
2001-11-27 Russ Allbery <rra@stanford.edu>
* lib/Pod/Text/Termcap.pm (initialize): Fall back on a hard-coded
terminal speed if POSIX::Termios doesn't work, such as on VMS.
* VERSION: podlators 1.17 released.
* lib/Pod/Text/Color.pm: Change all documentation references from
interior sequences to formatting codes to match the terminology of
perlpodspec.
* lib/Pod/Text/Overstrike.pm: Likewise.
* lib/Pod/Text.pm: Change all documentation references from
interior sequences to formatting codes to match the terminology of
perlpodspec.
(interior_sequence): Change the unknown sequence warning to
unknown formatting code.
* lib/Pod/Man.pm: Change all documentation references from
interior sequences to formatting codes to match the terminology of
perlpodspec. Move the extra *roff code to NOTES instead of
carrying it around inside the module.
(sequence): Return references to arrays rather than references to
scalars for already-formatted text because there are too many odd
bugs with scalar references in older versions of Perl. No longer
bless references since the current Pod::Parser doesn't require it.
Pass a third argument to collapse(). Change the unknown sequence
warning to unknown formatting code.
(collapse): Simplify and handle references to arrays rather than
references to scalars. Take a third argument that says whether to
do C<> cleanup operations rather than checking $literal > 1.
* Makefile.PL: Require version 1.13 of Pod::Parser so that
Pod::Man doesn't have to bless already-formatted strings.
* lib/Pod/Text/Termcap.pm: Fix a documentation typo. =head should
be =head1.
2001-11-26 Russ Allbery <rra@stanford.edu>
* VERSION: podlators 1.16 released.
* t/basic.t: Use an @INC path of ../lib for Perl core tests.
(source_path): New function to find the test source files, needed
when testing as Part of Perl core. Used for all source file
paths.
* VERSION: podlators 1.15 released.
* scripts/pod2man.PL: Delete the lax option before calling
Pod::Man and document that it's obsolete and that podchecker
should be used instead. Mark some man page references with an
explicit L<> and remove unnecessary anchor text on L<> references
to other POD modules. Add podchecker to the references section.
* lib/Pod/Man.pm: Documentation fixes. Remove the mention of lax
from BUGS since podchecker now handles that. Add mentions of
turning off guesswork and proper 8-bit character handling. Move
some notes about fragile heuristics to a CAVEATS section.
2001-11-25 Russ Allbery <rra@stanford.edu>
* t/basic.t: Set TERM and TERMCAP per the Term::Cap documentation
to obtain reproducible results for the Pod::Text::Termcap test.
* lib/Pod/Text/Termcap.pm (initialize): Wrap the call into
Term::Cap with eval because it throws exceptions if the terminal
can't be found. Fall back on the ANSI escape sequences rather
than dying if the termcap entry is incomplete. Note the fallback
in the documentation.
2001-11-23 Russ Allbery <rra@stanford.edu>
* 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 <rra@stanford.edu>
* 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.
2001-11-15 Russ Allbery <rra@stanford.edu>
* VERSION: podlators 1.13 released.
* lib/Pod/Man.pm (guesswork): Minor tweak to make the hyphen
handling -w clean.
* VERSION: podlators 1.12 released.
2001-11-14 Russ Allbery <rra@stanford.edu>
* Makefile.PL: Require at least version 0.8 of File::Spec.
* lib/Pod/Man.pm: Use L<> for all man page references in the
documentation that should be highlighted. Switch the rest to bold
versions of the program name. Change func(n) to func(3) in the
example of things that are automatically formatted so that it will
be formatted. Remove from BUGS the note that some of the path
mangling assumes Unix directory separators. Don't give anchor
text for L<> links that no longer require it.
* lib/Pod/Text.pm: Update the documentation to use now-allowable
POD constructs like C<< >>. Don't escape angle brackets that
don't require escaping. Don't give anchor text for L<> links that
no longer require it.
* lib/Pod/Text/Color.pm: Likewise.
* lib/Pod/Text/Overstrike.pm: Likewise.
* lib/Pod/Text/Termcap.pm: Likewise.
* lib/Pod/Text.pm (interior_sequence): Inside S<>, convert all
whitespace to non-breaking spaces, not just spaces.
* lib/Pod/Man.pm (guesswork): Rewrite the handling of dashes and
hyphens. Be much more conservative about which hyphens are turned
into dashes, and make all hyphens non-breaking unless we can be
fairly sure that they're inside normal words.
* lib/Pod/Man.pm (textblock): Remove the special handling of
consecutive L</section> links.
(sequence): Defer expansion of formatting escapes inside L<> until
L<> is processed. Use Pod::ParseLink to parse the link text and
determine the text used. Expand formatting escapes in the link
text after the final text is determined. Surround URLs with angle
brackets in the output.
(buildlink): Deleted.
(collapse): Only escape backslashes for C<> codes.
* lib/Pod/Text.pm (textblock): Remove the special handling of
consecutive L</section> links.
(interior_sequence): Defer expansion of formatting escapes inside
L<> until L<> is processed. Pass the Pod::InteriorSequence object
to seq_l.
(seq_l): Use Pod::ParseLink to parse the link text and determine
the text used. Expand formatting escapes in the link text after
the final text is determined. Surround URLs with angle brackets
in the output.
* lib/Pod/ParseLink.pm: New file.
* lib/Pod/Man.pm (initialize): Initialize NEWINDENT.
(textblock): Handle indentation of =item-less =over/=back blocks
if NEWINDENT is set.
(cmd_over): Set NEWINDENT.
(cmd_back): Clear NEWINDENT.
(cmd_item): Likewise.
* lib/Pod/Man.pm (begin_pod): Include the version of Pod::Parser
in the header.
* lib/Pod/Man.pm: Support E<apos>, E<nbsp>, and E<shy>.
* lib/Pod/Text.pm: Support E<apos> and E<nbsp> and treat E<shy> as
an empty string.
2001-11-13 Russ Allbery <rra@stanford.edu>
* lib/Pod/Man.pm (begin_pod): Completely rewrite the name parsing
code for modules to use File::Spec. In the process, fix a bug in
dealing with the new three-component version number directories.
Swap the order of date and release in the .TH line to better
comply with the man macro documentation.
2001-11-04 Russ Allbery <rra@stanford.edu>
* scripts/pod2man.PL: Add the --name option and documentation.
* lib/Pod/Man.pm: Add documentation for the name option, which was
already implemented.
(begin_pod): Only try to determine a module name from the path for
the man page name if the man page we're generating is in section
3. No longer insert a timestamp into the generated man page; it
just causes unnecessary differences and merge conflicts.
2001-10-20 Russ Allbery <rra@stanford.edu>
* VERSION: podlators 1.11 released.
* scripts/pod2man.PL: Add --verbose to print out each output file
as it is generated. Silence -w warnings about the magic to exec
Perl if run under a shell.
* scripts/pod2text.PL: Silence -w warnings likewise.
* lib/Pod/Text/Overstrike.pm (wrap): Better handle the case where
a highlighted portion of text ends a line.
* lib/Pod/Text.pm: Add the code option to include the non-POD text
of the input file and document it.
(initialize): Pass -want_nonPODs to Pod::Parser if code is set.
(preprocess_paragraph): Call output_code for any paragraphs
received that aren't part of the POD.
(output_code): New function.
* lib/Pod/Text/Color.pm (output_code): New function.
* lib/Pod/Text/Overstrike.pm (output_code): New function.
* lib/Pod/Text/Termcap.pm (output_code): New function.
* scripts/pod2text.PL: Add support and documentation for --code.
* lib/Pod/Man.pm (outindex): No output was being emitted for X<>
sequences due to a misplaced my.
(switchquotes): Must use .ie for if statements containing a .el
clause in *roff; .if won't work.
2001-07-19 Russ Allbery <rra@stanford.edu>
* lib/Pod/Man.pm (sequence): Turned carps for unknown escapes and
unknown sequences into warnings, suppressed the Perl file and line
number, and added the file and line number for the POD data.
(cmd_back): Likewise for unmatched =back errors.
* lib/Pod/Text.pm (interior_sequence): Likewise for unknown
escapes and unknown sequences.
(cmd_back): Likewise for unmatched =back errors.
2001-07-10 Russ Allbery <rra@stanford.edu>
* VERSION: podlators 1.10 released.
* scripts/pod2man.PL: Added a description of the COPYRIGHT AND
LICENSE section, add a mention of a mailing list in SEE ALSO, and
mention that large logs are better kept separate from HISTORY in
the description of a standard manual page. Added a COPYRIGHT AND
LICENSE section for pod2man.
* scripts/pod2text.PL: Added a COPYRIGHT AND LICENSE section to
the documentation.
* lib/Pod/Man.pm: Changed LICENSE to COPYRIGHT AND LICENSE.
* lib/Pod/Text.pm: Likewise.
* lib/Pod/Text/Color.pm: Added a COPYRIGHT AND LICENSE section to
the documentation.
* lib/Pod/Text/Overstrike.pm: Likewise.
* lib/Pod/Text/Termcap.pm: Likewise.
* lib/Pod/Text.pm (seq_c): Add heuristics to decide whether or not
to quote the argument of C<>.
* lib/Pod/Man.pm (switchquotes): Remove font changes for nroff to
work around a bug in the Solaris 2.6 version of nroff's handling
of \fP in headings. No longer add an extra level of quoting for
=item; it isn't necessary.
* lib/Pod/Man.pm (sequence): Call quote_literal to handle C<>.
(quote_literal): New function, handling the decision of whether or
not to put quotes around the argument of C<>.
* lib/Pod/Man.pm: Added a LICENSE section to the documentation.
* lib/Pod/Text.pm: Likewise.
* lib/Pod/Man.pm (guesswork): Remove the logic turning PI into a
pretty pi character; it produces too many false positives.
* lib/Pod/Man.pm: Removed the definition .Ip from the preamble.
Removed .bd B 3 from the preamble; this isn't part of the accent
mark definitions but instead changes the way bolding is done,
confusing some other translators.
(cmd_item): Emit .IP instead of .Ip.
2001-04-09 Russ Allbery <rra@stanford.edu>
* VERSION: podlators 1.09 released.
* lib/Pod/Man.pm (guesswork): Fine-tune. Don't allow colons after
sequences to put in small caps since they're already handled by
being rolled into the sequence and were causing weird things to
happen in references to functions. Allow small caps before an
open paren. Teach the handling of functions and manual page
references about small caps escapes, and be pickier about what
constitutes a manual page reference.
* lib/Pod/Text.pm: Fix again the incorrect mappings for E<Iacute>
and E<iacute>, and this time for E<Igrave> and E<igrave> too.
Reported by Sean Burke.
2001-02-09 Russ Allbery <rra@stanford.edu>
* VERSION: podlators 1.08 released.
* lib/Pod/Text.pm (seq_l): Output anything that looks like a URL
verbatim rather than interpreting it as a manual page reference.
* lib/Pod/Man.pm (buildlink): Likewise.
2001-01-16 Russ Allbery <rra@stanford.edu>
* VERSION: podlators 1.07 released.
* lib/Pod/Man.pm (begin_pod): Quote the file name if it contains
spaces.
(cmd_head1): Remove newlines.
(cmd_head2): Likewise.
(cmd_head3): Likewise.
(cmd_head4): Likewise.
2000-12-25 Russ Allbery <rra@stanford.edu>
* VERSION: podlators 1.06 released.
* scripts/pod2text.PL: Add -o or --overstrike to use
Pod::Text::Overstrike as the formatter.
* lib/Pod/Man.pm (switchquotes): =item text requires another level
of quoting of double quotes, which was already present but not
working for C<> text because it was in the wrong order. Fixed and
more comments added.
* lib/Pod/Text/Color.pm: Use a static version number rather than
the CVS revision.
* lib/Pod/Text/Termcap.pm: Likewise.
* lib/Pod/Text/Overstrike.pm: New file. Contributed by Joe Smith
<Joe.Smith@inwap.com>.
2000-11-18 Russ Allbery <rra@stanford.edu>
* VERSION: podlators 1.05 released.
* scripts/pod2man.PL: Allow pod2man to take multiple pairs of
input and output files on the command line to decrease the time
that it takes to process all of Perl's documentation.
* lib/Pod/Man.pm (textmapfonts): New function, like mapfonts but
without the last change to work around a Solaris 2.6 nroff bug.
(textblock): Use textmapfonts instead of mapfonts.
(cmd_head4): Likewise.
(cmd_item): Likewise.
* lib/Pod/Man.pm (switchquotes): Turned into a method rather than
a static function. Switch \*C` and \*C' sequences from C<> as
well as literal double-quotes if the quote character contains
double quotes. Not doing this was causing weird output on some
systems in some circumstances.
(cmd_head1): Call of switchquotes changed.
(cmd_head2): Likewise.
(cmd_item): Likewise.
* lib/Pod/Man.pm (mapfonts): Use \fP to switch back to the default
font rather than changing back to \fR so that font changes work
correctly in headings using a different font. Sprinkle \fP
through all font changes so that the default font is always the
"previous" font so that the above works.
* lib/Pod/Man.pm (cmd_head3): New function.
(cmd_head4): New function.
* lib/Pod/Text.pm: (cmd_head3): New function.
(cmd_head4): New function.
* lib/Pod/Text.pm (initialize): Change the default quote character
for C<> to be double quotes rather than matched left/right single
quotes.
2000-10-09 Russ Allbery <rra@stanford.edu>
* VERSION: podlators 1.04 released.
* lib/Pod/Man.pm: Output .PD 0 and .PD around repeated =item tags
so that they're formatted without intervening blank lines,
improving formatting of e.g. perlfunc.pod.
(initialize): Initialize ITEMS to 0.
(verbatim): Call makespace unconditionally.
(textblock): Likewise.
(cmd_head1): Output .PD and reset ITEMS if ITEMS > 1.
(cmd_head2): Likewise.
(cmd_item): Count the number of consecutive =item commands and
output .PD 0 before the second.
(makespace): Handle the check for NEEDSPACE here rather than in
the caller and output .PD and reset ITEMS if ITEMS > 1.
* lib/Pod/Text.pm: Fix incorrect mappings for E<Iacute> and
E<iacute>, reported by Sean Burke.
2000-10-08 Russ Allbery <rra@stanford.edu>
* lib/Pod/Man.pm (initialize): Change the default quote character
for C<> to be double quotes rather than matched left/right single
quotes.
* lib/Pod/Text.pm (command): Fixed a shadowed variable warning.
* lib/Pod/Man.pm (command): Likewise.
2000-09-03 Russ Allbery <rra@stanford.edu>
* VERSION: podlators 1.03 released.
* scripts/pod2man.PL: Added a new --quotes option.
* scripts/pod2text.PL: Likewise.
* lib/Pod/Man.pm: Changed the preamble to allow configurable quote
characters around C<> text.
(initialize): Parse the new quotes option to set the configurable
quote characters.
(begin_pod): Substitute the quote characters into the preamble.
Make a new copy of the preamble for each file so that the
fixed-width font and the quote characters may change between
different Pod::Man objects and different files.
* lib/Pod/Text.pm (initialize): Added support for a quotes option
to specify what quotes to use around C<> text.
(seq_c): Use the configurable quote characters.
* lib/Pod/Text.pm (command): Check using can() before calling cmd_
handlers and report a nice error when encountering an unknown
paragraph command.
* lib/Pod/Man.pm (command): Likewise.
2000-09-02 Russ Allbery <rra@stanford.edu>
* lib/Pod/Text.pm: Add sol and verbar to the escapes.
* lib/Pod/Man.pm: Likewise.
* lib/Pod/Text.pm (pod2text): When given two arguments, was
incorrectly assigning to $_[0], causing other strange problems.
* lib/Pod/Man.pm (cmd_item): Fix the regex for stripping bullets
from index entries so that it doesn't strip a leading 'o'.
2000-04-30 Russ Allbery <rra@stanford.edu>
* lib/Pod/Man.pm: In the prelude, terminate the .IX definition
with .. instead of ". ." for groff.
2000-04-25 Russ Allbery <rra@stanford.edu>
* VERSION: podlators 1.02 released.
* lib/Pod/Man.pm (sequence): Pass a special flag to collapse() for
C<> blocks rather than trying to fix up hyphens and underscores.
(collapse): Fix hyphens and underscores for literal C<> block
content.
2000-04-09 Russ Allbery <rra@stanford.edu>
* lib/Pod/Man.pm (sequence): Fix hyphens and underscores in only
those children of a C<> sequence that haven't already had
guesswork applied to them.
2000-03-30 Russ Allbery <rra@stanford.edu>
* VERSION: podlators 1.01 released.
* Makefile.PL: Install the modules in the Perl core area if the
Perl version is 5.6.0 or higher.
2000-03-18 Russ Allbery <rra@stanford.edu>
* lib/Pod/Man.pm (begin_pod): Strip a leading lib/ from a file
name for module man pages, needed for ExtUtils::MakeMaker.
2000-03-16 Russ Allbery <rra@stanford.edu>
* VERSION: podlators 1.00 released.
* Makefile.PL: pod2roff renamed to pod2man.
* lib/Pod/Text.pm: Use a static version number, add the remaining
ISO 8859-1 HTML entities (from Tim Jenness).
* lib/Pod/Man.pm (protect): Be even more aggressive; protect any
line starting with a backslash.
(cmd_item): Replace embedded newlines in titles with spaces.
* scripts/pod2man.PL: Hide '-' arguments from Getopt::Long so that
Pod::Parser will interpret them as STDIN or STDOUT. Remove
needless use vars.
* scripts/pod2text.PL: Likewise.
* scripts/pod2text.PL: Don't default to Pod::Text::Termcap even if
STDOUT is a tty until it works right on Windows, VMS, etc.
* scripts/pod2man.PL: Change Getopt::Long config from bundling to
bundling_override so that options like -center work for backwards
compatibility.
2000-03-07 Russ Allbery <rra@stanford.edu>
* scripts/pod2man.PL: Change pod2txt to pod2man in SYNOPSIS.
2000-03-06 Russ Allbery <rra@stanford.edu>
* scripts/pod2man.PL: Renamed from pod2roff.PL as this has been
incorporated in Perl core. Updated self-references in the
documentation, changed "stati" to "statuses."
* lib/Pod/Man.pm: Set version number to 1.00, change references to
pod2roff to pod2man in the documentation, and remove the note about
this module replacing pod2man in Perl core.
* lib/Pod/Man.pm (initialize): Use "perl v5.6.0" instead of "perl
5.6, patch 0" for the default release string, handle both pre-5.6
and post-5.6 version numbering schemes.
(protect): Allow for two-character fonts.
(begin_pod): Zero-pad the month and day in the modification date.
(sequence): Add a temporary variable for L<> text rather than
blessing the sub return to work around a 5.6 bug.
(guesswork): $3 no longer used in small-caps regex, remove to
avoid warnings under -w.
2000-03-05 Russ Allbery <rra@stanford.edu>
* lib/Pod/Man.pm (protect): Protect leading periods following font
escapes as well.
(initialize): Avoid warnings when center, date, or release aren't
set.
(begin_pod): Make filename munging safe even when $* is set and
the filenames contain embedded newlines.
(textblock): Use a temporary variable for paragraph text, fix the
regex to concatenate multiple L<> section links and fix whitespace
handling for it around "and".
(sequence): Add a temporary variable workaround so that Z<> works
correctly with current Perl.
(cmd_for): Don't extract the line number when we don't use it.
1999-10-07 Russ Allbery <rra@stanford.edu>
* VERSION: podlators 0.08 released.
* lib/Pod/Text.pm: Export pod2text() for backwards compatibility.
* lib/Pod/Text.pm (interior_sequence): Add support for numeric E<>
escapes.
* lib/Pod/Man.pm (sequence): Likewise.
1999-09-27 Russ Allbery <rra@stanford.edu>
* lib/Pod/Man.pm (buildlink): Links to sections had doubled quote
marks.
* scripts/pod2roff.PL: Pod::Parser constructors take an expanded
hash, not a hash ref.
1999-09-25 Russ Allbery <rra@stanford.edu>
* VERSION: podlators 0.07 released.
* lib/Pod/Man.pm: Changed the parsing model so that rather than
deferring E<> escapes until just before output, *roff output is
generated by the interior sequence parsing and the result is
passed up the parse trees as Pod::Man::String objects instead of
scalars to mark the output as already processed. In the process,
cleaned up what *roff escaping and guesswork is applied where and
cleaned up the whole process of applying guesswork. Also improved
the small caps guesswork to allow for more cases, including
several adjacent all caps words, and fixed some bugs with the link
text generation for man page references. Improved the escaping of
dashes and hyphens to use a single pass, improved the index
generation slightly, and fixed a few places that were clobbering
the caller's $_.
1999-09-20 Russ Allbery <rra@stanford.edu>
* VERSION: podlators 0.06 released.
* scripts/pod2roff.PL: Expanded the man page documentation to take
into account suggestions from Larry Virden. Added examples for
ENVIRONMENT, more examples for OPTIONS, better examples for
subsections in DESCRIPTION, more details on ERRORS, a plea for a
method of fixing problems in DIAGNOSTICS as well as what the
message means, a plea for an explanation of examples in EXAMPLES,
a plea for documenting files that are modified in FILES, a mention
of a program web site in SEE ALSO, a mention of e-mail addresses
in AUTHORS, the AVAILABILITY section, and a note about markup
including L<> issues with e-mail addresses and URLs.
* lib/Pod/Man.pm: Added a BUGS entry for index entries for stuff
in NAME.
* lib/Pod/Text.pm: =begin text blocks are now output verbatim
rather than interpreted as POD. Documented the oddity with
Ctrl-As as a restriction.
* Makefile.PL: pod2txt renamed to pod2text.
* scripts/pod2roff.PL: Exit on Getopt::Long errors.
* scripts/pod2text.PL: Renamed to pod2text and updated for the
renaming of Pod::PlainText to Pod::Text. Added an explicit check
for Term::ANSIColor if -c was given. Added documentation of -h,
expanded the DIAGNOSTICS section to include directly generated
error messages and the most common Getopt::Long message.
* lib/Pod/Text/Termcap.pm: Updated for the renaming of
Pod::PlainText to Pod::Text.
* lib/Pod/Text/Color.pm: Updated for the renaming of
Pod::PlainText to Pod::Text, added BUGS note that the
implementation is rather incomplete and a note in DESCRIPTION that
it relies on Term::ANSIColor.
* lib/Pod/Text.pm: Renamed to Pod::Text, various comment cleanups,
always treat =for paragraphs as verbatim text, cleaned up the
documentation a little, and added two more diagnostics and a
cross-reference to pod2text(1). Bumped revision to 2.0 to be
larger than the old Pod::Text.
* lib/Pod/Man.pm: Renamed to Pod::Man from Pod::Roff, since there
is no standard Pod::Man module to worry about conflicting with.
* scripts/pod2roff.PL: Cut down on some information redundant with
Pod::Man's documentation, changed for the renaming of Pod::Roff to
Pod::Man, and added a BUGS section noting a few currently unfixed
problems.
* lib/Pod/Roff.pm: Inherit from Pod::Parser instead of
Pod::Select, get the date from our input file by default, be even
more conservative about small caps but put AT&T in small caps, and
added documentation.
* Makefile.PL: Add pod2roff to the scripts, improve handling of
scripts a little.
1999-09-19 Russ Allbery <rra@stanford.edu>
* lib/Pod/Roff.pm: New file.
* scripts/pod2roff.PL: New file.
1999-09-18 Russ Allbery <rra@stanford.edu>
* VERSION: podlators 0.05 released.
* lib/Pod/Text/Color.pm: Pod::SimpleText changed to Pod::PlainText
in one final spot in the documentation.
1999-08-30 Russ Allbery <rra@stanford.edu>
* VERSION: podlators 0.04 released.
* Makefile.PL: Use File::Spec to build file paths for portability,
removed the dist setting since current Perls get this right, and
added the magic to cope with pod2txt as a .PL file.
* scripts/pod2txt.PL: Added the .PL magic to fix the shebang line
that will be necessary when this script is part of Perl core.
* VERSION: podlators 0.03 released.
* lib/Pod/Text/Color.pm: Pod::SimpleText changed to Pod::PlainText
everywhere.
* lib/Pod/Text/Termcap.pm: Likewise.
* scripts/pod2txt: Pod::SimpleText changed to Pod::PlainText
everywhere, added documentation that Pod::Text::Termcap is used by
default if STDOUT is a tty, and clarified the documentation of
--loose.
1999-07-29 Russ Allbery <rra@stanford.edu>
* VERSION: podlators 0.02 released.
* lib/Pod/PlainText.pm: Added a pod2text() function for backwards
compatibility.
* lib/Pod/Text/Termcap.pm: Switch from using Pod::SimpleText to
using Pod::PlainText.
* lib/Pod/Text/Color.pm: Likewise.
* lib/Pod/PlainText.pm: Properly wrap multi-line =item tags.
* Makefile.PL: Changed the name of the package to podlators.
* lib/Pod/PlainText.pm: Fixed a spurious space with =for text
commands, check the content of sequences against '' specifically
rather than testing truth so that it does the right thing with 0,
process sequences for =head headings, and changed the name from
SimpleText to PlainText. Also speeded up some sequences slightly.
1999-06-12 Russ Allbery <rra@stanford.edu>
* VERSION: Pod::SimpleText 0.01 released.
* lib/Pod/SimpleText.pm: Minor documentation fixes.
* scripts/pod2txt: New file.
* lib/Pod/SimpleText.pm: New file.
* lib/Pod/Text/Color.pm: New file.
* lib/Pod/Text/Termcap.pm: New file.
SEA-GHOST - SHELL CODING BY SEA-GHOST