Bug#378327: Pod::Html and << >> delimiters

Niko Tyni ntyni at debian.org
Sat Apr 4 16:02:44 UTC 2009


Hi David,

I see you've dual-lifed Pod-Html to CPAN. The RT queue at
http://rt.cpan.org/NoAuth/Bugs.html?Dist=Pod-Html doesn't work however,
so I'm contacting you directly.  Please let me know if you'd prefer a
ticket at rt.perl.org or something like that.

As reported by Jakub Wilk in <http://bugs.debian.org/378327> (Cc'd as
378327 at bugs.debian.org), pod2html doesn't handle multiple angled bracket
delimiters (C<< foo >>) quite correctly.

There's some misunderstanding about the problem in the bug trace, so
just for the record: the perlpod documentation currently states

       A more readable, and perhaps more "plain" way is to use an
       alternate set of delimiters that doesn’t require a single ">"
       to be escaped.  With the Pod formatters that are standard starting
       with perl5.5.660, doubled angle brackets ("<<" and ">>") may be
       used if and only if there is whitespace right after the opening
       delimiter and whitespace right before the closing delimiter!

so I<< x >> is supposed to turn into <em>x</em> just like I<x>.

I'm attaching a patch against the CPAN 1.09_4 version that includes some
testcases failing with the current code and proposed fixes.  The changes
are pretty straightforward: the _go_ahead() function already has the
needed logic for matching the right number of closing brackets.

I had to modify t/htmlvie?.html and t/torture.html because the expected
data in them was IMO wrong.

The t/03_output change is because the diagnostics for broken
markup changed a bit. YMMV here of course.

The greedy vs. non-greedy whitespace match change is just so that empty
delimited content works, particularly the Z<<  >> test. It's IMO the only
slightly suspicious part in this but at least the other tests don't break :)

The _depod1() function looks like it could have the same problem, but I
wasn't able to come up with a failing testcase, so I haven't touched that.

Please let me know what you think.

 Html.pm              |   23 +++++++++++--------
 MANIFEST             |    2 +
 t/01_core.t          |    4 ++-
 t/03_output.t        |    4 +--
 t/double-angled.html |   59 +++++++++++++++++++++++++++++++++++++++++++++++++++
 t/double-angled.pod  |   34 +++++++++++++++++++++++++++++
 t/htmlviec.html      |    4 +--
 t/htmlviei.html      |    4 +--
 t/htmlview.html      |    4 +--
 t/torture.html       |    2 -

Thanks for taking up Pod-Html maintenance,
-- 
Niko Tyni   ntyni at debian.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 378327.patch
Type: text/x-diff
Size: 9167 bytes
Desc: not available
Url : http://lists.alioth.debian.org/pipermail/perl-maintainers/attachments/20090404/b863fec3/attachment.patch 


More information about the Perl-maintainers mailing list