Log message:
Update to 5.01
Upstream changes:
5.01 - 2022-12-25
- Guesswork (formatting rules based on heuristics intended for Perl
documentation) can now be disabled or selectively enabled in Pod::Text
with the guesswork option (--guesswork to pod2text). This is similar
to the support added to Pod::Man in 5.00, except there is only one type
of guesswork currently (quoting).
- Pod::Text suppresses quote marks around some additional cases of Perl
code in C<> where the intent had been to suppress the quotes but there
were various bugs in the matching regular expressions. This primarily
affects function and method calls.
- Fix an escaping issue in Pod::Man with complex lquote, rquote, and
quotes options containing double quotes that caused some double quotes
to be incorrectly duplicated.
- Pod::Man now avoids quoting macro arguments when this is unnecessary.
- Depend on Pod::Simple 3.26 or later, since Pod::Text now calls its
encoding() method.
5.00 - 2022-11-25
- Drop support for Perl 5.8. The minimum required version is Perl 5.10.
- The default output encoding of Pod::Man on non-EBCDIC systems is now
UTF-8. The utf8 option (-u or --utf8 to pod2man) is now ignored, since
it is the default. See the ENCODING section of its documentation for
testing results and further discussion. (#68741)
- Pod::Man now supports an encoding option (-e or --encoding to pod2man),
to change the output encoding to any encoding recognized by Encode, or
the special values groff or roff. Setting it to roff requests the old
behavior of using character substitutions and *roff escapes to generate
ASCII-only output (the default prior to this version).
- Pod::Man now supports the groff output encoding, which replaces all
non-ASCII characters with \[uNNNN] escapes. This escape was not
supported by the originally *roff implementation, but it is supported
by groff and mandoc and allows proper representation of Unicode
characters. This output format has no known advantages in portability
over UTF-8 on non-EBCDIC systems. It is the default output format on
EBCDIC systems, and when the Encode module is not available. (#73804)
- Pod::Man no longer does guesswork transformations that only affected
troff output. Formatting manual pages with troff is exceptionally
rare, and this magic caused constant maintenance issues. This means
"--" is no longer changed to an em-dash, strings of capital letters
aren't made a bit smaller, no attempt is made to change double quotes
to paired quotes, and no special formatting is done for C++. (#132007)
- Guesswork (formatting rules based on heuristics intended for Perl
documentation) can now be disabled or selectively enabled in Pod::Man
with the guesswork option (--guesswork to pod2man). (#143668)
- Pod::Text now supports an encoding option (-e or --encoding to
pod2text) to force the output encoding, similar to Pod::Man. The utf8
option (-u or --utf8 to pod2text) is still supported and is equivalent
to setting encoding to UTF-8.
- Pod::Text now defaults to UTF-8 encoding if it sees a non-ASCII
character on a non-EBCDIC system and the input encoding is not
specified. This should fix rendering of E<> escapes of non-ASCII
characters in POD files that don't specify an input encoding, at the
cost of assuming UTF-8 output. Pod::Text also now commits to an
encoding the first time it outputs a non-ASCII character and sticks
with that encoding for the rest of the file, even if the detected or
declared input encoding changes. (#102631)
- Stop using a PerlIO encoding layer for Pod::Text output and instead
use Encode. If a PerlIO encoding layer is already set, trust it and do
no encoding. This fixes encoding problems with output to a string.
- Add a coding tag comment to the start of Pod::Man output if the output
encoding is not ASCII. groff's preconv program and FreeBSD's mandoc
will use this line to determine the input encoding.
- Pod::Man now supports a language option (--language to pod2man) that
adds groff language configuration commands to the start of the output.
This is required for proper line breaking of Japanese and Chinese text
when the manual page is not installed in a language-specific directory
so that the man program knows to add that configuration automatically.
Unfortunately, the commands added when this option is used are
groff-specific. Thanks to zynldyx for the bug report and suggested
fix.
- Pod::Man now converts Unicode zero-width spaces (U+200B) to the *roff
escape \:, which indicates a line break point without a space or
hyphen. (Unfortunately, groff does not honor U+200B itself as a line
break point.) This escape is not part of the language defined in CSTR
#54, but is supported by both groff and mandoc, so hopefully use of
this escape won't cause problems. (Debian Bug#941980)
- Pod::Man and Pod::Text now correctly honor S<> wrapping L<> with an
anchor and URL, and make the space between the anchor and URL
nonbreaking. (#143768)
- Clear the current font before changing fonts in all Pod::Man output,
not just headings. groff 1.22.4 does not clear bold or italic when
seeing \f(CW font change, which meant bold and italic were extending
farther than they should without this change. (#143667)
- Honor the quotes, lquote, and rquote configuration parameters to
Pod::Man for C<> text inside the special NAME section. (#143967)
- Pod::Man suppresses quote marks around some additional cases of Perl
code in C<> where the intent had been to suppress the quotes but there
were various bugs in the matching regular expressions. This primarily
affects method calls and negative numbers.
- Avoid non-standard *roff escape in the troff accent mark definition for
an acute accent. \h"..." was used instead of \h'...' as seen in the
other accent mark definitions. This error appears to have existed
since the first version of Pod::Man. Thanks, Paul Evans. (GitHub #14)
- Document that nroff adds two spaces after each sentence when reflowing,
and therefore if you want formatted Pod::Man output to consistently
have one space after each sentence, you will have to avoid ending a
sentence at the end of a line in the middle of a paragraph.
|
Log message:
p5-podlators: update to 4.14.
podlators 4.14 (2020-01-04)
Document that parse_lines and parse_string_document expect raw bytes,
not decoded characters.
Fix the test suite use of parse_string_document to pass in raw bytes
rather than decoded characters, which will hopefully fix test failures
with versions of Pod::Simple older than 3.22 and is a more correct
test of encoding handling.
podlators 4.13 (2019-12-25)
Drop support for Perl 5.6. The minimum supported version is now Perl
5.8. Perl 5.6 had not been tested even by CPAN Testers in some time
and isn't supported by Travis-CI, so true support is dubious.
Dropping that version allows cleaning up some old compatibility code.
Fix a warning when outputing to something without a PerlIO layer, such
as when output_string is used.
[Pod::Text] Fix behavior of S<> with Unicode input to be consistent
with behavior with a default encoding, namely treat all whitespace
inside S<> as non-space characters and do not collapse it with
adjacent whitespace.
[Pod::Text::Termcap] Remove an ancient workaround that set the
TERMPATH environment variable whenever a Pod::Text::Termcap object was
created in order to add /usr/share/lib/termcap, necessary on some
ancient Solaris systems. Setting environment variables is bad
behavior for a module, and the Solaris systems requiring this
workaround are long obsolete.
[Pod::Text::Termcap] Remove the fallback to VT100 escape sequences if
Term::Cap was not able to find sequences for bold, underline, or
normal text, and instead skip that part of the formatting. This will
produce more correct behavior on dumb terminals at the possible cost
of losing formatting on systems with malfunctioning terminal
databases, which seems like an improvement. Thanks, Zenin. (#131124)
Further improve the man/no-encode.t test to not care whether Encode
was already loaded or not. Thanks, Martin Becker.
Improve logic for showing large test failures to avoid spurious
failures on systems without diff.
podlators 4.12 (2019-05-31)
Skip the man/no-encode.t test if Encode is already loaded while
running the test suite, which seems to happen sometimes with CPAN
Testers tests.
|