Update Pod::Simple from version 3.38 to 3.39
authorSteve Hay <steve.m.hay@googlemail.com>
Wed, 3 Jul 2019 12:57:52 +0000 (13:57 +0100)
committerSteve Hay <steve.m.hay@googlemail.com>
Thu, 4 Jul 2019 07:22:45 +0000 (08:22 +0100)
30 files changed:
Porting/Maintainers.pl
cpan/Pod-Simple/lib/Pod/Simple.pm
cpan/Pod-Simple/lib/Pod/Simple.pod
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/JustPod_corpus.t

index d8cb4c8..2d543d0 100755 (executable)
@@ -925,7 +925,7 @@ use File::Glob qw(:case);
     },
 
     'Pod::Simple' => {
-        'DISTRIBUTION' => 'KHW/Pod-Simple-3.38.tar.gz',
+        'DISTRIBUTION' => 'KHW/Pod-Simple-3.39.tar.gz',
         'FILES'        => q[cpan/Pod-Simple],
     },
 
index 8d09c25..4d75702 100644 (file)
@@ -18,7 +18,7 @@ use vars qw(
 );
 
 @ISA = ('Pod::Simple::BlackBox');
-$VERSION = '3.38';
+$VERSION = '3.39';
 
 @Known_formatting_codes = qw(I B C L E F S X Z); 
 %Known_formatting_codes = map(($_=>1), @Known_formatting_codes);
index 67a18df..6ad790f 100644 (file)
@@ -19,7 +19,11 @@ Be sure to read L</ENCODING> if your Pod contains non-ASCII characters.
 Pod formatters can use Pod::Simple to parse Pod documents and render them into
 plain text, HTML, or any number of other formats. Typically, such formatters
 will be subclasses of Pod::Simple, and so they will inherit its methods, like
