In perl.git, the branch blead has been updated

<http://perl5.git.perl.org/perl.git/commitdiff/cb21ff4630e9dc4048595dd175a4ee716bd54ba2?hp=b0248dbfdf5ebb72be4ef440747e59fd3204ee95>

- Log -----------------------------------------------------------------
commit cb21ff4630e9dc4048595dd175a4ee716bd54ba2
Author: Karen Etheridge <[email protected]>
Date:   Sat Dec 19 19:08:24 2015 -0800

    Update podlators to version 4.03
-----------------------------------------------------------------------

Summary of changes:
 MANIFEST                                           |  78 +-
 Porting/Maintainers.pl                             |   2 +-
 cpan/podlators/.gitignore                          |  10 +
 cpan/podlators/Changes                             | 945 +++++++++++++++++++++
 cpan/podlators/Makefile.PL                         |  13 +
 cpan/podlators/{scripts/pod2man.PL => bin/pod2man} | 132 ++-
 .../{scripts/pod2text.PL => bin/pod2text}          |  84 +-
 cpan/podlators/lib/Pod/Man.pm                      | 219 +++--
 cpan/podlators/lib/Pod/ParseLink.pm                |  16 +-
 cpan/podlators/lib/Pod/Text.pm                     |  65 +-
 cpan/podlators/lib/Pod/Text/Color.pm               |  14 +-
 cpan/podlators/lib/Pod/Text/Overstrike.pm          |  19 +-
 cpan/podlators/lib/Pod/Text/Termcap.pm             |  39 +-
 cpan/podlators/t/basic.t                           | 117 ---
 cpan/podlators/t/{ => data}/basic.cap              |   0
 cpan/podlators/t/{ => data}/basic.clr              |   0
 cpan/podlators/t/{ => data}/basic.man              |   0
 cpan/podlators/t/{ => data}/basic.ovr              |   0
 cpan/podlators/t/{ => data}/basic.pod              |   0
 cpan/podlators/t/{ => data}/basic.txt              |   0
 cpan/podlators/t/data/perl.conf                    |   7 +
 cpan/podlators/t/data/snippets/README              |  45 +
 cpan/podlators/t/data/snippets/man/cpp             |  20 +
 .../podlators/t/data/snippets/man/utf8-nonbreaking |  17 +
 cpan/podlators/t/data/snippets/man/utf8-verbatim   |  31 +
 cpan/podlators/t/data/snippets/text/cpp            |  20 +
 cpan/podlators/t/data/termcap                      |   8 +
 cpan/podlators/t/devise-date.t                     |  15 -
 cpan/podlators/t/docs/pod-spelling.t               |  66 ++
 cpan/podlators/t/docs/pod.t                        |  65 ++
 cpan/podlators/t/docs/synopsis.t                   |  60 ++
 cpan/podlators/t/filehandle.t                      | 110 ---
 cpan/podlators/t/general/basic.t                   | 108 +++
 cpan/podlators/t/general/filehandle.t              |  82 ++
 cpan/podlators/t/general/pod-parser.t              |  83 ++
 cpan/podlators/t/lib/Test/Podlators.pm             | 510 +++++++++++
 cpan/podlators/t/lib/Test/RRA.pm                   | 235 +++++
 cpan/podlators/t/lib/Test/RRA/Config.pm            | 215 +++++
 cpan/podlators/t/man-heading.t                     |  90 --
 cpan/podlators/t/man-options.t                     | 286 -------
 cpan/podlators/t/man-perlio.t                      | 135 ---
 cpan/podlators/t/man-utf8.t                        | 133 ---
 cpan/podlators/t/{man.t => man/basic.t}            |  11 +-
 cpan/podlators/t/man/devise-date.t                 |  56 ++
 cpan/podlators/t/man/devise-title.t                |  32 +
 cpan/podlators/t/{man-empty.t => man/empty.t}      |   2 +-
 cpan/podlators/t/man/heading.t                     |  94 ++
 cpan/podlators/t/man/options.t                     | 273 ++++++
 cpan/podlators/t/man/utf8-io.t                     |  50 ++
 .../podlators/t/{parselink.t => parselink/basic.t} |   2 +-
 cpan/podlators/t/pod-parser.t                      |  78 --
 cpan/podlators/t/pod-spelling.t                    |  75 --
 cpan/podlators/t/pod.t                             |  14 -
 cpan/podlators/t/style/minimum-version.t           |  47 +
 cpan/podlators/t/style/module-version.t            | 315 +++++++
 cpan/podlators/t/style/strict.t                    |  56 ++
 cpan/podlators/t/{text.t => text/basic.t}          |   2 +-
 cpan/podlators/t/{ => text}/color.t                |   2 +-
 cpan/podlators/t/{text-empty.t => text/empty.t}    |   2 +-
 .../t/{text-encoding.t => text/encoding.t}         |  33 +-
 .../podlators/t/{text-options.t => text/options.t} |  19 +-
 cpan/podlators/t/{ => text}/overstrike.t           |   2 +-
 cpan/podlators/t/{text-perlio.t => text/perlio.t}  |  24 +-
 cpan/podlators/t/{ => text}/termcap.t              |  26 +-
 cpan/podlators/t/{text-utf8.t => text/utf8.t}      |  22 +-
 pod/perlpodstyle.pod                               |  12 +-
 t/porting/known_pod_issues.dat                     |   1 -
 utils/Makefile.PL                                  |   6 +-
 utils/pod2man.PL                                   |  53 ++
 utils/pod2text.PL                                  |  53 ++
 70 files changed, 4045 insertions(+), 1411 deletions(-)
 create mode 100644 cpan/podlators/Changes
 create mode 100644 cpan/podlators/Makefile.PL
 rename cpan/podlators/{scripts/pod2man.PL => bin/pod2man} (76%)
 rename cpan/podlators/{scripts/pod2text.PL => bin/pod2text} (83%)
 delete mode 100644 cpan/podlators/t/basic.t
 rename cpan/podlators/t/{ => data}/basic.cap (100%)
 rename cpan/podlators/t/{ => data}/basic.clr (100%)
 rename cpan/podlators/t/{ => data}/basic.man (100%)
 rename cpan/podlators/t/{ => data}/basic.ovr (100%)
 rename cpan/podlators/t/{ => data}/basic.pod (100%)
 rename cpan/podlators/t/{ => data}/basic.txt (100%)
 create mode 100644 cpan/podlators/t/data/perl.conf
 create mode 100644 cpan/podlators/t/data/snippets/README
 create mode 100644 cpan/podlators/t/data/snippets/man/cpp
 create mode 100644 cpan/podlators/t/data/snippets/man/utf8-nonbreaking
 create mode 100644 cpan/podlators/t/data/snippets/man/utf8-verbatim
 create mode 100644 cpan/podlators/t/data/snippets/text/cpp
 create mode 100644 cpan/podlators/t/data/termcap
 delete mode 100644 cpan/podlators/t/devise-date.t
 create mode 100644 cpan/podlators/t/docs/pod-spelling.t
 create mode 100644 cpan/podlators/t/docs/pod.t
 create mode 100644 cpan/podlators/t/docs/synopsis.t
 delete mode 100644 cpan/podlators/t/filehandle.t
 create mode 100644 cpan/podlators/t/general/basic.t
 create mode 100644 cpan/podlators/t/general/filehandle.t
 create mode 100644 cpan/podlators/t/general/pod-parser.t
 create mode 100644 cpan/podlators/t/lib/Test/Podlators.pm
 create mode 100644 cpan/podlators/t/lib/Test/RRA.pm
 create mode 100644 cpan/podlators/t/lib/Test/RRA/Config.pm
 delete mode 100644 cpan/podlators/t/man-heading.t
 delete mode 100644 cpan/podlators/t/man-options.t
 delete mode 100644 cpan/podlators/t/man-perlio.t
 delete mode 100644 cpan/podlators/t/man-utf8.t
 rename cpan/podlators/t/{man.t => man/basic.t} (97%)
 create mode 100644 cpan/podlators/t/man/devise-date.t
 create mode 100644 cpan/podlators/t/man/devise-title.t
 rename cpan/podlators/t/{man-empty.t => man/empty.t} (97%)
 create mode 100644 cpan/podlators/t/man/heading.t
 create mode 100644 cpan/podlators/t/man/options.t
 create mode 100644 cpan/podlators/t/man/utf8-io.t
 rename cpan/podlators/t/{parselink.t => parselink/basic.t} (98%)
 delete mode 100644 cpan/podlators/t/pod-parser.t
 delete mode 100644 cpan/podlators/t/pod-spelling.t
 delete mode 100644 cpan/podlators/t/pod.t
 create mode 100644 cpan/podlators/t/style/minimum-version.t
 create mode 100644 cpan/podlators/t/style/module-version.t
 create mode 100644 cpan/podlators/t/style/strict.t
 rename cpan/podlators/t/{text.t => text/basic.t} (98%)
 rename cpan/podlators/t/{ => text}/color.t (98%)
 rename cpan/podlators/t/{text-empty.t => text/empty.t} (96%)
 rename cpan/podlators/t/{text-encoding.t => text/encoding.t} (89%)
 rename cpan/podlators/t/{text-options.t => text/options.t} (95%)
 rename cpan/podlators/t/{ => text}/overstrike.t (98%)
 rename cpan/podlators/t/{text-perlio.t => text/perlio.t} (81%)
 rename cpan/podlators/t/{ => text}/termcap.t (74%)
 rename cpan/podlators/t/{text-utf8.t => text/utf8.t} (82%)
 create mode 100644 utils/pod2man.PL
 create mode 100644 utils/pod2text.PL

diff --git a/MANIFEST b/MANIFEST
index 205c83e..b2c0264 100644
--- a/MANIFEST
+++ b/MANIFEST
@@ -1864,42 +1864,58 @@ cpan/Pod-Escapes/lib/Pod/Escapes.pm     Pod::Escapes
 cpan/Pod-Escapes/t/01_about_verbose.t  test Pod::Escapes
 cpan/Pod-Escapes/t/10_main.t           test Pod::Escapes
 cpan/Pod-Escapes/t/15_name2charnum.t   test Pod::Escapes
+cpan/podlators/bin/pod2man                     Translator to turn pod into 
manpage
+cpan/podlators/bin/pod2text                    Translator to turn pod into text
+cpan/podlators/Changes                         podlators release notes
 cpan/podlators/lib/Pod/Man.pm                  Convert POD data to *roff
 cpan/podlators/lib/Pod/ParseLink.pm            Perl an L<> formatting code in 
POD text
 cpan/podlators/lib/Pod/Text/Color.pm           Convert POD data to color ASCII 
text
 cpan/podlators/lib/Pod/Text/Overstrike.pm      Convert POD data to formatted 
overstrike text
 cpan/podlators/lib/Pod/Text.pm                 Pod-Parser - convert POD data 
to formatted ASCII text
 cpan/podlators/lib/Pod/Text/Termcap.pm         Convert POD data to ASCII text 
