2013-02-27 Russ Allbery * 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 * 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 * lib/Pod/Man.pm (outindex): Remove newlines from index term text since *roff quotes don't span lines. (#82332) 2012-06-01 Russ Allbery * 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 * 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 * 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 * Makefile.PL: Stop removing pod2man and pod2text on make realclean, left over from when they were *.PL scripts. (#74848) 2011-12-20 Russ Allbery * 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 * 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 * 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 * 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 * 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 * 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 * scripts/pod2man.PL: Clarify that no markup should be used in the NAME section of a manual page. 2009-02-28 Russ Allbery * 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 * 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 * VERSION: podlators 2.2.1 released. * t/man.t: Add a test of =for. * t/text.t: Likewise. 2008-11-07 Russ Allbery * 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 * 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 * 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 * 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 * 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 * 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 * scripts/pod2man.PL: Mention --utf8 in the SYNOPSIS. 2008-07-20 Russ Allbery * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * scripts/pod2man.PL: Make the argument to the --release flag optional. 2004-02-14 Russ Allbery * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * VERSION: podlators 1.18 released. * lib/Pod/ParseLink.pm: Escape L<> in the NAME section of the documentation. 2001-11-27 Russ Allbery * 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 * 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 * 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 * 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 * 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 * 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 * 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 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 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, E, and E. * lib/Pod/Text.pm: Support E and E and treat E as an empty string. 2001-11-13 Russ Allbery * 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 * 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 * 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 * 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 * 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 * 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 and E, and this time for E and E too. Reported by Sean Burke. 2001-02-09 Russ Allbery * 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 * 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 * 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 . 2000-11-18 Russ Allbery * 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 * 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 and E, reported by Sean Burke. 2000-10-08 Russ Allbery * 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 * 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 * 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 * lib/Pod/Man.pm: In the prelude, terminate the .IX definition with .. instead of ". ." for groff. 2000-04-25 Russ Allbery * 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 * 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 * 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 * 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 * 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 * scripts/pod2man.PL: Change pod2txt to pod2man in SYNOPSIS. 2000-03-06 Russ Allbery * 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 * 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 * 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 * 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 * 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 * 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 * lib/Pod/Roff.pm: New file. * scripts/pod2roff.PL: New file. 1999-09-18 Russ Allbery * 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 * 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 * 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 * 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.