-C<parse_file>.
+C<parse_file>.  But note that Pod::Simple doesn't understand and
+properly parse Perl itself, so if you have a file which contains a Perl
+program that has a multi-line quoted string which has lines that look
+like pod, Pod::Simple will treat them as pod.  This can be avoided if
+the file makes these into indented here documents instead.
 
 If you're reading this document just because you have a Pod-processing
 subclass that you want to use, this document (plus the documentation for the
@@ -390,8 +394,8 @@ This module is managed in an open GitHub repository,
 L<https://github.com/perl-pod/pod-simple/>. Feel free to fork and contribute, or
 to clone L<git://github.com/perl-pod/pod-simple.git> and send patches!
 
-Patches against Pod::Simple are welcome. Please send bug reports to
-<bug-pod-simple@rt.cpan.org>.
+Please use L<https://github.com/perl-pod/pod-simple/issues/new> to file a bug
+report.
 
 =head1 COPYRIGHT AND DISCLAIMERS
 
@@ -419,6 +423,8 @@ Pod::Simple is maintained by:
 
 =item * David E. Wheeler C<dwheeler@cpan.org>
 
+=item * Karl Williamson C<khw@cpan.org>
+
 =back
 
 Documentation has been contributed by:
index af736f8..6411cfe 100644 (file)
@@ -22,7 +22,7 @@ use integer; # vroom!
 use strict;
 use Carp ();
 use vars qw($VERSION );
-$VERSION = '3.38';
+$VERSION = '3.39';
 #use constant DEBUG => 7;
 
 sub my_qr ($$) {
@@ -100,6 +100,11 @@ if (($] ge 5.007_003)) {
   $utf8_bom = "\xEF\xBB\xBF";   # No EBCDIC BOM detection for early Perls.
 }
 
+# This is used so that the 'content_seen' method doesn't return true on a
+# file that just happens to have a line that matches /^=[a-zA-z]/.  Only if
+# there is a valid =foo line will we return that content was seen.
+my $seen_legal_directive = 0;
+
 #@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
 
 sub parse_line { shift->parse_lines(@_) } # alias
@@ -859,6 +864,10 @@ sub _ponder_paragraph_buffer {
 
   my($para, $para_type);
   while(@$paras) {
+
+    # If a directive, assume it's legal; subtract below if found not to be
+    $seen_legal_directive++ if $paras->[0][0] =~ /^=/;
+
     last if      @$paras == 1
             and (    $paras->[0][0] eq '=over'
                  or  $paras->[0][0] eq '=item'
@@ -1148,6 +1157,7 @@ sub _ponder_paragraph_buffer {
         DEBUG > 1 and print STDERR " Pondering known directive ${$para}[0] as $para_type\n";
       } else {
         # An unknown directive!
+        $seen_legal_directive--;
         DEBUG > 1 and printf STDERR "Unhandled directive %s (Handled: %s)\n",
          $para->[0], join(' ', sort keys %{$self->{'accept_directives'}} )
         ;
@@ -1208,7 +1218,8 @@ sub _ponder_paragraph_buffer {
       DEBUG and print STDERR "\n", pretty($para), "\n";
 
       # traverse the treelet (which might well be just one string scalar)
-      $self->{'content_seen'} ||= 1;
+      $self->{'content_seen'} ||= 1 if   $seen_legal_directive
+                                    && ! $self->{'~tried_gen_errata'};
       $self->_traverse_treelet_bit(@$para);
     }
   }
@@ -1336,7 +1347,7 @@ sub _ponder_begin {
   if(!$dont_ignore or scalar grep $_->[1]{'~ignore'}, @$curr_open) {
     DEBUG > 1 and print STDERR "Ignoring ignorable =begin\n";
   } else {
-    $self->{'content_seen'} ||= 1;
+    $self->{'content_seen'} ||= 1 unless $self->{'~tried_gen_errata'};
     $self->_handle_element_start((my $scratch='for'), $para->[1]);
   }
 
@@ -1404,7 +1415,7 @@ sub _ponder_end {
     $curr_open->[-1][1]{'start_line'} = $para->[1]{'start_line'};
       # what's that for?
 
-    $self->{'content_seen'} ||= 1;
+    $self->{'content_seen'} ||= 1 unless $self->{'~tried_gen_errata'};
     $self->_handle_element_end( my $scratch = 'for', $para->[1]);
   }
   DEBUG > 1 and print STDERR "Popping $curr_open->[-1][0] $curr_open->[-1][1]{'target'} because of =end $content\n";
@@ -1468,7 +1479,7 @@ sub _ponder_pod {
 
   # The surrounding methods set content_seen, so let us remain consistent.
   # I do not know why it was not here before -- should it not be here?
-  # $self->{'content_seen'} ||= 1;
+  # $self->{'content_seen'} ||= 1 unless $self->{'~tried_gen_errata'};
 
   return;
 }
@@ -1526,7 +1537,7 @@ sub _ponder_over {
   }
   DEBUG > 1 and print STDERR "=over found of type $list_type\n";
 
-  $self->{'content_seen'} ||= 1;
+  $self->{'content_seen'} ||= 1 unless $self->{'~tried_gen_errata'};
   $self->_handle_element_start((my $scratch = 'over-' . $list_type), $para->[1]);
 
   return;
@@ -1548,7 +1559,7 @@ sub _ponder_back {
     DEBUG > 1 and print STDERR "=back happily closes matching =over\n";
     # Expected case: we're closing the most recently opened thing
     #my $over = pop @$curr_open;
-    $self->{'content_seen'} ||= 1;
+    $self->{'content_seen'} ||= 1 unless $self->{'~tried_gen_errata'};
     $self->_handle_element_end( my $scratch =
       'over-' . ( (pop @$curr_open)->[1]{'~type'} ), $para->[1]
     );
index 54d10e3..23d1bb9 100644 (file)
@@ -9,7 +9,7 @@ use Carp ();
 use Pod::Simple::Methody ();
 use Pod::Simple ();
 use vars qw( @ISA $VERSION );
-$VERSION = '3.38';
+$VERSION = '3.39';
 @ISA = ('Pod::Simple::Methody');
 BEGIN { *DEBUG = defined(&Pod::Simple::DEBUG)
           ? \&Pod::Simple::DEBUG
index 444651f..04d80ee 100644 (file)
@@ -2,7 +2,7 @@ require 5;
 package Pod::Simple::Debug;
 use strict;
 use vars qw($VERSION );
-$VERSION = '3.38';
+$VERSION = '3.39';
 
 sub import {
   my($value,$variable);
index 3b45466..2357b5a 100644 (file)
@@ -1,7 +1,7 @@
 
 require 5;
 package Pod::Simple::DumpAsText;
-$VERSION = '3.38';
+$VERSION = '3.39';
 use Pod::Simple ();
 BEGIN {@ISA = ('Pod::Simple')}
 
index c7a379f..cf7ff7b 100644 (file)
@@ -1,7 +1,7 @@
 
 require 5;
 package Pod::Simple::DumpAsXML;
-$VERSION = '3.38';
+$VERSION = '3.39';
 use Pod::Simple ();
 BEGIN {@ISA = ('Pod::Simple')}
 
index 95b2eb1..72a89c5 100644 (file)
@@ -9,7 +9,7 @@ use vars qw(
   $Doctype_decl  $Content_decl
 );
 @ISA = ('Pod::Simple::PullParser');
-$VERSION = '3.38';
+$VERSION = '3.39';
 BEGIN {
   if(defined &DEBUG) { } # no-op
   elsif( defined &Pod::Simple::DEBUG ) { *DEBUG = \&Pod::Simple::DEBUG }
index 633d41b..93b6983 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.38';
+$VERSION = '3.39';
 @ISA = ();  # Yup, we're NOT a subclass of Pod::Simple::HTML!
 
 # TODO: nocontents stylesheets. Strike some of the color variations?
index d29aaed..674a92d 100644 (file)
@@ -6,7 +6,7 @@ package Pod::Simple::LinkSection;
 use strict;
 use Pod::Simple::BlackBox;
 use vars qw($VERSION );
-$VERSION = '3.38';
+$VERSION = '3.39';
 
 use overload( # So it'll stringify nice
   '""'   => \&Pod::Simple::BlackBox::stringify_lol,
index 75e3137..b497884 100644 (file)
@@ -4,7 +4,7 @@ package Pod::Simple::Methody;
 use strict;
 use Pod::Simple ();
 use vars qw(@ISA $VERSION);
-$VERSION = '3.38';
+$VERSION = '3.39';
 @ISA = ('Pod::Simple');
 
 # Yes, we could use named variables, but I want this to be impose
index 89280a5..9e5078d 100644 (file)
@@ -1,7 +1,7 @@
 
 require 5;
 package Pod::Simple::Progress;
-$VERSION = '3.38';
+$VERSION = '3.39';
 use strict;
 
 # Objects of this class are used for noting progress of an
index c2279ee..3428d46 100644 (file)
@@ -1,6 +1,6 @@
 require 5;
 package Pod::Simple::PullParser;
-$VERSION = '3.38';
+$VERSION = '3.39';
 use Pod::Simple ();
 BEGIN {@ISA = ('Pod::Simple')}
 
index 7c0d6cf..ca530f5 100644 (file)
@@ -5,7 +5,7 @@ use Pod::Simple::PullParserToken ();
 use strict;
 use vars qw(@ISA $VERSION);
 @ISA = ('Pod::Simple::PullParserToken');
-$VERSION = '3.38';
+$VERSION = '3.39';
 
 sub new {  # Class->new(tagname);
   my $class = shift;
index 0aae62f..8224e20 100644 (file)
@@ -5,7 +5,7 @@ use Pod::Simple::PullParserToken ();
 use strict;
 use vars qw(@ISA $VERSION);
 @ISA = ('Pod::Simple::PullParserToken');
-$VERSION = '3.38';
+$VERSION = '3.39';
 
 sub new {  # Class->new(tagname, optional_attrhash);
   my $class = shift;
index 52d8e64..4319d70 100644 (file)
@@ -5,7 +5,7 @@ use Pod::Simple::PullParserToken ();
 use strict;
 use vars qw(@ISA $VERSION);
 @ISA = ('Pod::Simple::PullParserToken');
-$VERSION = '3.38';
+$VERSION = '3.39';
 
 sub new {  # Class->new(text);
   my $class = shift;
index 2983972..5268c1f 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.38';
+$VERSION = '3.39';
 use strict;
 
 sub new {  # Class->new('type', stuff...);  ## Overridden in derived classes anyway
index 2ebc4a7..f589183 100644 (file)
@@ -8,7 +8,7 @@ package Pod::Simple::RTF;
 
 use strict;
 use vars qw($VERSION @ISA %Escape $WRAP %Tagmap);
-$VERSION = '3.38';
+$VERSION = '3.39';
 use Pod::Simple::PullParser ();
 BEGIN {@ISA = ('Pod::Simple::PullParser')}
 
index 094038c..526b63b 100644 (file)
@@ -3,7 +3,7 @@ package Pod::Simple::Search;
 use strict;
 
 use vars qw($VERSION $MAX_VERSION_WITHIN $SLEEPY);
-$VERSION = '3.38';   ## Current version of this package
+$VERSION = '3.39';   ## Current version of this package
 
 BEGIN { *DEBUG = sub () {0} unless defined &DEBUG; }   # set DEBUG level
 use Carp ();
index eba922d..d2c6eb8 100644 (file)
@@ -5,7 +5,7 @@ use strict;
 use Carp ();
 use Pod::Simple ();
 use vars qw( $ATTR_PAD @ISA $VERSION $SORT_ATTRS);
-$VERSION = '3.38';
+$VERSION = '3.39';
 BEGIN {
   @ISA = ('Pod::Simple');
   *DEBUG = \&Pod::Simple::DEBUG unless defined &DEBUG;
index a555d26..9209b6e 100644 (file)
@@ -6,7 +6,7 @@ use Carp ();
 use Pod::Simple::Methody ();
 use Pod::Simple ();
 use vars qw( @ISA $VERSION $FREAKYMODE);
-$VERSION = '3.38';
+$VERSION = '3.39';
 @ISA = ('Pod::Simple::Methody');
 BEGIN { *DEBUG = defined(&Pod::Simple::DEBUG)
           ? \&Pod::Simple::DEBUG
index 1843e69..74f7367 100644 (file)
@@ -6,7 +6,7 @@ use strict;
 use Carp ();
 use Pod::Simple ();
 use vars qw( @ISA $VERSION );
-$VERSION = '3.38';
+$VERSION = '3.39';
 @ISA = ('Pod::Simple');
 
 sub new {
index 1b4063e..d2cdde7 100644 (file)
@@ -4,7 +4,7 @@ package Pod::Simple::TiedOutFH;
 use Symbol ('gensym');
 use Carp ();
 use vars qw($VERSION );
-$VERSION = '3.38';
+$VERSION = '3.39';
 
 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
index 6829046..7f003c8 100644 (file)
@@ -3,7 +3,7 @@ require 5;
 package Pod::Simple::Transcode;
 use strict;
 use vars qw($VERSION @ISA);
-$VERSION = '3.38';
+$VERSION = '3.39';
 
 BEGIN {
   if(defined &DEBUG) {;} # Okay
index d0b8b44..d8d0914 100644 (file)
@@ -5,7 +5,7 @@ require 5;
 package Pod::Simple::TranscodeDumb;
 use strict;
 use vars qw($VERSION %Supported);
-$VERSION = '3.38';
+$VERSION = '3.39';
 # This module basically pretends it knows how to transcode, except
 #  only for null-transcodings!  We use this when Encode isn't
 #  available.
index f7b8a83..6deb9e7 100644 (file)
@@ -9,7 +9,7 @@ use strict;
 use Pod::Simple;
 require Encode;
 use vars qw($VERSION );
-$VERSION = '3.38';
+$VERSION = '3.39';
 
 sub is_dumb  {0}
 sub is_smart {1}
index bbd3880..e10b373 100644 (file)
@@ -45,7 +45,7 @@ declare the output character set as UTF-8 before parsing, like so:
 package Pod::Simple::XHTML;
 use strict;
 use vars qw( $VERSION @ISA $HAS_HTML_ENTITIES );
-$VERSION = '3.38';
+$VERSION = '3.39';
 use Pod::Simple::Methody ();
 @ISA = ('Pod::Simple::Methody');
 
index 7d40521..17c0e02 100644 (file)
@@ -5,7 +5,7 @@ use strict;
 use Carp ();
 use Pod::Simple ();
 use vars qw( $ATTR_PAD @ISA $VERSION $SORT_ATTRS);
-$VERSION = '3.38';
+$VERSION = '3.39';
 BEGIN {
   @ISA = ('Pod::Simple');
   *DEBUG = \&Pod::Simple::DEBUG unless defined &DEBUG;
index 97833b7..fa2ffbc 100644 (file)
@@ -63,7 +63,7 @@ foreach my $file (@test_files) {
   $parser->complain_stderr(0);
 
   my $input;
-  open( IN , '<' , $file ) or die "$file: $!";
+  open( IN , '<:raw' , $file ) or die "$file: $!";
   $input .= $_ while (<IN>);
   close( IN );