with format escapes
-cpan/podlators/scripts/pod2man.PL      Precursor for translator to turn pod 
into manpage
-cpan/podlators/scripts/pod2text.PL     Precursor for translator to turn pod 
into text
-cpan/podlators/t/basic.cap                     podlators test
-cpan/podlators/t/basic.clr                     podlators test
-cpan/podlators/t/basic.man                     podlators test
-cpan/podlators/t/basic.ovr                     podlators test
-cpan/podlators/t/basic.pod                     podlators test
-cpan/podlators/t/basic.t                       podlators test
-cpan/podlators/t/basic.txt                     podlators test
-cpan/podlators/t/color.t                       podlators test
-cpan/podlators/t/devise-date.t                 podlators test
-cpan/podlators/t/filehandle.t                  podlators test
-cpan/podlators/t/man-empty.t                   podlators test
-cpan/podlators/t/man-heading.t                 podlators test
-cpan/podlators/t/man-options.t                 podlators test
-cpan/podlators/t/man-perlio.t                          podlators test
-cpan/podlators/t/man.t                         podlators test
-cpan/podlators/t/man-utf8.t                    podlators test
-cpan/podlators/t/overstrike.t                  podlators test
-cpan/podlators/t/parselink.t                   podlators test
-cpan/podlators/t/pod-parser.t                  podlators test
-cpan/podlators/t/pod-spelling.t                        podlators test
-cpan/podlators/t/pod.t                         podlators test
-cpan/podlators/t/termcap.t                     podlators test
-cpan/podlators/t/text-empty.t                  podlators test
-cpan/podlators/t/text-encoding.t               podlators test
-cpan/podlators/t/text-options.t                        podlators test
-cpan/podlators/t/text-perlio.t                 podlators test
-cpan/podlators/t/text.t                                podlators test
-cpan/podlators/t/text-utf8.t                   podlators test
+cpan/podlators/Makefile.PL                     podlators Makefile.PL
+cpan/podlators/t/data/basic.cap                        podlators test          
        podlators test
+cpan/podlators/t/data/basic.clr                        podlators test
+cpan/podlators/t/data/basic.man                        podlators test
+cpan/podlators/t/data/basic.ovr                        podlators test
+cpan/podlators/t/data/basic.pod                        podlators test
+cpan/podlators/t/data/basic.txt                        podlators test
+cpan/podlators/t/data/perl.conf                        podlators test
+cpan/podlators/t/data/snippets/man/cpp                 podlators test
+cpan/podlators/t/data/snippets/man/utf8-nonbreaking                    
podlators test
+cpan/podlators/t/data/snippets/man/utf8-verbatim                       
podlators test
+cpan/podlators/t/data/snippets/README                  podlators test
+cpan/podlators/t/data/snippets/text/cpp                        podlators test
+cpan/podlators/t/data/termcap                  podlators test
+cpan/podlators/t/docs/pod-spelling.t                   podlators test
+cpan/podlators/t/docs/pod.t                    podlators test
+cpan/podlators/t/docs/synopsis.t                       podlators test
+cpan/podlators/t/general/basic.t                       podlators test
+cpan/podlators/t/general/filehandle.t                  podlators test
+cpan/podlators/t/general/pod-parser.t                  podlators test
+cpan/podlators/t/lib/Test/Podlators.pm                 podlators test
+cpan/podlators/t/lib/Test/RRA/Config.pm                        podlators test
+cpan/podlators/t/lib/Test/RRA.pm                       podlators test
+cpan/podlators/t/man/basic.t                   podlators test
+cpan/podlators/t/man/devise-date.t                     podlators test
+cpan/podlators/t/man/devise-title.t                    podlators test
+cpan/podlators/t/man/empty.t                   podlators test
+cpan/podlators/t/man/heading.t                 podlators test
+cpan/podlators/t/man/options.t                 podlators test
+cpan/podlators/t/man/utf8-io.t                 podlators test
+cpan/podlators/t/parselink/basic.t                     podlators test
+cpan/podlators/t/style/minimum-version.t                       podlators test
+cpan/podlators/t/style/module-version.t                        podlators test
+cpan/podlators/t/style/strict.t                        podlators test
+cpan/podlators/t/text/basic.t                  podlators test
+cpan/podlators/t/text/color.t                  podlators test
+cpan/podlators/t/text/empty.t                  podlators test
+cpan/podlators/t/text/encoding.t                       podlators test
+cpan/podlators/t/text/options.t                        podlators test
+cpan/podlators/t/text/overstrike.t                     podlators test
+cpan/podlators/t/text/perlio.t                 podlators test
+cpan/podlators/t/text/termcap.t                        podlators test
+cpan/podlators/t/text/utf8.t                   podlators test
 cpan/podlators/VERSION                         podlators distribution version
 cpan/Pod-Parser/lib/Pod/Find.pm                        find POD documents in 
directory trees
 cpan/Pod-Parser/lib/Pod/InputObjects.pm                Pod-Parser - define 
objects for input streams
@@ -5612,6 +5628,8 @@ utils/perlivp.PL          installation verification 
procedure
 utils/piconv.PL                        iconv(1), reinvented in perl
 utils/pl2pm.PL                 A pl to pm translator
 utils/pod2html.PL              Translator to turn pod into HTML
+utils/pod2man.PL               Convert POD data to formatted *roff input
+utils/pod2text.PL              Convert POD data to formatted ASCII text
 utils/prove.PL                 The prove harness utility
 utils/ptardiff.PL              The ptardiff utility
 utils/ptargrep.PL              The ptargrep utility
