import Pod-Simple 3.14 for C<< >> fix
Ricardo Signes [Wed, 28 Apr 2010 03:15:04 +0000 (23:15 -0400)]
33 files changed:
cpan/Pod-Simple/ChangeLog
cpan/Pod-Simple/README
cpan/Pod-Simple/lib/Pod/Simple.pm
cpan/Pod-Simple/lib/Pod/Simple/BlackBox.pm
cpan/Pod-Simple/lib/Pod/Simple/Checker.pm
cpan/Pod-Simple/lib/Pod/Simple/Debug.pm
cpan/Pod-Simple/lib/Pod/Simple/DumpAsText.pm
cpan/Pod-Simple/lib/Pod/Simple/DumpAsXML.pm
cpan/Pod-Simple/lib/Pod/Simple/HTML.pm
cpan/Pod-Simple/lib/Pod/Simple/HTMLBatch.pm
cpan/Pod-Simple/lib/Pod/Simple/LinkSection.pm
cpan/Pod-Simple/lib/Pod/Simple/Methody.pm
cpan/Pod-Simple/lib/Pod/Simple/Progress.pm
cpan/Pod-Simple/lib/Pod/Simple/PullParser.pm
cpan/Pod-Simple/lib/Pod/Simple/PullParserEndToken.pm
cpan/Pod-Simple/lib/Pod/Simple/PullParserStartToken.pm
cpan/Pod-Simple/lib/Pod/Simple/PullParserTextToken.pm
cpan/Pod-Simple/lib/Pod/Simple/PullParserToken.pm
cpan/Pod-Simple/lib/Pod/Simple/RTF.pm
cpan/Pod-Simple/lib/Pod/Simple/Search.pm
cpan/Pod-Simple/lib/Pod/Simple/SimpleTree.pm
cpan/Pod-Simple/lib/Pod/Simple/Text.pm
cpan/Pod-Simple/lib/Pod/Simple/TextContent.pm
cpan/Pod-Simple/lib/Pod/Simple/TiedOutFH.pm
cpan/Pod-Simple/lib/Pod/Simple/Transcode.pm
cpan/Pod-Simple/lib/Pod/Simple/TranscodeDumb.pm
cpan/Pod-Simple/lib/Pod/Simple/TranscodeSmart.pm
cpan/Pod-Simple/lib/Pod/Simple/XHTML.pm
cpan/Pod-Simple/lib/Pod/Simple/XMLOutStream.pm
cpan/Pod-Simple/t/fcodes.t
cpan/Pod-Simple/t/fcodes_l.t
cpan/Pod-Simple/t/fcodes_s.t
cpan/Pod-Simple/t/stree.t

index a93ec9e..fa17d2c 100644 (file)
@@ -1,6 +1,17 @@
 # ChangeLog for Pod::Simple dist
 #---------------------------------------------------------------------------
 