diff --git a/Porting/Maintainers.pl b/Porting/Maintainers.pl
index 343698e..2f289d1 100755
--- a/Porting/Maintainers.pl
+++ b/Porting/Maintainers.pl
@@ -933,7 +933,7 @@ use File::Glob qw(:case);
     },
 
     'podlators' => {
-        'DISTRIBUTION' => 'RRA/podlators-2.5.3.tar.gz',
+        'DISTRIBUTION' => 'RRA/podlators-4.03.tar.gz',
         'FILES'        => q[cpan/podlators pod/perlpodstyle.pod],
 
         # The perl distribution has pod2man.PL and pod2text.PL,  which are
diff --git a/cpan/podlators/.gitignore b/cpan/podlators/.gitignore
index e2a37b5..b7e08fd 100644
--- a/cpan/podlators/.gitignore
+++ b/cpan/podlators/.gitignore
@@ -1,2 +1,12 @@
 /pod2man*
 /pod2text*
+/.travis.yml
+/LICENSE
+/MANIFEST
+/MANIFEST.SKIP
+/META.yml
+/META.json
+/NOTES
+/README
+/THANKS
+/TODO
diff --git a/cpan/podlators/Changes b/cpan/podlators/Changes
new file mode 100644
index 0000000..a632a0b
--- /dev/null
+++ b/cpan/podlators/Changes
@@ -0,0 +1,945 @@
+                      User-Visible podlators Changes
+
+podlators 4.03 (2015-12-06)
+
+    Fix tests when POD_MAN_DATE or SOURCE_DATE_EPOCH are already set in
+    the environment.  Thanks, Niko Tyni.  (Debian Bug#807086)
+
+    Continue general improvements and refactoring of the test suite to
+    make it more maintainable and clean out duplicate or unnecessary code.
+
+podlators 4.02 (2015-12-02)
+
+    For versions of Perl prior to 5.11, install the modules into the Perl
+    core module directories, since in those versions site modules did not
+    take precedence over Perl core modules.  Thanks, Peter Rabbitson.
+    (#110024)
+
+podlators 4.01 (2015-12-01)
+
+    [Pod::Text::Termcap] Do not override the TERMPATH environment variable
+    if it's already set.  This should fix the test suite with Term::Cap
+    1.16 (which has a bug in termcap handling if TERMPATH doesn't point to
+    a valid file).  Also document the manipulation of TERMPATH.
+
+    Revert the switch to Module::Build as the build system.  This creates
+    a circular dependency with Module::Build, since it wants a newer
+    version of Pod::Man than in Perl versions prior to 5.10.1.  Instead,
+    add the new metadata to Makefile.PL and stick with a single build
+    system that will also work inside Perl core.
+
+podlators 4.00 (2015-11-28)
+
+    Increase the version number of the package to be larger than any of
+    the previous version numbers of any of the modules, and change all
+    modules to use the same version as the overall podlators package.
+    Switch to a simple decimal version number to avoid complexity with
+    v-strings and portability to old versions of Perl.
+
+    podlators now requires Perl 5.006 or later.  All modules enable
+    warnings.  Please report any unexpected or confusing warnings as bugs
+    in the bug tracker.
+
+    [pod2man] In previous versions, the -r or --release option could be
+    specified without an argument and was interpreted as setting that
+    value to the empty string.  That never made a great deal of sense, and
+    the original change to Perl was apparently because no one realized one
+    could pass the empty string as the argument value.  The argument is
+    now mandatory, but may be the empty string, which will cause some
+    *roff implementations to use the system default.
+
+    Allow any even number of characters to be specified as the quote marks
+    for Pod::Text and Pod::Man (and the corresponding --quotes options of
+    pod2text and pod2man), rather than being artificially limited to one-
+    or two-character quotes.  The first half of the string will be used as
+    the left quote and the second half as the right quote.  This allows
+    Unicode characters or groff escapes like \(lq and \(rq to be used.
+    (Partly addresses #103298)
+
+    [Pod::Man] Attempt to detect if the input came from a pipe and
+    therefore has a completely unhelpful (and nonreproducible) source file
+    name, and diagnose this as an error.  Document that the name option
+    (--name to pod2man) is required when processing POD source from
+    standard input.  (Debian Bug#777405)
+
+    [Pod::Man] Honor the environment variable SOURCE_DATE_EPOCH and use it
+    as the timestamp from which to derive the left-hand footer if the date
+    option is not set, overriding the timestamp of the input file.  This
+    is primarily useful to ensure reproducible builds of the same output
+    file given the same souce and Pod::Man version, even when file
+    timestamps may not be consistent.  Thanks, Niko Tyni.  (Debian
+    Bug#801621)
+
+    [Pod::Man] Honor the environment variable POD_MAN_DATE and use its
+    contents, if set, as the value of the left-hand footer if the date
+    option is not set, overriding the timestamp of the input file.  This
+    was an earlier version of SOURCE_DATE_EPOCH, but has been supported in
+    Debian for a while and doesn't serve exactly the same purpose, so both
+    continue to be supported.  Thanks, Niko Tyni.
+
+    [Pod::Man] The default left-hand footer date is now based on UTC
+    rather than the local time zone to make the output more reproducible.
+    Thanks, Chris Lamb.  (Debian Bug#780259)
+
+    [Pod::Man] Simplify the preamble code for handling the F register and
+    index entries, and add backslashes after the braces in the preamble
+    code for handling the F register to avoid introducing a spurious page
+    break before at the first page with AT&T *roff.  Thanks, Carsten
+    Kunze and Daphne Pfister.  (#92979)
+
+    [Pod::Man] Support setting the left-hand footer to the empty string.
+
+    Fix documentation of the utf8 option to Pod::Man and Pod::Text, and
+    the corresponding -u option to pod2man and pod2text, to reflect that
+    Pod::Simple now autodetects Latin-1 and UTF-8 but warns.
+
+    More clearly document the options that set values in the .TH header in
+    the pod2man and Pod::Man documentation.  Thanks, Guillem Jover.
+    (#103297)
+
+    [Pod::Text] Fix encoding handling in documents that start without an
+    encoding declaration and then declare an encoding partway through.
+    Previously, this would result in attempts to print wide characters if
+    there were non-ASCII characters in the document.  Thanks, Magnolia K.
+    (#101722)
+
+    [Pod::Text] Change the documentation to not say Pod::Text only
+    generates ASCII text.  (#89355)
+
+    Switch the preferred module build system to Module::Build, but still
+    provide a Makefile.PL file for backward compatibility and for the use
+    of Perl core.  (#108714)
+
+    Installation of this package no longer tries to overwrite the Pod::Man
+    and Pod::Text modules that come with Perl core, and instead relies on
+    the normal precedence rules in Perl's module search path that prefer
+    locally-installed modules over core modules.
+
+    Rename NEWS to Changes to match the normal Perl convention.
+
+    Work around a bug in Term::Cap 1.16 that caused the test suite to fail
+    by forcing a setting of TERMPATH to a termcap file provided by the
+    test suite while running tests.  (#98272)
+
+podlators 2.5.3 (2013-10-05)
+
+    Fix documentation of the default for the errors constructor parameter.
+
+    Skip the empty text and man page errors tests if Pod::Simple didn't
+    produce any errors, which happens with the version shipped with Perl
+    versions prior to 5.18.  Catch warnings as well as exceptions in these
+    tests.
+
+podlators 2.5.2 (2013-09-22)
+
+    The parse_lines and parse_string_document methods in Pod::Man and
+    Pod::Text now set a default output file handle of STDOUT if none was
+    set.
+
+    Perform document initialization even if the document is contentless.
+    Documents with only errors are shown as contentless but then have a
+    POD ERRORS section, and previously this led to internal errors because
+    state variables weren't properly initialized.  Thanks, Andreas Koenig.
+    (#88724)
+
+    Apply various optimization improvements from Dagfinn Ilmari Mannsåker.
+    There should be no changes in the output.  (#83253)
+
+    Fix an erroneous output_fh reference in the Pod::Man documentation.
+    Thanks, Andreas Koenig.  (#88723)
+
+    Fix various comment typos.  Thanks, David Steinbrunner.  (#85683)
+
+    In perlpodstyle, wrap verbatim license line in POD that was over 79
+    characters after the man page indentation.  Thanks, Brian Gottreu and
+    Steve Hay.  (#87440)
+
+podlators 2.5.1 (2013-02-27)
+
+    Adjust the tag width tests and the list handling tests to avoid
+    spurious warnings from Pod::Simple about mismatched =item types.
+
+podlators 2.5.0 (2013-01-02)
+
+    Support a new errors option in Pod::Man and Pod::Text.  Valid values
+    are die, stderr, pod, and none.  Convert the stderr option to the
+    errors option with value stderr.  Add the corresponding --errors
+    option to pod2man and pod2text.  (#39007)
+
+    Add a new nourls option to Pod::Man and Pod::Text to suppress the URL
+    from L<> formatting codes that contain anchor text, and add the
+    corresponding --nourls option to pod2man and pod2text.  (#62210)
+
+    [Pod::Man] 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.
+
+    [Pod::Man] Collapse consecutive whitespace and remove newlines in
+    index term text.  Thanks, Kevin Ryde.  (#82332)
+
+podlators 2.4.2 (2012-06-01)
+
+    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)
+
+podlators 2.4.1 (2012-05-30)
+
+    Fix detection of PerlIO UTF-8 handling by requesting details on PerlIO
+    layers to look for the UTF8 flag, which is not a layer in its own
+    right.  Thanks, Leon Timmermans.  (#76440)
+
+    [Pod::Man] 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)
+
+    In the pod2man and pod2text driver scripts, 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.  Track contentless status inside Pod::Man and Pod::Text.
+    Thanks, Dmitry Smirnov.  (#75099)
+
+    Override parse_file in Pod::Man and Pod::Text to set output_fh to
+    STDOUT if it is not already set.  (#77530)
+
+    [Pod::Man] 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)
+
+    [Pod::Man] 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)
+
+    [Pod::Man] Fix the ASCII fallback string for the AE ligature to use
+    the string that was actually defined.
+
+    Stop removing pod2man and pod2text on make realclean, left over from
+    when they were generated from *.PL scripts.  (#74848)
+
+    Embed the PID in file names generated by the test suite to avoid
+    conflicts when running the test suite in parallel.  (#62083)
+
+podlators 2.4.0 (2010-10-10)
+
+    Switch UTF-8 output encoding to use Encode directly instead of adding
+    a PerlIO layer.  Probe the PerlIO layers with protection for Perl
+    versions without PerlIO and set a flag indicating whether we also need
+    to encode, to avoid double-encoding when writing to a file handle that
+    is already doing UTF-8 encoding via PerlIO.
+
+    [Pod::Man] 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)
+
+    Add perlpodstyle, a new style guide for POD documentation, split
+    mostly from the NOTES section of the pod2man man page.  Remove the
+    NOTES section of pod2man's documentation.
+
+    Convert pod2man and pod2text from scripts generated from *.PL files to
+    simple scripts, relying on ExtUtils::MakeMaker to handle replacing the
+    #! path during the package build.
+
+podlators 2.3.1 (2010-02-17)
+
+    Increase $VERSION in Pod::Text::Color and Pod::Text::Termcap, missed
+    in the previous release.
+
+podlators 2.3.0 (2009-12-28)
+
+    Support anchor text for L<> links of type URL by rendering the anchor
+    text and then the URL in angle brackets.  Now requires Pod::Simple
+    3.06 or later.
+
+    [Pod::Text] When formatting item tags, use the width of the tag
+    without formatting codes.  This fixes formatting issues with
+    Pod::Text::Color, Pod::Text::Termcap, and Pod::Text::Overstrike.
+
+    [Pod::Man] Suppress all formatting in the NAME section to avoid
+    confusing lexgrog and fix mishandling of C<> markup in NAME.  Clarify
+    in the pod2man documentation that no markup should be used in the NAME
+    section of a manual page.  Thanks, Niko Tyni.
+
+    [Pod::Man] Escape backslashes in the quoted text of .IX macros
+    generated from X<> formatting code.
+
+    [Pod::Man] Avoid using 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.
+
+    [Pod::ParseLink] Allow anchor text for URLs.  Fix the check of the
+    anchor text to not think no text was provided when the text was "0".
+
+    Remove the temporary files created by the test suite in a loop to
+    ensure that all versions are deleted on VMS.  Thanks, John
+    E. Malmberg.
+
+    Convert the test suite to Test::More.
+
+podlators 2.2.2 (2009-01-17)
+
+    [Pod::Text] Correctly handle indentation of verbatim paragraphs that
+    contain lines with only whitespace.  Thanks, Renee Baecker.
+
+podlators 2.2.1 (2008-12-19)
+
+    [Pod::Text] In the legacy pod2text method, properly initialize the
+    output file handle when called with only one argument.  Thanks,
+    Michael G Schwern.
+
+    Fix the t/text-encoding.t test on Windows by setting raw encoding on
+    the output file handle.  Thanks, Steve Hay.
+
+podlators 2.2.0 (2008-10-05)
+
+    [Pod::Text] Try to preserve the previous behavior of setting the
+    output encoding to match the input encoding if utf8 is not set, but
+    support forcing an output encoding of utf8 with the utf8 option.  Add
+    a corresponding --utf8 option to pod2text.  Document the PerlIO
+    limitations of the current utf8 support.
+
+    Quote all module version numbers to preserve any trailing zeroes.
+
+    Skip spelling tests unless RRA_MAINTAINER_TESTS is set in the
+    environment.  Spelling dictionaries are too different between systems.
+
+podlators 2.1.4 (2008-09-21)
+
+    Support aspell as a spell checker for spelling tests.
+
+    Skip UTF-8 tests for versions of Perl prior to 5.8.
+
+podlators 2.1.3 (2008-09-14)
+
+    Add a stderr option to Pod::Man and Pod::Text that sends POD errors to
+    standard error instead of adding a POD ERRORS section to the generated
+    documentation.  Add a corresponding --stderr option to pod2man and
+    pod2text.
+
+    [Pod::Man] 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.
+
+    In the test suite, properly set encoding on file descriptors so that
+    the UTF-8 tests are handled with the correct encoding.  Test that
+    non-breaking spaces don't interfere with hyphen detection.
+
+podlators 2.1.2 (2008-07-20)
+
+    [Pod::Man] Use .SS instead of a local .Sh macro for subheadings, and
+    stop defining .Sh.
+
+    [Pod::Man] Remap ISO 8850-1 non-breaking spaces produced by
+    Pod::Simple to the corresponding UTF-8 code point for UTF-8 output.
+
+    Add a test for spelling and fix multiple spelling and markup errors.
+
+podlators 2.1.1 (2008-07-03)
+
+    [Pod::Man] Do not include the accent mark definitions in generated
+    *roff if the output is in UTF-8.
+
+    Fix the test for S<> handling with all whitespace to not give a
+    spurious failure with Pod::Simple 3.06.
+
+podlators 2.1.0 (2008-06-01)
+
+    Add a new utf8 option to Pod::Man.  If set, do not convert non-ASCII
+    characters to *roff escapes or X, and instead output literal UTF-8
+    characters.  Add a new --utf8 option to pod2man.
+
+    [Pod::Man] Match text between \f(CW and \fP or \fR in headings
+    non-greedily to get the fonts right with multiple C<> formatting
+    codes.
+
+    [Pod::Man] Protect .Sh text against leading *roff control characters
+    since some *roff implementations apparently "look through" font
+    escapes at the beginning of lines.
+
+    [Pod::Man] 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.
+
+podlators 2.0.6 (2007-11-28)
+
+    [Pod::Man] Escape apostrophes and backquotes in verbatim and C<> text.
+
+    [Pod::Man] Define the IX macro to empty rather than leaving it
+    undefined when indexing is not requested to eliminate warnings when
+    groff warnings are enabled.
+
+    [Pod::Man] Simplify the logic to skip lib directories to avoid Perl
+    warnings and unnecessary checks.
+
+podlators 2.0.5 (2006-09-16)
+
+    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.
+
+    [Pod::Man] Recognize more uses of hyphens in regular English text and
+    allow them to be regular hyphens.
+
+    [Pod::Man] Turn off hyphenation and, for nroff, justification after
+    the .TH macro since that's where groff turns them on.
+
+    [Pod::Man] 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.
+
+podlators 2.0.4 (2006-02-19)
+
+    [Pod::Man] 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.
+
+    Add parse_from_filehandle methods to Pod::Man and Pod::Text for
+    backward compatibility with the earlier versions based on Pod::Parser.
+
+podlators 2.0.3 (2006-01-28)
+
+    In the test suite, pass in a file handle for Pod::Simple output and
+    then close it afterwards.  This works 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.
+
+podlators 2.0.2 (2006-01-25)
+
+    In the parse_from_file method, flush the output file handle rather
+    than closing it.  Closing it is unexpected and could break callers.
+
+    In Pod::Text::Termcap and Pod::Text::Color, Use additional temporary
+    variables to avoid ${char}{0,$width}, which only works in very recent
+    Perls.
+
+    Fix man test that needs an ISO 8859-1 encoding.
+
+podlators 2.0.1 (2006-01-20)
+
+    Call reinit before calling the Pod::Simple 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.
+
+    [Pod::Text] The legacy pod2text method was broken because
+    Pod::Simple's parse_file method only takes one argument.  Pass the
+    second argument to output_fh instead.
+
+    Fix portability issues with Perl 5.005.
+
+    Use a single object for all conversions in pod2man and pod2text for a
+    minor speedup.
+
+podlators 2.00 (2005-11-28)
+
+    Rewrite all modules and driver scripts to use Pod::Simple instead of
+    Pod::Parser.  The output should be identical except that C<> with no
+    content outputs quotes for Pod::Text-based parsers, E<> handling is
+    improved, and various small bugs have been fixed.  Thanks, Sean Burke.
+
+    [pod2man] Create a new parser for each file since Pod::Simple parsers
+    are not reusable.
+
+    [pod2text] Add support for multiple pairs of input and output files,
+    similar to pod2man.
+
+    [Pod::Man] Strip vendor_perl as well as site_perl when determining the
+    man page title.  Thanks, Alexey Tourbin.
+
+    Fall back on fullstop_space_harden if preserve_whitespace is not
+    available, for compatibility with older Pod::Simple.
+
+    Count text lengths correctly when wrapping in Pod::Text::Color and
+    Pod::Text::Termcap when there are multiple adjacent escape sequences.
+    Use a temporary variable to make the regex clearer.
+
+    Change section ordering in some documentation following perl5-porters
+    discussion.
+
+    Remove obsolete documentation caution against enclosing URLs in L<>.
+
+    Force a particular terminal configuration to get reliable results in
+    the Pod::Text::Termcap test suite.
+
+    Enhance the test suite substantially with additional tests from Sean
+    Burke.
+
+podlators 1.27 (2003-07-09)
+
+    [Pod::Text::Termcap] Handle the case where the HOME environment
+    variable isn't set, mostly for Windows.
+
+podlators 1.26 (2003-03-30)
+
+    [Pod::Man] Make sure the module returns 1 to keep Perl 5.8.0 happy.
+
+podlators 1.25 (2003-01-04)
+
+    [Pod::Man] Track the type of items in an =over list and only map
+    asterisk to a real bullet if the item type is bullet.  Fix a bug where
+    =item 0 was treated the same as =item with no tag.
+
+podlators 1.24 (2002-08-03)
+
+    Support a margin option in Pod::Text and use it to set the initial
+    indentation level.  Fix handling of the colon in the margin when the
+    alt format is enabled.  Add a new -m option to pod2text to set the
+    margin.
+
+podlators 1.23 (2002-07-14)
+
+    Clean up some old-style L<> links in pod2text that were workarounds
+    for fixed bugs in Pod::Man and Pod::Text.
+
+    Add a pointer to the module web site in the documentation.
+
+podlators 1.22 (2002-06-23)
+
+    Tweak the regex for matching numbers in C<> to not consider a single
+    period to be a number, which affects whether surrounding quotes are
+    added.
+
+podlators 1.21 (2002-02-16)
+
+    [Pod::Text::Overstrike] 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.
+
+podlators 1.20 (2002-01-27)
+
+    [Pod::Text::Overstrike] Use [\b] instead of \cH in regexes to match
+    backspaces, for platforms that use EBCDIC where \b and \cH aren't the
+    same character.
+
+podlators 1.19 (2002-01-02)
+
+    [Pod::Man] Do not apply guesswork to the text inside the NAME section,
+    since it may confuse programs like catman.  Do not 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.
+
+    [Pod::Man] Correctly handle a verbatim paragraph right before a
+    heading.
+
+    [Pod::Text] Fix error reporting for unknown sequences and unknown
+    commands to be more consistent and update the documentation to match.
+
+    [Pod::Text::Termcap] Terminal speed should be a number, not a string.
+    Also fall back on a hard-coded terminal speed if getospeed doesn't
+    work.
+
+podlators 1.18 (2001-11-30)
+
+    [Pod::Text::Termcap] Fall back on a hard-coded terminal speed if
+    POSIX::Termios doesn't work, such as on VMS.
+
+    [Pod::ParseLink] Escape L<> in the NAME section of the documentation.
+
+podlators 1.17 (2001-11-27)
+
+    [Pod::Man] Return references to arrays rather than references to
+    scalars for already-formatted text.  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.  Now
+    requires Pod::Parser 1.13 or later.
+
+    Change all documentation references from interior sequences to
+    formatting codes to match the terminology of perlpodspec.
+
+    [Pod::Text::Termcap] Fix an incorrect heading in the documentation.
+
+podlators 1.16 (2001-11-26)
+
+    Use an @INC path of ../lib and a new function to find source files for
+    when the module test suite is being run as part of the Perl core
+    tests.
+
+podlators 1.15 (2001-11-26)
+
+    [Pod::Text::Termcap] Wrap the call to 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.
+
+    Delete the lax option in pod2man before calling Pod::Man and document
+    that it is obsolete and podchecker should be used instead.
+
+    Improve the pod2man and Pod::Man documentation to refer to podchecker,
+    add discussion of guesswork and 8-bit character handling, and mention
+    the fragility of the heuristics.
+
+podlators 1.14 (2001-11-23)
+
+    [Pod::Text::Overstrike] Interpolate before formatting to prevent the
+    formatting codes from ending up in the output, and strip any existing
+    formatting before applying new formatting.
+
+    [Pod::Man] 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.  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.
+
+    [Pod::Man] Improve and simplify the handling of indentation shifts.
+
+    [Pod::Man] 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.
+
+    [Pod::Text] Fix handling of =for or =begin/=end in =item paragraphs.
+    Default to a tag of "*" if none is given.  Insert some whitespace for
+    empty item paragraphs to keep them from blending into subsequent text.
+
+    [Pod::ParseLink] Fix a bug in the handling of link text that's
+    entirely in quotes.  Double quotes are now only removed around
+    sections, not names.  Text enclosed entirely in double quotes is
+    interpreted as a link to a section.
+
+    Fix various -w warnings.
+
+podlators 1.13 (2001-11-15)
+
+    Fix -w warnings with hyphen handling.
+
+podlators 1.12 (2001-11-15)
+
+    Add a new module, Pod::ParseLink, to parse the contents of an L<>
+    sequence.  Use it everywhere.  Defer expansion of formatting escapes
+    inside L<> until after L<> is processed.  Surround URLs with angle
+    brackets in the output.
+
+    Remove the special handling of consecutive L</section> links.
+
+    Support E<apos>, E<nbsp>, and E<shy>.
+
+    [Pod::Man] 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.
+
+    [Pod::Man] 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.
+
+    [Pod::Man] Handle indentation of =item-less =over/=back blocks.
+
+    [Pod::Man] Include the version of Pod::Parser in the header.
+
+    [Pod::Man] 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.
+
+    [Pod::Man] No longer insert a timestamp into the generated man page;
+    it just causes unnecessary differences and merge conflicts.
+
+    [Pod::Text] Inside S<>, convert all whitespace to non-breaking spaces,
+    not just spaces.
+
+    Add the --name option to pod2man and document the name option in
+    Pod::Man.
+
+    [Pod::Man] 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.
+
+    Update the documentation in Pod::Text and subclasses 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.
+
+podlators 1.11 (2001-10-20)
+
+    Add the code option to Pod::Text to include the non-POD text of the
+    input file and document it.  Add the corresponding --code flag to
+    pod2text.
+
+    Converted warnings for unknown escapes, unknown sequences, and
+    unmatched =back into warnings from carps and include the file and line
+    number of the POD data instead of the Perl code.
+
+    [Pod::Text::Overstrike] Better handle the case where a highlighted
+    portion of text ends a line.
+
+    Add --verbose flag to pod2man to print out each output file as it is
+    generated.
+
+    [Pod::Man] Fix *roff syntax error from using .if with .el during quote
+    handling.
+
+    [Pod::Man] Fix output for X<> sequences.
+
+podlators 1.10 (2001-07-10)
+
+    Add heuristics to decide whether to quote the argument of C<>.
+
+    [Pod::Man] Remove font changes for nroff with C<> 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.
+
+    [Pod::Man] Remove the logic turning PI into a pretty pi character.  It
+    produces too many false positives.
+
+    [Pod::Man] Remove the definition .Ip from the preamble.  Remove .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.  Use .IP instead of .Ip everywhere.
+
+    In the POD style section of pod2man, add 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.
+
+    Standardize on COPYRIGHT AND LICENSE for licensing information across
+    all of the package documentation.
+
+podlators 1.09 (2001-04-09)
+
+    [Pod::Man] Fine-tune formatting guesswork.  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.
+
+    [Pod::Text] Fix again the incorrect mappings for E<Iacute> and
+    E<iacute>, and this time for E<Igrave> and E<igrave> too.  Thanks,
+    Sean Burke.
+
+podlators 1.08 (2001-02-09)
+
+    Output anything that looks like a URL verbatim rather than
+    interpreting it as a manual page reference.
+
+podlators 1.07 (2001-01-16)
+
+    [Pod::Man] Remove newlines from heading contents.
+
+    [Pod::Man] Quote the file name in the man page header if it contains
+    spaces.
+
+podlators 1.06 (2000-12-25)
+
+    New Pod::Text::Overstrike contributed by Joe Smith.  Add -o or
+    --overstrike to pod2text to use it for formatting.
+
+    [Pod::Man] =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.  Fix.
+
+podlators 1.05 (2000-11-18)
+
+    Change the default quote character for C<> to be double quotes rather
+    than matched left/right single quotes.
+
+    Add support for =head3 and =head4.
+
+    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.
+
+    [Pod::Man] 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.  Use a separate quote mapping function for text blocks
+    to work around a Solaris 2.6 nroff bug.
+
+    [Pod::Man] 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.
+
+podlators 1.04 (2000-10-09)
+
+    [Pod::Man] 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.
+
+    [Pod::Text] Fix incorrect mappings for E<Iacute> and E<iacute>.
+    Thanks, Sean Burke.
+
+podlators 1.03 (2000-09-03)
+
+    Support configuration of what quote characters to use around C<>
+    text.  Add a new --quotes option to pod2man and pod2text.
+
+    Report nicer errors when encountering an unknown paragraph command.
+
+    Add support for E<sol> and E<verbar>.
+
+    [Pod::Man] Fix the regex for stripping bullets from index entries so
+    that it doesn't strip a leading "o".
+
+    [Pod::Man] In the prelude, terminate the .IX definition with ".."
+    instead of ".    ." for groff.
+
+    [Pod::Text] The pod2text method, when given two arguments, was
+    incorrectly assigning to $_[0], causing other sane problems.  Fix.
+
+podlators 1.02 (2000-04-25)
+
+    [Pod::Man] Fix hyphens and underscores only in literal C<> content,
+    fixing mangling of hyphens and underscores that are the result of
+    other sequence processing.
+
+podlators 1.01 (2000-03-30)
+
+    Install the modules in the Perl core area if the Perl version is 5.6.0
+    or higher.
+
+    [Pod::Man] Strip a leading lib/ from a file name for module man pages,
+    needed for ExtUtils::MakeMaker.
+
+podlators 1.00 (2000-03-16)
+
+    This has now been incorporated into Perl core as pod2man and pod2text.
+    Rename pod2roff to pod2man accordingly.
+
+    Hide "-" arguments to the driver scripts from Getopt::Long so that
+    Pod::Parser will interpret them as STDIN or STDOUT.
+
+    [Pod::Man] Protect any line that starts with a backlash and leading
+    periods following font escapes.  Replace embedded newlines in titles
+    with spaces.
+
+    [Pod::Man] 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.  Zero-pad the month and day in the modification
+    date.  Avoid warnings when center, date, or release aren't set.
+
+    [Pod::Man] Allow for two-character fonts.
+
+    [Pod::Man] Work around a Perl 5.6 bug affecting L<> text generation.
+    Fix Z<> handling with current Perl.
+
+    [Pod::Man] Make filename munging safe even when $* is set and the
+    filenames contain embedded newlines.
+
+    [Pod::Man] Fix the regex to concatenate multiple L<> section links and
+    fix whitespace handling for it around "and".
+
+    [Pod::Text] Add the remaining ISO 8859-1 HTML entities.  Thanks, Tim
+    Jenness.
+
+    [pod2man] Change Getopt::Long config from bundling to
+    bundling_override so that options like -center work for backwards
+    compatibility.
+
+    [pod2text] Don't default to Pod::Text::Termcap even if STDOUT is a tty
+    until it works right on Windows, VMS, etc.
+
+podlators 0.08 (1999-10-07)
+
+    Add support for numeric E<> escapes.
+
+    [Pod::Man] Fix doubled quotes in links to sections.
+
+    [Pod::Text] Export pod2text for backwards compatibility.
+
+    [pod2roff] Fix argument passing to Pod::Parser to use an expanded hash
+    instead of a hash reference.
+
+podlators 0.07 (1999-09-25)
+
+    [Pod::Man] Change 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, clean up what *roff escaping and
+    guesswork is applied where, and clean up the whole process of applying
+    guesswork.  Improve the escaping of dashes and hyphens to use a single
+    pass.
+
+    [Pod::Man] Improve the small caps guesswork to allow for more cases,
+    including several adjacent all caps words.
+
+    [Pod::Man] Fix some bugs with the link text generation for man page
+    references.
+
+    [Pod::Man] Improve the index generation slightly.
+
+    [Pod::Man] Fix several places that were clobbering the caller's $_.
+
+podlators 0.06 (1999-09-20)
+
+    Add pod2roff and Pod::Man, which convert POD to man pages.
+
+    Rename pod2txt to pod2text and Pod::PlainText to Pod::Text.
+
+    [Pod::Text] =begin text blocks are now output verbatim rather than
+    interpreted as POD.
+
+    [Pod::Text] Document the oddity with Ctrl-As as a restriction.
+
+    [Pod::Text] Always treat =for paragraphs as verbatim text.
+
+    [Pod::Text::Color] Add a BUGS note that the implementation is rather
+    incomplete, and document the reliance on Term::ANSIColor.
+
+    [pod2text] Add an explicit check for Term::ANSIColor if -c was given.
+
+    [Pod::Man] Add a BUGS entry for index entries for stuff in NAME.
+
+    [Pod::Text] Document two more diagnostics and a cross-reference to
+    pod2text.
+
+    [pod2text] Add documentation of -h and expand the DIAGNOSTICS section
+    to include directly-generated error messages and the most common
+    Getopt::Long message.
+
+podlators 0.05 (1999-09-18)
+
+    [Pod::Text::Color] Rename Pod::SimpleText to Pod::PlainText in one
+    more place in the documentation.
+
+podlators 0.04 (1999-08-30)
+
+    Use File::Spec during the build to build file paths for portability,
+    and remove the dist setting since current Perls get this right.
+
+    Fix the #! line in pod2txt during the build.
+
+podlators 0.03 (1999-08-30)
+
+    Rename Pod::SimpleText to Pod::PlainText.
+
+    [pod2txt] Document that Pod::Text::Termcap is used by default if
+    STDOUT is a tty.  Clarify the documentation of --loose.
+
+podlators 0.02 (1999-07-29)
+
+    Rename the package itself from Pod::SimpleText to podlators.
+
+    [Pod::SimpleText] Add a pod2text function for backwards compatibility.
+
+    [Pod::SimpleText] Properly wrap multiline =item tags.
+
+    [Pod::SimpleText] Fix a spurious space with =for text commands.
+
+    [Pod::SimpleText] Check the content of sequences against the empty
+    string specifically rather than testing truth so that it does the
+    right thing with 0.
+
+    [Pod::SimpleText] Process sequences for =head headings.
+
+podlators 0.01 (1999-06-12)
+
+    Initial release with pod2txt and Pod::SimpleText.
diff --git a/cpan/podlators/Makefile.PL b/cpan/podlators/Makefile.PL
new file mode 100644
index 0000000..5db6c15
--- /dev/null
+++ b/cpan/podlators/Makefile.PL
@@ -0,0 +1,13 @@
+use strict;
+use warnings;
+
+use ExtUtils::MakeMaker;
+
+WriteMakefile(
+    NAME            => 'Pod',
+    DISTNAME        => 'podlators',
+    VERSION_FROM    => 'lib/Pod/Man.pm',
+    EXE_FILES       => [ 'bin/pod2man', 'bin/pod2text' ],
+    AUTHOR          => 'Russ Allbery ([email protected])',
+    ABSTRACT        => 'Convert POD data to various other formats'
+);
diff --git a/cpan/podlators/scripts/pod2man.PL b/cpan/podlators/bin/pod2man
similarity index 76%
rename from cpan/podlators/scripts/pod2man.PL
rename to cpan/podlators/bin/pod2man
index 6af3474..203e75f 100644
--- a/cpan/podlators/scripts/pod2man.PL
+++ b/cpan/podlators/bin/pod2man
@@ -1,49 +1,16 @@
 #!perl
 
-use Config;
-use File::Basename qw(&basename &dirname);
-use Cwd;
-
-# List explicitly here the variables you want Configure to
-# generate.  Metaconfig only looks for shell variables, so you
-# have to mention them as if they were shell variables, not
-# %Config entries.  Thus you write
-#  $startperl
-# to ensure Configure will look for $Config{startperl}.
-
-# This forces PL files to create target in same directory as PL file.
-# This is so that make depend always knows where to find PL derivatives.
-$origdir = cwd;
-chdir dirname($0);
-$file = basename($0, '.PL');
-$file .= '.com' if $^O eq 'VMS';
-
-open OUT,">$file" or die "Can't create $file: $!";
-
-print "Extracting $file (with variable substitutions)\n";
-
-# In this section, perl variables will be expanded during extraction.
-# You can use $Config{...} to use Configure variables.
-
-print OUT <<"!GROK!THIS!";
-$Config{startperl}
-    eval 'exec $Config{perlpath} -S \$0 \${1+"\$@"}'
-        if \$running_under_some_shell;
-!GROK!THIS!
-
-# In the following, perl variables are not expanded during extraction.
-
-print OUT <<'!NO!SUBS!';
-
 # pod2man -- Convert POD data to formatted *roff input.
 #
-# Copyright 1999, 2000, 2001, 2004, 2006, 2008, 2010, 2012, 2013
-#     Russ Allbery <[email protected]>
+# Copyright 1999, 2000, 2001, 2004, 2006, 2008, 2010, 2012, 2013, 2014, 2015
+#     Russ Allbery <[email protected]>
 #
 # This program is free software; you may redistribute it and/or modify it
 # under the same terms as Perl itself.
 
-require 5.004;
+use 5.006;
+use strict;
+use warnings;
 
 use Getopt::Long qw(GetOptions);
 use Pod::Man ();
@@ -66,7 +33,7 @@ Getopt::Long::config ('bundling_override');
 GetOptions (\%options, 'center|c=s', 'date|d=s', 'errors=s', 'fixed=s',
             'fixedbold=s', 'fixeditalic=s', 'fixedbolditalic=s', 'help|h',
             'lax|l', 'name|n=s', 'nourls', 'official|o', 'quotes|q=s',
-            'release|r:s', 'section|s=s', 'stderr', 'verbose|v', 'utf8|u')
+            'release|r=s', 'section|s=s', 'stderr', 'verbose|v', 'utf8|u')
     or exit 1;
 pod2usage (0) if $options{help};
 
@@ -124,7 +91,7 @@ pod2man - Convert POD data to formatted *roff input
 pod2man [B<--center>=I<string>] [B<--date>=I<string>] [B<--errors>=I<style>]
     [B<--fixed>=I<font>] [B<--fixedbold>=I<font>] [B<--fixeditalic>=I<font>]
     [B<--fixedbolditalic>=I<font>] [B<--name>=I<name>] [B<--nourls>]
-    [B<--official>] [B<--quotes>=I<quotes>] [B<--release>[=I<version>]]
+    [B<--official>] [B<--quotes>=I<quotes>] [B<--release>=I<version>]
     [B<--section>=I<manext>] [B<--stderr>] [B<--utf8>] [B<--verbose>]
     [I<input> [I<output>] ...]
 
@@ -169,16 +136,18 @@ complete information.
 
 =item B<-c> I<string>, B<--center>=I<string>
 
-Sets the centered page header to I<string>.  The default is "User
-Contributed Perl Documentation", but also see B<--official> below.
+Sets the centered page header for the C<.TH> macro to I<string>.  The
+default is "User Contributed Perl Documentation", but also see
+B<--official> below.
 
 =item B<-d> I<string>, B<--date>=I<string>
 
-Set the left-hand footer string to this value.  By default, the modification
-date of the input file will be used, or the current date if input comes from
-C<STDIN>.
+Set the left-hand footer string for the C<.TH> macro to I<string>.  By
+default, the modification date of the input file will be used, or the
+current date if input comes from C<STDIN>, and will be based on UTC (so
+that the output will be reproducible regardless of local time zone).
 
-=item B<-errors>=I<style>
+=item B<--errors>=I<style>
 
 Set the error handling style.  C<die> says to throw an exception on any
 POD formatting error.  C<stderr> says to report errors on standard error,
@@ -224,16 +193,23 @@ Accepted for backward compatibility; this option no 
longer does anything.
 
 =item B<-n> I<name>, B<--name>=I<name>
 
-Set the name of the manual page to I<name>.  Without this option, the manual
-name is set to the uppercased base name of the file being converted unless
-the manual section is 3, in which case the path is parsed to see if it is a
-Perl module path.  If it is, a path like C<.../lib/Pod/Man.pm> is converted
-into a name like C<Pod::Man>.  This option, if given, overrides any
-automatic determination of the name.
+Set the name of the manual page for the C<.TH> macro to I<name>.  Without
+this option, the manual name is set to the uppercased base name of the
+file being converted unless the manual section is 3, in which case the
+path is parsed to see if it is a Perl module path.  If it is, a path like
+C<.../lib/Pod/Man.pm> is converted into a name like C<Pod::Man>.  This
+option, if given, overrides any automatic determination of the name.
+
+Although one does not have to follow this convention, be aware that the
+convention for UNIX man pages for commands is for the man page title to be
+in all-uppercase, even if the command isn't.
 
-Note that this option is probably not useful when converting multiple POD
-files at once.  The convention for Unix man pages for commands is for the
-man page title to be in all-uppercase even if the command isn't.
+This option is probably not useful when converting multiple POD files at
+once.
+
+When converting POD source from standard input, this option is required,
+since there's otherwise no way to know what to use as the name of the
+manual page.
 
 =item B<--nourls>
 
@@ -259,24 +235,27 @@ Perl release, if B<--center> is not also given.
 
 Sets the quote marks used to surround CE<lt>> text to I<quotes>.  If
 I<quotes> is a single character, it is used as both the left and right
-quote; if I<quotes> is two characters, the first character is used as the
-left quote and the second as the right quoted; and if I<quotes> is four
-characters, the first two are used as the left quote and the second two as
-the right quote.
+quote.  Otherwise, it is split in half, and the first half of the string
+is used as the left quote and the second is used as the right quote.
 
 I<quotes> may also be set to the special value C<none>, in which case no
 quote marks are added around CE<lt>> text (but the font is still changed for
 troff output).
 
-=item B<-r>, B<--release>
+=item B<-r> I<version>, B<--release>=I<version>
+
+Set the centered footer for the C<.TH> macro to I<version>.  By default,
+this is set to the version of Perl you run B<pod2man> under.  Setting this
+to the empty string will cause some *roff implementations to use the
+system default value.
 
-Set the centered footer.  By default, this is the version of Perl you run
-B<pod2man> under.  Note that some system an macro sets assume that the
-centered footer will be a modification date and will prepend something like
-"Last modified: "; if this is the case, you may want to set B<--release> to
-the last modified date and B<--date> to the version number.
+Note that some system C<an> macro sets assume that the centered footer
+will be a modification date and will prepend something like "Last
+modified: ".  If this is the case for your target system, you may want to
+set B<--release> to the last modified date and B<--date> to the version
+number.
 
-=item B<-s>, B<--section>
+=item B<-s> I<string>, B<--section>=I<string>
 
 Set the section for the C<.TH> macro.  The standard section numbering
 convention is to use 1 for user commands, 2 for system calls, 3 for
@@ -314,10 +293,11 @@ supported by many implementations and may even result in 
segfaults and
 other bad behavior.
 
 Be aware that, when using this option, the input encoding of your POD
-source must be properly declared unless it is US-ASCII or Latin-1.  POD
-input without an C<=encoding> command will be assumed to be in Latin-1,
-and if it's actually in UTF-8, the output will be double-encoded.  See
-L<perlpod(1)> for more information on the C<=encoding> command.
+source should be properly declared unless it's US-ASCII.  Pod::Simple will
+attempt to guess the encoding and may be successful if it's Latin-1 or
+UTF-8, but it will warn, which by default results in a B<pod2man> failure.
+Use the C<=encoding> command to declare the encoding.  See L<perlpod(1)>
+for more information.
 
 =item B<-v>, B<--verbose>
 
@@ -378,21 +358,15 @@ Perl core distribution as of 5.6.0.
 
 =head1 AUTHOR
 
-Russ Allbery <[email protected]>, based I<very> heavily on the original
+Russ Allbery <[email protected]>, based I<very> heavily on the original
 B<pod2man> by Larry Wall and Tom Christiansen.
 
 =head1 COPYRIGHT AND LICENSE
 
-Copyright 1999, 2000, 2001, 2004, 2006, 2008, 2010, 2012, 2013 Russ
-Allbery <[email protected]>.
+Copyright 1999, 2000, 2001, 2004, 2006, 2008, 2010, 2012, 2013, 2014,
+2015 Russ Allbery <[email protected]>.
 
 This program is free software; you may redistribute it and/or modify it
 under the same terms as Perl itself.
 
 =cut
-!NO!SUBS!
-
-close OUT or die "Can't close $file: $!";
-chmod 0755, $file or die "Can't reset permissions for $file: $!\n";
-exec("$Config{'eunicefix'} $file") if $Config{'eunicefix'} ne ':';
-chdir $origdir;
diff --git a/cpan/podlators/scripts/pod2text.PL b/cpan/podlators/bin/pod2text
similarity index 83%
rename from cpan/podlators/scripts/pod2text.PL
rename to cpan/podlators/bin/pod2text
index f1acdbe..9394f0f 100644
--- a/cpan/podlators/scripts/pod2text.PL
+++ b/cpan/podlators/bin/pod2text
@@ -1,44 +1,9 @@
 #!perl
 
-use Config;
-use File::Basename qw(&basename &dirname);
-use Cwd;
-
-# List explicitly here the variables you want Configure to
-# generate.  Metaconfig only looks for shell variables, so you
-# have to mention them as if they were shell variables, not
-# %Config entries.  Thus you write
-#  $startperl
-# to ensure Configure will look for $Config{startperl}.
-
-# This forces PL files to create target in same directory as PL file.
-# This is so that make depend always knows where to find PL derivatives.
-$origdir = cwd;
-chdir dirname($0);
-$file = basename($0, '.PL');
-$file .= '.com' if $^O eq 'VMS';
-
-open OUT,">$file" or die "Can't create $file: $!";
-
-print "Extracting $file (with variable substitutions)\n";
-
-# In this section, perl variables will be expanded during extraction.
-# You can use $Config{...} to use Configure variables.
-
-print OUT <<"!GROK!THIS!";
-$Config{startperl}
-    eval 'exec $Config{perlpath} -S \$0 \${1+"\$@"}'
-        if \$running_under_some_shell;
-!GROK!THIS!
-
-# In the following, perl variables are not expanded during extraction.
-
-print OUT <<'!NO!SUBS!';
-
 # pod2text -- Convert POD data to formatted ASCII text.
 #
-# Copyright 1999, 2000, 2001, 2004, 2006, 2008, 2010, 2012, 2013
-#     Russ Allbery <[email protected]>
+# Copyright 1999, 2000, 2001, 2004, 2006, 2008, 2010, 2012, 2013, 2014, 2015
+#     Russ Allbery <[email protected]>
 #
 # This program is free software; you may redistribute it and/or modify it
 # under the same terms as Perl itself.
@@ -46,14 +11,14 @@ print OUT <<'!NO!SUBS!';
 # The driver script for Pod::Text, Pod::Text::Termcap, and Pod::Text::Color,
 # invoked by perldoc -t among other things.
 
-require 5.004;
+use 5.006;
+use strict;
+use warnings;
 
 use Getopt::Long qw(GetOptions);
 use Pod::Text ();
 use Pod::Usage qw(pod2usage);
 
-use strict;
-
 # Clean up $0 for error reporting.
 $0 =~ s%.*/%%;
 
@@ -174,12 +139,7 @@ code left intact.
 Format the output with ANSI color escape sequences.  Using this option
 requires that Term::ANSIColor be installed on your system.
 
-=item B<-i> I<indent>, B<--indent=>I<indent>
-
-Set the number of spaces to indent regular text, and the default indentation
-for C<=over> blocks.  Defaults to 4 spaces if this option isn't given.
-
-=item B<-errors>=I<style>
+=item B<--errors>=I<style>
 
 Set the error handling style.  C<die> says to throw an exception on any
 POD formatting error.  C<stderr> says to report errors on standard error,
@@ -189,6 +149,11 @@ ignores POD errors entirely, as much as possible.
 
 The default is C<die>.
 
+=item B<-i> I<indent>, B<--indent=>I<indent>
+
+Set the number of spaces to indent regular text, and the default indentation
+for C<=over> blocks.  Defaults to 4 spaces if this option isn't given.
+
 =item B<-h>, B<--help>
 
 Print out usage information and exit.
@@ -232,10 +197,8 @@ to convert this to bold or underlined text.
 
 Sets the quote marks used to surround CE<lt>> text to I<quotes>.  If
 I<quotes> is a single character, it is used as both the left and right
-quote; if I<quotes> is two characters, the first character is used as the
-left quote and the second as the right quoted; and if I<quotes> is four
-characters, the first two are used as the left quote and the second two as
-the right quote.
+quote.  Otherwise, it is split in half, and the first half of the string
+is used as the left quote and the second is used as the right quote.
 
 I<quotes> may also be set to the special value C<none>, in which case no
 quote marks are added around CE<lt>> text.
@@ -271,10 +234,11 @@ encoding (to be backward-compatible with older versions). 
 This option
 says to instead force the output encoding to UTF-8.
 
 Be aware that, when using this option, the input encoding of your POD
-source must be properly declared unless it is US-ASCII or Latin-1.  POD
-input without an C<=encoding> command will be assumed to be in Latin-1,
-and if it's actually in UTF-8, the output will be double-encoded.  See
-L<perlpod(1)> for more information on the C<=encoding> command.
+source should be properly declared unless it's US-ASCII.  Pod::Simple
+will attempt to guess the encoding and may be successful if it's
+Latin-1 or UTF-8, but it will warn, which by default results in a
+B<pod2text> failure.  Use the C<=encoding> command to declare the
+encoding.  See L<perlpod(1)> for more information.
 
 =item B<-w>, B<--width=>I<width>, B<->I<width>
 
@@ -345,20 +309,14 @@ Perl core distribution as of 5.6.0.
 
 =head1 AUTHOR
 
-Russ Allbery <[email protected]>.
+Russ Allbery <[email protected]>.
 
 =head1 COPYRIGHT AND LICENSE
 
-Copyright 1999, 2000, 2001, 2004, 2006, 2008, 2010, 2012, 2013 Russ
-Allbery <[email protected]>.
+Copyright 1999, 2000, 2001, 2004, 2006, 2008, 2010, 2012, 2013, 2014, 2015
+Russ Allbery <[email protected]>
 
 This program is free software; you may redistribute it and/or modify it
 under the same terms as Perl itself.
 
 =cut
-!NO!SUBS!
-
-close OUT or die "Can't close $file: $!";
-chmod 0755, $file or die "Can't reset permissions for $file: $!\n";
-exec("$Config{'eunicefix'} $file") if $Config{'eunicefix'} ne ':';
-chdir $origdir;
diff --git a/cpan/podlators/lib/Pod/Man.pm b/cpan/podlators/lib/Pod/Man.pm
index 72ca9ff..0d2edd0 100644
--- a/cpan/podlators/lib/Pod/Man.pm
+++ b/cpan/podlators/lib/Pod/Man.pm
@@ -11,9 +11,10 @@
 # me any patches at the address above in addition to sending them to the
 # standard Perl mailing lists.
 #
-# Copyright 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
-#     2010, 2012, 2013 Russ Allbery <[email protected]>
+# Written by Russ Allbery <[email protected]>
 # Substantial contributions by Sean Burke <[email protected]>
+# Copyright 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
+#     2010, 2012, 2013, 2014, 2015 Russ Allbery <[email protected]>
 #
 # This program is free software; you may redistribute it and/or modify it
 # under the same terms as Perl itself.
@@ -24,9 +25,10 @@
 
 package Pod::Man;
 
-require 5.005;
-
+use 5.006;
 use strict;
+use warnings;
+
 use subs qw(makespace);
 use vars qw(@ISA %ESCAPES $PREAMBLE $VERSION);
 
@@ -36,7 +38,7 @@ use Pod::Simple ();
 
 @ISA = qw(Pod::Simple);
 
-$VERSION = '2.28';
+$VERSION = '4.03';
 
 # Set the debugging level.  If someone has inserted a debug function into this
 # class already, use that.  Otherwise, use any Pod::Simple debug function
@@ -204,10 +206,10 @@ sub init_quotes {
         $$self{LQUOTE} = $$self{RQUOTE} = '';
     } elsif (length ($$self{quotes}) == 1) {
         $$self{LQUOTE} = $$self{RQUOTE} = $$self{quotes};
-    } elsif ($$self{quotes} =~ /^(.)(.)$/
-             || $$self{quotes} =~ /^(..)(..)$/) {
-        $$self{LQUOTE} = $1;
-        $$self{RQUOTE} = $2;
+    } elsif (length ($$self{quotes}) % 2 == 0) {
+        my $length = length ($$self{quotes}) / 2;
+        $$self{LQUOTE} = substr ($$self{quotes}, 0, $length);
+        $$self{RQUOTE} = substr ($$self{quotes}, $length);
     } else {
         croak(qq(Invalid quote specification "$$self{quotes}"))
     }
@@ -788,7 +790,7 @@ sub start_document {
         } else {
             ($name, $section) = $self->devise_title;
         }
-        my $date = $$self{date} || $self->devise_date;
+        my $date = defined($$self{date}) ? $$self{date} : $self->devise_date;
         $self->preamble ($name, $section, $date)
             unless $self->bare_output or DEBUG > 9;
     }
@@ -828,6 +830,17 @@ sub devise_title {
     $section = 3 if (!$$self{section} && $name =~ /\.pm\z/i);
     $name =~ s/\.p(od|[lm])\z//i;
 
+    # If Pod::Parser gave us an IO::File reference as the source file name,
+    # convert that to the empty string as well.  Then, if we don't have a
+    # valid name, emit a warning and convert it to STDIN.
+    if ($name =~ /^IO::File(?:=\w+)\(0x[\da-f]+\)$/i) {
+        $name = '';
+    }
+    if ($name eq '') {
+        $self->whine (1, 'No name given for document');
+        $name = 'STDIN';
+    }
+
     # If the section isn't 3, then the name defaults to just the basename of
     # the file.  Otherwise, assume we're dealing with a module.  We want to
     # figure out the full module name from the path to the file, but we don't
@@ -876,25 +889,55 @@ sub devise_title {
 }
 
 # Determine the modification date and return that, properly formatted in ISO
-# format.  If we can't get the modification date of the input, instead use the
-# current time.  Pod::Simple returns a completely unuseful stringified file
-# handle as the source_filename for input from a file handle, so we have to
-# deal with that as well.
+# format.
+#
+# If POD_MAN_DATE is set, that overrides anything else.  This can be used for
+# reproducible generation of the same file even if the input file timestamps
+# are unpredictable or the POD coms from standard input.
+#
+# Otherwise, if SOURCE_DATE_EPOCH is set and can be parsed as seconds since
+# the UNIX epoch, base the timestamp on that.  See
+# <https://reproducible-builds.org/specs/source-date-epoch/>
+#
+# Otherwise, use the modification date of the input if we can stat it.  Be
+# aware that Pod::Simple returns the stringification of the file handle as
+# source_filename for input from a file handle, so we'll stat some random ref
+# string in that case.  If that fails, instead use the current time.
+#
+# $self - Pod::Man object, used to get the source file
+#
+# Returns: YYYY-MM-DD date suitable for the left-hand footer
 sub devise_date {
     my ($self) = @_;
-    my $input = $self->source_filename;
+
+    # If POD_MAN_DATE is set, always use it.
+    if (defined($ENV{POD_MAN_DATE})) {
+        return $ENV{POD_MAN_DATE};
+    }
+
+    # If SOURCE_DATE_EPOCH is set and can be parsed, use that.
     my $time;
-    if ($input) {
-        $time = (stat $input)[9] || time;
-    } else {
-        $time = time;
+    if (defined($ENV{SOURCE_DATE_EPOCH}) && $ENV{SOURCE_DATE_EPOCH} !~ /\D/) {
+        $time = $ENV{SOURCE_DATE_EPOCH};
+    }
+
+    # Otherwise, get the input filename and try to stat it.  If that fails,
+    # use the current time.
+    if (!defined $time) {
+        my $input = $self->source_filename;
+        if ($input) {
+            $time = (stat($input))[9] || time();
+        } else {
+            $time = time();
+        }
     }
 
-    # Can't use POSIX::strftime(), which uses Fcntl, because MakeMaker
-    # uses this and it has to work in the core which can't load dynamic
-    # libraries.
-    my ($year, $month, $day) = (localtime $time)[5,4,3];
-    return sprintf ("%04d-%02d-%02d", $year + 1900, $month + 1, $day);
+    # Can't use POSIX::strftime(), which uses Fcntl, because MakeMaker uses
+    # this and it has to work in the core which can't load dynamic libraries.
+    # Use gmtime instead of localtime so that the generated man page does not
+    # depend on the local time zone setting and is more reproducible
+    my ($year, $month, $day) = (gmtime($time))[5,4,3];
+    return sprintf("%04d-%02d-%02d", $year + 1900, $month + 1, $day);
 }
 
 # Print out the preamble and the title.  The meaning of the arguments to .TH
@@ -1461,7 +1504,7 @@ sub preamble_template {
 .ie \n(.g .ds Aq \(aq
 .el       .ds Aq '
 .\"
-.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" If the F register is >0, we'll generate index entries on stderr for
 .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
 .\" entries marked with X<> in POD.  Of course, you'll have to process the
 .\" output yourself in some meaningful fashion.
@@ -1469,20 +1512,16 @@ sub preamble_template {
 .\" Avoid warning from groff about undefined register 'F'.
 .de IX
 ..
-.nr rF 0
-.if \n(.g .if rF .nr rF 1
-.if (\n(rF:(\n(.g==0)) \{
-.    if \nF \{
-.        de IX
-.        tm Index:\\$1\t\\n%\t"\\$2"
+.if !\nF .nr F 0
+.if \nF>0 \{\
+.    de IX
+.    tm Index:\\$1\t\\n%\t"\\$2"
 ..
-.        if !\nF==2 \{
-.            nr % 0
-.            nr F 2
-.        \}
+.    if !\nF==2 \{\
+.        nr % 0
+.        nr F 2
 .    \}
 .\}
-.rr rF
 ----END OF PREAMBLE----
 #'# for cperl-mode
 
@@ -1566,7 +1605,7 @@ __END__
 =for stopwords
 en em ALLCAPS teeny fixedbold fixeditalic fixedbolditalic stderr utf8
 UTF-8 Allbery Sean Burke Ossanna Solaris formatters troff uppercased
-Christiansen nourls parsers
+Christiansen nourls parsers Kernighan
 
 =head1 NAME
 
@@ -1629,8 +1668,19 @@ argument.
 
 =item center
 
-Sets the centered page header to use instead of "User Contributed Perl
-Documentation".
+Sets the centered page header for the C<.TH> macro.  The default, if this
+option is not specified, is "User Contributed Perl Documentation".
+
+=item date
+
+Sets the left-hand footer for the C<.TH> macro.  If this option is not set,
+the contents of the environment variable POD_MAN_DATE, if set, will be used.
+Failing that, the value of SOURCE_DATE_EPOCH, the modification date of the
+input file, or the current time if stat() can't find that file (which will be
+the case if the input is from C<STDIN>) will be used.  If obtained from the
+file modification date or the current time, the date will be formatted as
+C<YYYY-MM-DD> and will be based on UTC (so that the output will be
+reproducible regardless of local time zone).
 
 =item errors
 
@@ -1642,13 +1692,6 @@ POD errors entirely, as much as possible.
 
 The default is C<pod>.
 
-=item date
-
-Sets the left-hand footer.  By default, the modification date of the input
-file will be used, or the current date if stat() can't find that file (the
-case if the input is from C<STDIN>), and the date will be formatted as
-C<YYYY-MM-DD>.
-
 =item fixed
 
 The fixed-width font to use for verbatim text and code.  Defaults to
@@ -1675,12 +1718,16 @@ for B<troff> output.
 
 =item name
 
-Set the name of the manual page.  Without this option, the manual name is
-set to the uppercased base name of the file being converted unless the
-manual section is 3, in which case the path is parsed to see if it is a Perl
-module path.  If it is, a path like C<.../lib/Pod/Man.pm> is converted into
-a name like C<Pod::Man>.  This option, if given, overrides any automatic
-determination of the name.
+Set the name of the manual page for the C<.TH> macro.  Without this
+option, the manual name is set to the uppercased base name of the file
+being converted unless the manual section is 3, in which case the path is
+parsed to see if it is a Perl module path.  If it is, a path like
+C<.../lib/Pod/Man.pm> is converted into a name like C<Pod::Man>.  This
+option, if given, overrides any automatic determination of the name.
+
+If generating a manual page from standard input, this option is required,
+since there's otherwise no way for Pod::Man to know what to use for the
+manual page name.
 
 =item nourls
 
@@ -1701,10 +1748,9 @@ important.
 =item quotes
 
 Sets the quote marks used to surround CE<lt>> text.  If the value is a
-single character, it is used as both the left and right quote; if it is two
-characters, the first character is used as the left quote and the second as
-the right quoted; and if it is four characters, the first two are used as
-the left quote and the second two as the right quote.
+single character, it is used as both the left and right quote.  Otherwise,
+it is split in half, and the first half of the string is used as the left
+quote and the second is used as the right quote.
 
 This may also be set to the special value C<none>, in which case no quote
 marks are added around CE<lt>> text (but the font is still changed for troff
@@ -1712,11 +1758,16 @@ output).
 
 =item release
 
-Set the centered footer.  By default, this is the version of Perl you run
-Pod::Man under.  Note that some system an macro sets assume that the
-centered footer will be a modification date and will prepend something like
-"Last modified: "; if this is the case, you may want to set C<release> to
-the last modified date and C<date> to the version number.
+Set the centered footer for the C<.TH> macro.  By default, this is set to
+the version of Perl you run Pod::Man under.  Setting this to the empty
+string will cause some *roff implementations to use the system default
+value.
+
+Note that some system C<an> macro sets assume that the centered footer
+will be a modification date and will prepend something like "Last
+modified: ".  If this is the case for your target system, you may want to
+set C<release> to the last modified date and C<date> to the version
+number.
 
 =item section
 
@@ -1756,10 +1807,10 @@ by many implementations and may even result in 
segfaults and other bad
 behavior.
 
 Be aware that, when using this option, the input encoding of your POD
-source must be properly declared unless it is US-ASCII or Latin-1.  POD
-input without an C<=encoding> command will be assumed to be in Latin-1,
-and if it's actually in UTF-8, the output will be double-encoded.  See
-L<perlpod(1)> for more information on the C<=encoding> command.
+source should be properly declared unless it's US-ASCII.  Pod::Simple will
+attempt to guess the encoding and may be successful if it's Latin-1 or
+UTF-8, but it will produce warnings.  Use the C<=encoding> command to
+declare the encoding.  See L<perlpod(1)> for more information.
 
 =back
 
@@ -1800,8 +1851,8 @@ canonical versions of B<nroff> and B<troff> don't either).
 =item Invalid quote specification "%s"
 
 (F) The quote specification given (the C<quotes> option to the
-constructor) was invalid.  A quote specification must be one, two, or four
-characters long.
+constructor) was invalid.  A quote specification must be either one
+character long or an even number (greater than one) characters long.
 
 =item POD document had syntax errors
 
@@ -1810,6 +1861,36 @@ option was set to C<die>.
 
 =back
 
+=head1 ENVIRONMENT
+
+=over 4
+
+=item POD_MAN_DATE
+
+If set, this will be used as the value of the left-hand footer unless the
+C<date> option is explicitly set, overriding the timestamp of the input
+file or the current time.  This is primarily useful to ensure reproducible
+builds of the same output file given the same source and Pod::Man version,
+even when file timestamps may not be consistent.
+
+=item SOURCE_DATE_EPOCH
+
+If set, and POD_MAN_DATE and the C<date> options are not set, this will be
+used as the modification time of the source file, overriding the timestamp of
+the input file or the current time.  It should be set to the desired time in
+seconds since UNIX epoch.  This is primarily useful to ensure reproducible
+builds of the same output file given the same source and Pod::Man version,
+even when file timestamps may not be consistent.  See
+L<https://reproducible-builds.org/specs/source-date-epoch/> for the full
+specification.
+
+(Arguably, according to the specification, this variable should be used only
+if the timestamp of the input file is not available and Pod::Man uses the
+current time.  However, for reproducible builds in Debian, results were more
+reliable if this variable overrode the timestamp of the input file.)
+
+=back
+
 =head1 BUGS
 
 Encoding handling assumes that PerlIO is available and does not work
@@ -1860,7 +1941,7 @@ only matters for troff output.
 
 =head1 AUTHOR
 
-Russ Allbery <[email protected]>, based I<very> heavily on the original
+Russ Allbery <[email protected]>, based I<very> heavily on the original
 B<pod2man> by Tom Christiansen <[email protected]>.  The modifications to
 work with Pod::Simple instead of Pod::Parser were originally contributed by
 Sean Burke (but I've since hacked them beyond recognition and all bugs are
@@ -1869,7 +1950,7 @@ mine).
 =head1 COPYRIGHT AND LICENSE
 
 Copyright 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008,
-2009, 2010, 2012, 2013 Russ Allbery <[email protected]>.
+2009, 2010, 2012, 2013, 2014, 2015 Russ Allbery <[email protected]>
 
 This program is free software; you may redistribute it and/or modify it
 under the same terms as Perl itself.
diff --git a/cpan/podlators/lib/Pod/ParseLink.pm 
b/cpan/podlators/lib/Pod/ParseLink.pm
index 750fdfb..8d9d7ce 100644
--- a/cpan/podlators/lib/Pod/ParseLink.pm
+++ b/cpan/podlators/lib/Pod/ParseLink.pm
@@ -1,6 +1,6 @@
 # Pod::ParseLink -- Parse an L<> formatting code in POD text.
 #
-# Copyright 2001, 2008, 2009 by Russ Allbery <[email protected]>
+# Copyright 2001, 2008, 2009, 2014 by Russ Allbery <[email protected]>
 #
 # This program is free software; you may redistribute it and/or modify it
 # under the same terms as Perl itself.
@@ -21,16 +21,17 @@
 
 package Pod::ParseLink;
 
-require 5.004;
-
+use 5.006;
 use strict;
+use warnings;
+
 use vars qw(@EXPORT @ISA $VERSION);
 
 use Exporter;
 @ISA    = qw(Exporter);
 @EXPORT = qw(parselink);
 
-$VERSION = '1.10';
+$VERSION = '4.03';
 
 ##############################################################################
 # Implementation
@@ -123,7 +124,8 @@ markup Allbery URL
 =head1 SYNOPSIS
 
     use Pod::ParseLink;
-    my ($text, $inferred, $name, $section, $type) = parselink ($link);
+    my $link = get_link();
+    my ($text, $inferred, $name, $section, $type) = parselink($link);
 
 =head1 DESCRIPTION
 
@@ -180,11 +182,11 @@ L<http://www.eyrie.org/~eagle/software/podlators/>.
 
 =head1 AUTHOR
 
-Russ Allbery <[email protected]>.
+Russ Allbery <[email protected]>.
 
 =head1 COPYRIGHT AND LICENSE
 
-Copyright 2001, 2008, 2009 Russ Allbery <[email protected]>.
+Copyright 2001, 2008, 2009 Russ Allbery <[email protected]>.
 
 This program is free software; you may redistribute it and/or modify it
 under the same terms as Perl itself.
diff --git a/cpan/podlators/lib/Pod/Text.pm b/cpan/podlators/lib/Pod/Text.pm
index 87f9e81..f8033cc 100644
--- a/cpan/podlators/lib/Pod/Text.pm
+++ b/cpan/podlators/lib/Pod/Text.pm
@@ -1,4 +1,4 @@
-# Pod::Text -- Convert POD data to formatted ASCII text.
+# Pod::Text -- Convert POD data to formatted text.
 #
 # This module converts POD to formatted text.  It replaces the old Pod::Text
 # module that came with versions of Perl prior to 5.6.0 and attempts to match
@@ -11,8 +11,8 @@
 # me any patches at the address above in addition to sending them to the
 # standard Perl mailing lists.
 #
-# Copyright 1999, 2000, 2001, 2002, 2004, 2006, 2008, 2009, 2012, 2013
-#     Russ Allbery <[email protected]>
+# Copyright 1999, 2000, 2001, 2002, 2004, 2006, 2008, 2009, 2012, 2013, 2014,
+#     2015 Russ Allbery <[email protected]>
 #
 # This program is free software; you may redistribute it and/or modify it
 # under the same terms as Perl itself.
@@ -23,9 +23,10 @@
 
 package Pod::Text;
 
-require 5.004;
-
+use 5.006;
 use strict;
+use warnings;
+
 use vars qw(@ISA @EXPORT %ESCAPES $VERSION);
 
 use Carp qw(carp croak);
@@ -38,7 +39,7 @@ use Pod::Simple ();
 # We have to export pod2text for backward compatibility.
 @EXPORT = qw(pod2text);
 
-$VERSION = '3.18';
+$VERSION = '4.03';
 
 ##############################################################################
 # Initialization
@@ -126,10 +127,10 @@ sub new {
         $$self{LQUOTE} = $$self{RQUOTE} = '';
     } elsif (length ($$self{opt_quotes}) == 1) {
         $$self{LQUOTE} = $$self{RQUOTE} = $$self{opt_quotes};
-    } elsif ($$self{opt_quotes} =~ /^(.)(.)$/
-             || $$self{opt_quotes} =~ /^(..)(..)$/) {
-        $$self{LQUOTE} = $1;
-        $$self{RQUOTE} = $2;
+    } elsif (length ($$self{opt_quotes}) % 2 == 0) {
+        my $length = length ($$self{opt_quotes}) / 2;
+        $$self{LQUOTE} = substr ($$self{opt_quotes}, 0, $length);
+        $$self{RQUOTE} = substr ($$self{opt_quotes}, $length);
     } else {
         croak qq(Invalid quote specification "$$self{opt_quotes}");
     }
@@ -273,12 +274,12 @@ sub output {
     my ($self, @text) = @_;
     my $text = join ('', @text);
     $text =~ tr/\240\255/ /d;
-    unless ($$self{opt_utf8} || $$self{CHECKED_ENCODING}) {
+    unless ($$self{opt_utf8}) {
         my $encoding = $$self{encoding} || '';
-        if ($encoding) {
+        if ($encoding && $encoding ne $$self{ENCODING}) {
+            $$self{ENCODING} = $encoding;
             eval { binmode ($$self{output_fh}, ":encoding($encoding)") };
         }
-        $$self{CHECKED_ENCODING} = 1;
     }
     if ($$self{ENCODE}) {
         print { $$self{output_fh} } encode ('UTF-8', $text);
@@ -312,7 +313,7 @@ sub start_document {
     $$self{PENDING} = [[]];     # Pending output.
 
     # We have to redo encoding handling for each document.
-    delete $$self{CHECKED_ENCODING};
+    $$self{ENCODING} = '';
 
     # When UTF-8 output is set, check whether our output file handle already
     # has a PerlIO encoding layer set.  If it does not, we'll need to encode
@@ -326,6 +327,7 @@ sub start_document {
             my $flag = (PerlIO::get_layers ($$self{output_fh}, @options))[-1];
             if ($flag & PerlIO::F_UTF8 ()) {
                 $$self{ENCODE} = 0;
+                $$self{ENCODING} = 'UTF-8';
             }
         };
     }
@@ -759,7 +761,7 @@ parsers
 
 =head1 NAME
 
-Pod::Text - Convert POD data to formatted ASCII text
+Pod::Text - Convert POD data to formatted text
 
 =head1 SYNOPSIS
**** PATCH TRUNCATED AT 2000 LINES -- 4623 NOT SHOWN ****

--
Perl5 Master Repository

Reply via email to