+2009-04-27
+       * Release 3.14
+
+       Removed explicit loading of UNIVERSAL. RJBS.
+
+       Reversed the change applied in release 3.09 to fix RT #12239. POD
+       tag found inside a complex POD tag (e.g., "C<<< I<foo> >>>") is
+       again parsed as a tag embedded in a tag instead of text and
+       entities. The previous interpretation of `perldoc perlpod` was
+       mistaken. (RT #55602 from Christopher J. Madsen).
+
 2009-12-17   David E. Wheeler <david@justatheory.org>
        * Release 3.13
 
index 5098095..9ab762b 100644 (file)
@@ -1,4 +1,4 @@
-=head1 Pod::Simple version 3.13
+=head1 Pod::Simple version 3.14
 
 Pod::Simple is a Perl library for parsing text in the Pod ("plain old
 documentation") markup language that is typically used for writing
index 97b5911..51f9a69 100644 (file)
@@ -18,7 +18,7 @@ use vars qw(
 );
 
 @ISA = ('Pod::Simple::BlackBox');
-$VERSION = '3.13';
+$VERSION = '3.14';
 
 @Known_formatting_codes = qw(I B C L E F S X Z); 
 %Known_formatting_codes = map(($_=>1), @Known_formatting_codes);
index c227d4c..9917898 100644 (file)
@@ -23,7 +23,7 @@ use integer; # vroom!
 use strict;
 use Carp ();
 use vars qw($VERSION );
-$VERSION = '3.13';
+$VERSION = '3.14';
 #use constant DEBUG => 7;
 BEGIN {
   require Pod::Simple;
@@ -1701,30 +1701,15 @@ sub _treelet_from_formatting_codes {
     if(defined $1) {
       if(defined $2) {
         DEBUG > 3 and print "Found complex start-text code \"$1\"\n";
-        # signal that we're looking for simple unless we're in complex.
-        if ($stack[-1]) {
-            # We're in complex already. It's just stuff.
-            DEBUG > 4 and print " It's just stuff.\n";
-            push @{ $lineage[-1] }, $1;
-        } else {
-            # length of the necessary complex end-code string
-            push @stack, length($2) + 1;
-            push @lineage, [ substr($1,0,1), {}, ];  # new node object
-            push @{ $lineage[-2] }, $lineage[-1];
-        }
+        push @stack, length($2) + 1; 
+          # length of the necessary complex end-code string
       } else {
         DEBUG > 3 and print "Found simple start-text code \"$1\"\n";
-        if ($stack[-1]) {
-            # We're in complex already. It's just stuff.
-            DEBUG > 4 and print " It's just stuff.\n";
-            push @{ $lineage[-1] }, $1;
-        } else {
-            # signal that we're looking for simple.
-            push @stack, 0;
-            push @lineage, [ substr($1,0,1), {}, ];  # new node object
-            push @{ $lineage[-2] }, $lineage[-1];
-        }
+        push @stack, 0;  # signal that we're looking for simple
       }
+      push @lineage, [ substr($1,0,1), {}, ];  # new node object
+      push @{ $lineage[-2] }, $lineage[-1];
+      
     } elsif(defined $4) {
       DEBUG > 3 and print "Found apparent complex end-text code \"$3$4\"\n";
       # This is where it gets messy...
@@ -1828,7 +1813,6 @@ sub stringify_lol {  # function: stringify_lol($lol)
 
 sub _stringify_lol {  # the real recursor
   my($lol, $to) = @_;
-  use UNIVERSAL ();
   for(my $i = 2; $i < @$lol; ++$i) {
     if( ref($lol->[$i] || '') and UNIVERSAL::isa($lol->[$i], 'ARRAY') ) {
       _stringify_lol( $lol->[$i], $to);  # recurse!
index 136e851..26a6023 100644 (file)
@@ -9,7 +9,7 @@ use Carp ();
 use Pod::Simple::Methody ();
 use Pod::Simple ();
 use vars qw( @ISA $VERSION );
-$VERSION = '3.13';
+$VERSION = '3.14';
 @ISA = ('Pod::Simple::Methody');
 BEGIN { *DEBUG = defined(&Pod::Simple::DEBUG)
           ? \&Pod::Simple::DEBUG
index c2332fa..1349be3 100644 (file)
@@ -3,7 +3,7 @@ require 5;
 package Pod::Simple::Debug;
 use strict;
 use vars qw($VERSION );
-$VERSION = '3.13';
+$VERSION = '3.14';
 
 sub import {
   my($value,$variable);
index 0f75646..9155434 100644 (file)
@@ -1,7 +1,7 @@
 
 require 5;
 package Pod::Simple::DumpAsText;
-$VERSION = '3.13';
+$VERSION = '3.14';
 use Pod::Simple ();
 BEGIN {@ISA = ('Pod::Simple')}
 
index 9e4b77f..d83f8d3 100644 (file)
@@ -1,7 +1,7 @@
 
 require 5;
 package Pod::Simple::DumpAsXML;
-$VERSION = '3.13';
+$VERSION = '3.14';
 use Pod::Simple ();
 BEGIN {@ISA = ('Pod::Simple')}
 
index 663a5e4..b1a75cb 100644 (file)
@@ -10,9 +10,8 @@ use vars qw(
   $Doctype_decl  $Content_decl
 );
 @ISA = ('Pod::Simple::PullParser');
-$VERSION = '3.13';
+$VERSION = '3.14';
 
-use UNIVERSAL ();
 BEGIN {
   if(defined &DEBUG) { } # no-op
   elsif( defined &Pod::Simple::DEBUG ) { *DEBUG = \&Pod::Simple::DEBUG }
index 736ff53..227c23b 100644 (file)
@@ -5,7 +5,7 @@ use strict;
 use vars qw( $VERSION $HTML_RENDER_CLASS $HTML_EXTENSION
  $CSS $JAVASCRIPT $SLEEPY $SEARCH_CLASS @ISA
 );
-$VERSION = '3.13';
+$VERSION = '3.14';
 @ISA = ();  # Yup, we're NOT a subclass of Pod::Simple::HTML!
 
 # TODO: nocontents stylesheets. Strike some of the color variations?
@@ -13,8 +13,6 @@ $VERSION = '3.13';
 use Pod::Simple::HTML ();
 BEGIN {*esc = \&Pod::Simple::HTML::esc }
 use File::Spec ();
-use UNIVERSAL ();
-  # "Isn't the Universe an amazing place?  I wouldn't live anywhere else!"
 
 use Pod::Simple::Search;
 $SEARCH_CLASS ||= 'Pod::Simple::Search';
index c219ebd..e426b2c 100644 (file)
@@ -3,12 +3,12 @@ require 5;
 package Pod::Simple::LinkSection;
   # Based somewhat dimly on Array::Autojoin
 use vars qw($VERSION );
-$VERSION = '3.13';
+$VERSION = '3.14';
 
 use strict;
 use Pod::Simple::BlackBox;
 use vars qw($VERSION );
-$VERSION = '3.13';
+$VERSION = '3.14';
 
 use overload( # So it'll stringify nice
   '""'   => \&Pod::Simple::BlackBox::stringify_lol,
index 15c63ef..bed3e86 100644 (file)
@@ -4,7 +4,7 @@ package Pod::Simple::Methody;
 use strict;
 use Pod::Simple ();
 use vars qw(@ISA $VERSION);
-$VERSION = '3.13';
+$VERSION = '3.14';
 @ISA = ('Pod::Simple');
 
 # Yes, we could use named variables, but I want this to be impose
index 06b643f..7de46d5 100644 (file)
@@ -1,7 +1,7 @@
 
 require 5;
 package Pod::Simple::Progress;
-$VERSION = '3.13';
+$VERSION = '3.14';
 use strict;
 
 # Objects of this class are used for noting progress of an
index eaef116..c27d0cb 100644 (file)
@@ -1,7 +1,7 @@
 
 require 5;
 package Pod::Simple::PullParser;
-$VERSION = '3.13';
+$VERSION = '3.14';
 use Pod::Simple ();
 BEGIN {@ISA = ('Pod::Simple')}
 
@@ -205,7 +205,6 @@ sub get_token {
   return shift @{$self->{'token_buffer'}}; # that's an undef if empty
 }
 
-use UNIVERSAL ();
 sub unget_token {
   my $self = shift;
   DEBUG and print "Ungetting ", scalar(@_), " tokens: ",
index 2c32bd8..67a625d 100644 (file)
@@ -5,7 +5,7 @@ use Pod::Simple::PullParserToken ();
 use strict;
 use vars qw(@ISA $VERSION);
 @ISA = ('Pod::Simple::PullParserToken');
-$VERSION = '3.13';
+$VERSION = '3.14';
 
 sub new {  # Class->new(tagname);
   my $class = shift;
index 3980264..37d68ef 100644 (file)
@@ -5,7 +5,7 @@ use Pod::Simple::PullParserToken ();
 use strict;
 use vars qw(@ISA $VERSION);
 @ISA = ('Pod::Simple::PullParserToken');
-$VERSION = '3.13';
+$VERSION = '3.14';
 
 sub new {  # Class->new(tagname, optional_attrhash);
   my $class = shift;
index f33fc6e..ed6340d 100644 (file)
@@ -5,7 +5,7 @@ use Pod::Simple::PullParserToken ();
 use strict;
 use vars qw(@ISA $VERSION);
 @ISA = ('Pod::Simple::PullParserToken');
-$VERSION = '3.13';
+$VERSION = '3.14';
 
 sub new {  # Class->new(text);
   my $class = shift;
index 3a156b4..2234ccf 100644 (file)
@@ -3,7 +3,7 @@ require 5;
 package Pod::Simple::PullParserToken;
  # Base class for tokens gotten from Pod::Simple::PullParser's $parser->get_token
 @ISA = ();
-$VERSION = '3.13';
+$VERSION = '3.14';
 use strict;
 
 sub new {  # Class->new('type', stuff...);  ## Overridden in derived classes anyway
index b89eac0..f476d37 100644 (file)
@@ -8,7 +8,7 @@ package Pod::Simple::RTF;
 
 use strict;
 use vars qw($VERSION @ISA %Escape $WRAP %Tagmap);
-$VERSION = '3.13';
+$VERSION = '3.14';
 use Pod::Simple::PullParser ();
 BEGIN {@ISA = ('Pod::Simple::PullParser')}
 
index 37cd2e8..762701a 100644 (file)
@@ -4,7 +4,7 @@ package Pod::Simple::Search;
 use strict;
 
 use vars qw($VERSION $MAX_VERSION_WITHIN $SLEEPY);
-$VERSION = '3.13';   ## Current version of this package
+$VERSION = '3.14';   ## Current version of this package
 
 BEGIN { *DEBUG = sub () {0} unless defined &DEBUG; }   # set DEBUG level
 use Carp ();
index 7f39680..32db4b6 100644 (file)
@@ -6,7 +6,7 @@ use strict;
 use Carp ();
 use Pod::Simple ();
 use vars qw( $ATTR_PAD @ISA $VERSION $SORT_ATTRS);
-$VERSION = '3.13';
+$VERSION = '3.14';
 BEGIN {
   @ISA = ('Pod::Simple');
   *DEBUG = \&Pod::Simple::DEBUG unless defined &DEBUG;
index fe89806..81fde4e 100644 (file)
@@ -6,7 +6,7 @@ use Carp ();
 use Pod::Simple::Methody ();
 use Pod::Simple ();
 use vars qw( @ISA $VERSION $FREAKYMODE);
-$VERSION = '3.13';
+$VERSION = '3.14';
 @ISA = ('Pod::Simple::Methody');
 BEGIN { *DEBUG = defined(&Pod::Simple::DEBUG)
           ? \&Pod::Simple::DEBUG
index badce4d..914c7fd 100644 (file)
@@ -6,7 +6,7 @@ use strict;
 use Carp ();
 use Pod::Simple ();
 use vars qw( @ISA $VERSION );
-$VERSION = '3.13';
+$VERSION = '3.14';
 @ISA = ('Pod::Simple');
 
 sub new {
index 2899c0d..c5d4483 100644 (file)
@@ -4,7 +4,7 @@ package Pod::Simple::TiedOutFH;
 use Symbol ('gensym');
 use Carp ();
 use vars qw($VERSION );
-$VERSION = '3.13';
+$VERSION = '3.14';
 
 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
index 80f9f1c..258d0d7 100644 (file)
@@ -2,7 +2,7 @@
 require 5;
 package Pod::Simple::Transcode;
 use vars qw($VERSION );
-$VERSION = '3.13';
+$VERSION = '3.14';
 
 BEGIN {
   if(defined &DEBUG) {;} # Okay
index afdc0c4..d1c320d 100644 (file)
@@ -5,7 +5,7 @@ require 5;
 package Pod::Simple::TranscodeDumb;
 use strict;
 use vars qw($VERSION %Supported);
-$VERSION = '3.13';
+$VERSION = '3.14';
 # This module basically pretends it knows how to transcode, except
 #  only for null-transcodings!  We use this when Encode isn't
 #  available.
index d6dc62c..bab59fc 100644 (file)
@@ -9,7 +9,7 @@ use strict;
 use Pod::Simple;
 require Encode;
 use vars qw($VERSION );
-$VERSION = '3.13';
+$VERSION = '3.14';
 
 sub is_dumb  {0}
 sub is_smart {1}
index fd4c9d6..6a8fb7e 100644 (file)
@@ -28,7 +28,7 @@ L<Pod::Simple::HTML>, but it largely preserves the same interface.
 package Pod::Simple::XHTML;
 use strict;
 use vars qw( $VERSION @ISA $HAS_HTML_ENTITIES );
-$VERSION = '3.13';
+$VERSION = '3.14';
 use Carp ();
 use Pod::Simple::Methody ();
 @ISA = ('Pod::Simple::Methody');
index afe30ce..2e6b428 100644 (file)
@@ -5,7 +5,7 @@ use strict;
 use Carp ();
 use Pod::Simple ();
 use vars qw( $ATTR_PAD @ISA $VERSION $SORT_ATTRS);
-$VERSION = '3.13';
+$VERSION = '3.14';
 BEGIN {
   @ISA = ('Pod::Simple');
   *DEBUG = \&Pod::Simple::DEBUG unless defined &DEBUG;
index 7dbf14b..a746b26 100644 (file)
@@ -7,7 +7,7 @@ BEGIN {
 
 use strict;
 use Test;
-BEGIN { plan tests => 21 };
+BEGIN { plan tests => 23 };
 
 #use Pod::Simple::Debug (5);
 
@@ -81,22 +81,28 @@ ok( Pod::Simple::XMLOutStream->_out("=pod\n\nF<< a >>C<<< b >>>I<<<< c >>>>B<< d
 
 print "# Without any nesting, but with Z's, and odder whitespace...\n";
 ok( Pod::Simple::XMLOutStream->_out("=pod\n\nF<< aZ<> >>C<<< Z<>b >>>I<<<< c  >>>>B<< d \t >>X<<\ne >>\n"),
-  '<Document><Para><F>aZ&#60;&#62;</F><C>Z&#60;&#62;b</C><I>c</I><B>d</B><X>e</X></Para></Document>'
+  '<Document><Para><F>a</F><C>b</C><I>c</I><B>d</B><X>e</X></Para></Document>'
 );
 
 print "# With nesting and Z's, and odder whitespace...\n";
 ok( Pod::Simple::XMLOutStream->_out("=pod\n\nF<< aZ<> >>C<<< Z<>bZ<>B<< d \t >>X<<\ne >> >>>I<<<< c  >>>>\n"),
- "<Document><Para><F>aZ&#60;&#62;</F><C>Z&#60;&#62;bZ&#60;&#62;B&#60;&#60; d &#62;&#62;X&#60;&#60; e &#62;&#62;</C><I>c</I></Para></Document>"
+ "<Document><Para><F>a</F><C>b<B>d</B><X>e</X></C><I>c</I></Para></Document>"
 );
 
-print "# Regression https://rt.cpan.org/Ticket/Display.html?id=12239\n";
+print "# Regression https://rt.cpan.org/Ticket/Display.html?id=55602 (vs 12239)\n";
 ok( Pod::Simple::XMLOutStream->_out("=pod\n\nC<<< foo->bar >>>\n"),
  '<Document><Para><C>foo-&#62;bar</C></Para></Document>'
 );
 ok( Pod::Simple::XMLOutStream->_out("=pod\n\nC<<< C<foo> >>>\n"),
- '<Document><Para><C>C&#60;foo&#62;</C></Para></Document>'
+ '<Document><Para><C><C>foo</C></C></Para></Document>'
 );
 ok( Pod::Simple::XMLOutStream->_out("=pod\n\nC<<< C<<foo>> >>>\n"),
+ '<Document><Para><C><C>&#60;foo</C>&#62;</C></Para></Document>'
+);
+ok( Pod::Simple::XMLOutStream->_out("=pod\n\nC<<< CZ<><<foo>> >>>\n"),
+ '<Document><Para><C>C&#60;&#60;foo&#62;&#62;</C></Para></Document>'
+);
+ok( Pod::Simple::XMLOutStream->_out("=pod\n\nC<<< CE<lt><foo>> >>>\n"),
  '<Document><Para><C>C&#60;&#60;foo&#62;&#62;</C></Para></Document>'
 );
 
index 3a32fbc..17be5db 100644 (file)
@@ -337,32 +337,32 @@ print "#\n# Now some very complex L<text|stuff> tests with variant syntax...\n";
 
 
 ok( $x->_out(qq{=pod\n\nL<< Perl B<<< Error E<77>essages >>>|perldiag >>\n}),
- '<Document><Para><L content-implicit="yes" section="Perl B&#60;&#60;&#60; Error E&#60;77&#62;essages" type="pod">&#34;Perl B&#60;&#60;&#60; Error E&#60;77&#62;essages&#34;</L>&#62;|perldiag &#62;&#62;</Para></Document>',
+ '<Document><Para><L to="perldiag" type="pod">Perl <B>Error Messages</B></L></Para></Document>'
 );
 ok( $x->_out(qq{=pod\n\nL<< Perl\nB<<< Error\nE<77>essages >>>|perldiag >>\n}),
- '<Document><Para><L content-implicit="yes" section="Perl B&#60;&#60;&#60; Error E&#60;77&#62;essages" type="pod">&#34;Perl B&#60;&#60;&#60; Error E&#60;77&#62;essages&#34;</L>&#62;|perldiag &#62;&#62;</Para></Document>'
+ '<Document><Para><L to="perldiag" type="pod">Perl <B>Error Messages</B></L></Para></Document>'
 );
 ok( $x->_out(qq{=pod\n\nL<< Perl\nB<<< Error\t  E<77>essages >>>|perldiag >>\n}),
- '<Document><Para><L content-implicit="yes" section="Perl B&#60;&#60;&#60; Error E&#60;77&#62;essages" type="pod">&#34;Perl B&#60;&#60;&#60; Error E&#60;77&#62;essages&#34;</L>&#62;|perldiag &#62;&#62;</Para></Document>'
+ '<Document><Para><L to="perldiag" type="pod">Perl <B>Error Messages</B></L></Para></Document>'
 );
 
 
 ok( $x->_out(qq{=pod\n\nL<< SWITCH B<<< E<115>tatements >>>|perlsyn/"Basic I<<<< BLOCKs >>>> and Switch StatementE<115>" >>\n}),
- '<Document><Para><L content-implicit="yes" section="SWITCH B&#60;&#60;&#60; E&#60;115&#62;tatements" type="pod">&#34;SWITCH B&#60;&#60;&#60; E&#60;115&#62;tatements&#34;</L>&#62;|perlsyn/&#34;Basic <I>BLOCKs</I> and Switch Statements&#34; &#62;&#62;</Para></Document>'
+ '<Document><Para><L section="Basic BLOCKs and Switch Statements" to="perlsyn" type="pod">SWITCH <B>statements</B></L></Para></Document>'
 );
 ok( $x->_out(qq{=pod\n\nL<< SWITCH B<<< E<115>tatements >>>|perlsyn/Basic I<<<< BLOCKs >>>> and Switch StatementE<115> >>\n}),
- '<Document><Para><L content-implicit="yes" section="SWITCH B&#60;&#60;&#60; E&#60;115&#62;tatements" type="pod">&#34;SWITCH B&#60;&#60;&#60; E&#60;115&#62;tatements&#34;</L>&#62;|perlsyn/Basic <I>BLOCKs</I> and Switch Statements &#62;&#62;</Para></Document>'
+ '<Document><Para><L section="Basic BLOCKs and Switch Statements" to="perlsyn" type="pod">SWITCH <B>statements</B></L></Para></Document>'
 );
 
 
 ok( $x->_out(qq{=pod\n\nL<<< the F<< various >> attributes|/"Member Data" >>>\n}),
-  '<Document><Para><L section="Member Data" type="pod">the F&#60;&#60; various &#62;&#62; attributes</L></Para></Document>'
+ '<Document><Para><L section="Member Data" type="pod">the <F>various</F> attributes</L></Para></Document>'
 );
 ok( $x->_out(qq{=pod\n\nL<<< the F<< various >> attributes|/Member Data >>>\n}),
- '<Document><Para><L section="Member Data" type="pod">the F&#60;&#60; various &#62;&#62; attributes</L></Para></Document>'
+ '<Document><Para><L section="Member Data" type="pod">the <F>various</F> attributes</L></Para></Document>'
 );
 ok( $x->_out(qq{=pod\n\nL<<< the F<< various >> attributes|"Member Data" >>>\n}),
- '<Document><Para><L section="Member Data" type="pod">the F&#60;&#60; various &#62;&#62; attributes</L></Para></Document>'
+ '<Document><Para><L section="Member Data" type="pod">the <F>various</F> attributes</L></Para></Document>'
 );
 
 ###########################################################################
@@ -371,51 +371,51 @@ print "#\n# Now some very complex L<text|stuff> tests with variant syntax and te
 
 
 ok( $x->_out(qq{=pod\n\nI like L<< Perl B<<< Error E<77>essages >>>|perldiag >>.\n}),
- '<Document><Para>I like <L content-implicit="yes" section="Perl B&#60;&#60;&#60; Error E&#60;77&#62;essages" type="pod">&#34;Perl B&#60;&#60;&#60; Error E&#60;77&#62;essages&#34;</L>&#62;|perldiag &#62;&#62;.</Para></Document>'
+ '<Document><Para>I like <L to="perldiag" type="pod">Perl <B>Error Messages</B></L>.</Para></Document>'
 );
 ok( $x->_out(qq{=pod\n\nI like L<< Perl\nB<<< Error\nE<77>essages >>>|perldiag >>.\n}),
- '<Document><Para>I like <L content-implicit="yes" section="Perl B&#60;&#60;&#60; Error E&#60;77&#62;essages" type="pod">&#34;Perl B&#60;&#60;&#60; Error E&#60;77&#62;essages&#34;</L>&#62;|perldiag &#62;&#62;.</Para></Document>'
+ '<Document><Para>I like <L to="perldiag" type="pod">Perl <B>Error Messages</B></L>.</Para></Document>'
 );
 ok( $x->_out(qq{=pod\n\nI like L<< Perl\nB<<< Error\t  E<77>essages >>>|perldiag >>.\n}),
- '<Document><Para>I like <L content-implicit="yes" section="Perl B&#60;&#60;&#60; Error E&#60;77&#62;essages" type="pod">&#34;Perl B&#60;&#60;&#60; Error E&#60;77&#62;essages&#34;</L>&#62;|perldiag &#62;&#62;.</Para></Document>'
+ '<Document><Para>I like <L to="perldiag" type="pod">Perl <B>Error Messages</B></L>.</Para></Document>'
 );
 
 
 ok( $x->_out(qq{=pod\n\nI like L<< SWITCH B<<< E<115>tatements >>>|perlsyn/"Basic I<<<< BLOCKs >>>> and Switch StatementE<115>" >>.\n}),
- '<Document><Para>I like <L content-implicit="yes" section="SWITCH B&#60;&#60;&#60; E&#60;115&#62;tatements" type="pod">&#34;SWITCH B&#60;&#60;&#60; E&#60;115&#62;tatements&#34;</L>&#62;|perlsyn/&#34;Basic <I>BLOCKs</I> and Switch Statements&#34; &#62;&#62;.</Para></Document>'
+ '<Document><Para>I like <L section="Basic BLOCKs and Switch Statements" to="perlsyn" type="pod">SWITCH <B>statements</B></L>.</Para></Document>'
 );
 ok( $x->_out(qq{=pod\n\nI like L<< SWITCH B<<< E<115>tatements >>>|perlsyn/Basic I<<<< BLOCKs >>>> and Switch StatementE<115> >>.\n}),
- '<Document><Para>I like <L content-implicit="yes" section="SWITCH B&#60;&#60;&#60; E&#60;115&#62;tatements" type="pod">&#34;SWITCH B&#60;&#60;&#60; E&#60;115&#62;tatements&#34;</L>&#62;|perlsyn/Basic <I>BLOCKs</I> and Switch Statements &#62;&#62;.</Para></Document>'
+ '<Document><Para>I like <L section="Basic BLOCKs and Switch Statements" to="perlsyn" type="pod">SWITCH <B>statements</B></L>.</Para></Document>'
 );
 
 
 ok( $x->_out(qq{=pod\n\nI like L<<< the F<< various >> attributes|/"Member Data" >>>.\n}),
- '<Document><Para>I like <L section="Member Data" type="pod">the F&#60;&#60; various &#62;&#62; attributes</L>.</Para></Document>'
+ '<Document><Para>I like <L section="Member Data" type="pod">the <F>various</F> attributes</L>.</Para></Document>'
 );
 ok( $x->_out(qq{=pod\n\nI like L<<< the F<< various >> attributes|/Member Data >>>.\n}),
- '<Document><Para>I like <L section="Member Data" type="pod">the F&#60;&#60; various &#62;&#62; attributes</L>.</Para></Document>'
+ '<Document><Para>I like <L section="Member Data" type="pod">the <F>various</F> attributes</L>.</Para></Document>'
 );
 ok( $x->_out(qq{=pod\n\nI like L<<< the F<< various >> attributes|"Member Data" >>>.\n}),
- '<Document><Para>I like <L section="Member Data" type="pod">the F&#60;&#60; various &#62;&#62; attributes</L>.</Para></Document>'
+ '<Document><Para>I like <L section="Member Data" type="pod">the <F>various</F> attributes</L>.</Para></Document>'
 );
 
 ok( $x->_out(qq{=pod\n\nI like L<<< B<text>s|http://text.com >>>.\n}),
-'<Document><Para>I like <L to="http://text.com" type="url">B&#60;text&#62;s</L>.</Para></Document>'
+'<Document><Para>I like <L to="http://text.com" type="url"><B>text</B>s</L>.</Para></Document>'
 );
 ok( $x->_out(qq{=pod\n\nI like L<<< text|https://text.com/1/2 >>>.\n}),
 '<Document><Para>I like <L to="https://text.com/1/2" type="url">text</L>.</Para></Document>'
 );
 ok( $x->_out(qq{=pod\n\nI like L<<< I<text>|http://text.com >>>.\n}),
-'<Document><Para>I like <L to="http://text.com" type="url">I&#60;text&#62;</L>.</Para></Document>'
+'<Document><Para>I like <L to="http://text.com" type="url"><I>text</I></L>.</Para></Document>'
 );
 ok( $x->_out(qq{=pod\n\nI like L<<< C<text>|http://text.com >>>.\n}),
-'<Document><Para>I like <L to="http://text.com" type="url">C&#60;text&#62;</L>.</Para></Document>'
+'<Document><Para>I like <L to="http://text.com" type="url"><C>text</C></L>.</Para></Document>'
 );
 ok( $x->_out(qq{=pod\n\nI like L<<< I<tI<eI<xI<t>>>>|mailto:earlE<64>text.com >>>.\n}),
-'<Document><Para>I like <L to="mailto:earlE&#60;64&#62;text.com" type="url">I&#60;tI&#60;eI&#60;xI&#60;t&#62;&#62;&#62;&#62;</L>.</Para></Document>'
+'<Document><Para>I like <L to="mailto:earl@text.com" type="url"><I>t<I>e<I>x<I>t</I></I></I></I></L>.</Para></Document>'
 );
 ok( $x->_out(qq{=pod\n\nI like L<<< textZ<>|http://text.com >>>.\n}),
-'<Document><Para>I like <L to="http://text.com" type="url">textZ&#60;&#62;</L>.</Para></Document>'
+'<Document><Para>I like <L to="http://text.com" type="url">text</L>.</Para></Document>'
 );
 
 
index cada7e4..0983388 100644 (file)
@@ -83,7 +83,7 @@ $x->preserve_whitespace(1);
 # RT#25679
 ok(
   $x->_out(<<END
-=head1 The Tk::mega manpage showed me how C<< S< > foo >> is being rendered
+=head1 The Tk::mega manpage showed me how C<< SE<lt> > foo >> is being rendered
 
 Both pod2text and pod2man S<    > lose the rest of the line
 
index efdf809..e0f772d 100644 (file)
@@ -125,7 +125,6 @@ sub deq { # deep-equals
   return '' if ref($_[0]) ne ref($_[1]); # unequal referentiality
   return $_[0] eq $_[1] unless ref $_[0];
   # So it's a ref:
-  use UNIVERSAL;
   if(UNIVERSAL::isa($_[0], 'ARRAY')) {
     return '' unless @{$_[0]} == @{$_[1]};
     for(my $i = 0; $i < @{$_[0]}; $i++) {