diff options
author | 2014-03-24 14:58:42 +0000 | |
---|---|---|
committer | 2014-03-24 14:58:42 +0000 | |
commit | 91f110e064cd7c194e59e019b83bb7496c1c84d4 (patch) | |
tree | 3e8e577405dba7e94b43cbf21c22f21aaa5ab949 /gnu/usr.bin/perl/cpan/Pod-Simple | |
parent | do not call purge_task every 10 secs, it is only needed once at startup and (diff) | |
download | wireguard-openbsd-91f110e064cd7c194e59e019b83bb7496c1c84d4.tar.xz wireguard-openbsd-91f110e064cd7c194e59e019b83bb7496c1c84d4.zip |
Import perl-5.18.2
OK espie@ sthen@ deraadt@
Diffstat (limited to 'gnu/usr.bin/perl/cpan/Pod-Simple')
76 files changed, 1969 insertions, 946 deletions
diff --git a/gnu/usr.bin/perl/cpan/Pod-Simple/ChangeLog b/gnu/usr.bin/perl/cpan/Pod-Simple/ChangeLog index 2f00dc7301a..73583f63e15 100644 --- a/gnu/usr.bin/perl/cpan/Pod-Simple/ChangeLog +++ b/gnu/usr.bin/perl/cpan/Pod-Simple/ChangeLog @@ -1,6 +1,162 @@ # ChangeLog for Pod::Simple dist #--------------------------------------------------------------------------- +2013-05-04 David E. Wheeler <david@justatheory.org> + * Release 3.28 + + Removed use of 'done_testing' in t/white.t, which was added in + v3.27. Thanks to Paul Howarth for the catch. + + Fixed inproperly calculated number of skipped tests in t/xhtml01.t + when HTML::Entities is not intalled. + +2013-05-03 David E. Wheeler <david@justatheory.org> + * Release 3.27 + + Added new warnings as defined by Pod::Checker, thanks to RJBS: + + "=over" without "=back" + + "L<>" starts or ends with whitespace + + raw "|" or "/" in "L<text|link>" text + + Added ->keep_encoding_directive, which is false by default, to + prevent formatters from emitting a document's '=encoding' + directive in most cases. That they emitted the encoding was a bug + introduced in v3.26 (RT #84093). Now, only the DumpAsText and + DumpAsXML formats set it to true. Patch from Patrice Dumas. + +2013-02-27 David E. Wheeler <david@justatheory.org> + * Release 3.26 + + Fixed another test script to skip all tests when Encode is not + installed. + + Added 'encoding()' and 'detected_encoding()' to return the current + encoding and the encoding actually to decode the input file. The + value from "=encoding" is also now kept in the output tree. Patch + from Patrice Dumas (RT #74390). + +2013-02-16 David E. Wheeler <david@justatheory.org> + * Release 3.25 + + Improved the warning when "=item" types mismatch within one + "=over"/"=back" block. + +2013-02-14 David E. Wheeler <david@justatheory.org> + * Release 3.24 + + Fixed corner case bug for unlikely scenario in which non-UTF-8 + text could be parsed as UTF-8. Grant McLean. + + XHTML IDs can no longer end with punctuation. Thanks to Smylers + for the patch. + + Fixed test failure on Perl 5.6.2. + + Changed the default installation location from "perl" to "site" on + 5.12 and higher, since as of that version of Perl, dual-life + modules no longer need to be installed in "perl" to replace + in-core versions. Patch from tzccinct. + + Fixed hash order dependency test failures on Perl 5.17. Thanks to + Yves Orton for the patch. + + Inlined the code that tries to guess a Pod file's encoding. This + reduces the time Pod::Simple takes to build the core Perl + documentation by 15-20%. Thanks to Dagfinn Ilmari MannsÃ¥ker for + the patch! + + Added a warning when "=item" types mismatch within one + "=over"/"=back" block. Marc Green/Google Summer of Code, with + assist from RJBS. + + Fixed regression introduced in 3.22 in which "C< >" tags were + incorrectly treated as verbatim text in table of contents items + emitted by Pod::Simple::XHTML. Thanks to Randy Stauner for the + report and to Thomas Sibley for the fix! + + Loosened up the matching of "L< >" tags for man pages so that they + allow names with dots, underscores, and any other chararacters + other than "/", just so long as they end in '[(][-a-zA-Z0-9]+[)]'. + Thanks to Dave Rolsky and Kevin Ryde for the reports (RT #82975 & + RT #82972). + + Fixed inverted mapping of "keyboard" to "kbd" in + Pod::Simple::HTML. Thanks to Robert Boisvert for the bug report + (RT #79201). + + Added two new Tagmap entries to Pod::Simple::HTML: "preformat" + maps to "pre", and "teletype" maps to "tt". Suggested by Robert + Boisvert (RT #79201). + + "X< >" tags are now ignored by the pull parser when it searches + for titles, as is any trailing whitespace. Thanks to Patrice Dumas + for the report (RT #74389). + +2012-08-14 David E. Wheeler <david@justatheory.org> + * Release 3.23 + + Eliminated nested elements in table of contents (index) items + output of Pod::Simple::XHTML. This was especially problematic for + headers that included links, as the TOC then got nested anchor + elements, which simply would not work. Thanks to Ben Bullock for + the report and test case (RT #77686). + + Fixed semantically invalid nested XHTML generated by + Pod::Simple::XHTML since v3.21. Gisle Aas. + + Improved support for nested "C< >" tags in Pod::Simple::XHTML. + Gisle Aas. + + No longer tries to decode a string with the "utf8" flag set, as + the double-decoding only triggered an error. Grant McLean. + + Added documentation note that the API expects encoded text + (octets). Grant McLean. + + Added "parse_characters()" option to specify that strings to are + already decoded from octets into characters. Grant McLean. + +2012-05-27 David E. Wheeler <david@justatheory.org> + * Release 3.22 + + Fix but where Pod::Simple would whine about non-ASCII bytes in + code or comments. Now only does so for Pod (in the absence of an + "=encoding" tag. Broken in 3.21. Grant McLean. + +2012-05-23 David E. Wheeler <david@justatheory.org> + * Release 3.21 + + NOTE: COMPATABILITY CHANGE: The 'codes_in_verbatim' option in + Pod::Simple::XHTML is no longer enabled by default. This brings it + agreement with the other formatting classes, and eliminates + unexpected behavior in XHTML-formatted Pod. Users who depended on + this functionality can still get it by enabling + 'codes_in_verbatim' in their code. + + Fixed some typos in the documentation. Thanks to Jonathan Yu via + the Debian packagers via Florian Ragwitz (RT #75532). + + Now emit a warning the first time a non-ASCII byte is encountered + when no "=encoding" has been seen. Grant McLean. + + When a non-ASCII byte is encounted before an "=encoding" line has + been seen, a heuristic (as described in perlpodspec) is applied to + select UTF-8 encoding if the non-ASCII bytes form a valid UTF-8 + byte sequence, or Latin-1 otherwise. Grant McLean. + + Added 'handle_code' method to Pod::Simple::XHTML. This allows + subclasses to override the handling of verbatim blocks, and makes + for a more cohesive interface, to boot. Gisle Aas. + + Subsequent text segments are now joined together and passed as a + single unit to text handling code. This makes it easier for custom + handlers to process complete blocks of text in a single call to + 'handle_text', rather than in dribs and drabs. Gisle Aas. + + Replaced naive text wrapping code in Pod::Simple::DumpAsXML with + Text::Wrap, which was already used for similar purposes elsewhere + in Pod::Simple. Gisle Aas. + 2012-03-01 David E. Wheeler <david@justatheory.org> * Release 3.20 diff --git a/gnu/usr.bin/perl/cpan/Pod-Simple/README b/gnu/usr.bin/perl/cpan/Pod-Simple/README index 4608038f26c..1ff257fd613 100644 --- a/gnu/usr.bin/perl/cpan/Pod-Simple/README +++ b/gnu/usr.bin/perl/cpan/Pod-Simple/README @@ -1,4 +1,4 @@ -=head1 Pod::Simple version 3.20 +=head1 Pod::Simple version 3.28 Pod::Simple is a Perl library for parsing text in the Pod ("plain old documentation") markup language that is typically used for writing @@ -24,7 +24,7 @@ pod-people@perl.org mail list. Send an empty email to pod-people-subscribe@perl.org to subscribe. This module is managed in an open GitHub repository, -L<http://github.com/theory/pod-simple/>. Feel free to fork and contribute, or +L<https://github.com/theory/pod-simple/>. Feel free to fork and contribute, or to clone L<git://github.com/theory/pod-simple.git> and send patches! Patches against Pod::Simple are welcome. Please send bug reports to diff --git a/gnu/usr.bin/perl/cpan/Pod-Simple/lib/Pod/Simple.pm b/gnu/usr.bin/perl/cpan/Pod-Simple/lib/Pod/Simple.pm index ad7a19b8eff..fb5438f7f71 100644 --- a/gnu/usr.bin/perl/cpan/Pod-Simple/lib/Pod/Simple.pm +++ b/gnu/usr.bin/perl/cpan/Pod-Simple/lib/Pod/Simple.pm @@ -18,7 +18,7 @@ use vars qw( ); @ISA = ('Pod::Simple::BlackBox'); -$VERSION = '3.20'; +$VERSION = '3.28'; @Known_formatting_codes = qw(I B C L E F S X Z); %Known_formatting_codes = map(($_=>1), @Known_formatting_codes); @@ -80,6 +80,7 @@ __PACKAGE__->_accessorize( 'bare_output', # For some subclasses: whether to prepend # header-code and postpend footer-code + 'keep_encoding_directive', # whether to emit =encoding 'nix_X_codes', # whether to ignore X<...> codes 'merge_text', # whether to avoid breaking a single piece of # text up into several events @@ -87,6 +88,8 @@ __PACKAGE__->_accessorize( 'preserve_whitespace', # whether to try to keep whitespace as-is 'strip_verbatim_indent', # What indent to strip from verbatim + 'parse_characters', # Whether parser should expect chars rather than octets + 'content_seen', # whether we've seen any real Pod content 'errors_seen', # TODO: document. whether we've seen any errors (fatal or not) @@ -111,6 +114,35 @@ sub any_errata_seen { # good for using as an exit() value... return shift->{'errors_seen'} || 0; } +# Returns the encoding only if it was recognized as being handled and set +sub detected_encoding { + return shift->{'detected_encoding'}; +} + +sub encoding { + my $this = shift; + return $this->{'encoding'} unless @_; # GET. + + $this->_handle_encoding_line("=encoding $_[0]"); + if ($this->{'_processed_encoding'}) { + delete $this->{'_processed_encoding'}; + if(! $this->{'encoding_command_statuses'} ) { + DEBUG > 2 and print " CRAZY ERROR: encoding wasn't really handled?!\n"; + } elsif( $this->{'encoding_command_statuses'}[-1] ) { + $this->scream( "=encoding $_[0]", + sprintf "Couldn't do %s: %s", + $this->{'encoding_command_reqs' }[-1], + $this->{'encoding_command_statuses'}[-1], + ); + } else { + DEBUG > 2 and print " (encoding successfully handled.)\n"; + } + return $this->{'encoding'}; + } else { + return undef; + } +} + #@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ # Pull in some functions that, for some reason, I expect to see here too: BEGIN { @@ -1033,6 +1065,12 @@ sub _treat_Ls { # Process our dear dear friends, the L<...> sequences $treelet->[$i] = 'L<>'; # just make it a text node next; # and move on } + + if( (! ref $ell->[2] && $ell->[2] =~ /\A\s/) + ||(! ref $ell->[-1] && $ell->[-1] =~ /\s\z/) + ) { + $self->whine( $start_line, "L<> starts or ends with whitespace" ); + } # Catch URLs: @@ -1092,7 +1130,7 @@ sub _treat_Ls { # Process our dear dear friends, the L<...> sequences # Catch some very simple and/or common cases if(@{$ell} == 3 and ! ref $ell->[2]) { my $it = $ell->[2]; - if($it =~ m/^[-a-zA-Z0-9]+\([-a-zA-Z0-9]+\)$/s) { # man sections + if($it =~ m{^[^/|]+[(][-a-zA-Z0-9]+[)]$}s) { # man sections # Hopefully neither too broad nor too restrictive a RE DEBUG > 1 and print "Catching \"$it\" as manpage link.\n"; $ell->[1]{'type'} = 'man'; @@ -1148,6 +1186,13 @@ sub _treat_Ls { # Process our dear dear friends, the L<...> sequences DEBUG > 3 and print " FOUND a '|' in it. Splitting into [$1] + [$2]\n"; + if ($link_text[0] =~ m{[|/]}) { + $self->whine( + $start_line, + "alternative text '$link_text[0]' contains non-escaped | or /" + ); + } + unshift @link_text, splice @ell_content, 0, $j; # leaving only things at J and after @ell_content = grep ref($_)||length($_), @ell_content ; @@ -1251,7 +1296,7 @@ sub _treat_Ls { # Process our dear dear friends, the L<...> sequences # And the E resolver will have to deal with all our treeletty things: if(@ell_content == 1 and !ref($ell_content[0]) - and $ell_content[0] =~ m/^[-a-zA-Z0-9]+\([-a-zA-Z0-9]+\)$/s + and $ell_content[0] =~ m{^[^/]+[(][-a-zA-Z0-9]+[)]$}s ) { $ell->[1]{'type'} = 'man'; DEBUG > 3 and print "Considering this ($ell_content[0]) a man link.\n"; diff --git a/gnu/usr.bin/perl/cpan/Pod-Simple/lib/Pod/Simple.pod b/gnu/usr.bin/perl/cpan/Pod-Simple/lib/Pod/Simple.pod index a8ad211d3b6..4edc08ed677 100644 --- a/gnu/usr.bin/perl/cpan/Pod-Simple/lib/Pod/Simple.pod +++ b/gnu/usr.bin/perl/cpan/Pod-Simple/lib/Pod/Simple.pod @@ -14,6 +14,8 @@ documentation") markup language that is typically used for writing documentation for Perl and for Perl modules. The Pod format is explained L<perlpod>; the most common formatter is called C<perldoc>. +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 @@ -121,6 +123,14 @@ most likely to use. =over +=item C<< $parser->parse_characters( I<SOMEVALUE> ) >> + +The Pod parser normally expects to read octets and to convert those octets +to characters based on the C<=encoding> declaration in the Pod source. Set +this option to a true value to indicate that the Pod source is already a Perl +character stream. This tells the parser to ignore any C<=encoding> command +and to skip all the code paths involving decoding octets. + =item C<< $parser->no_whining( I<SOMEVALUE> ) >> If you set this attribute to a true value, you will suppress the @@ -279,6 +289,16 @@ I<Example:> die "too many errors\n" if $parser->any_errata_seen(); +=item C<< $parser->detected_encoding() >>X<detected_encoding> + +Return the encoding corresponding to C<< =encoding >>, but only if the +encoding was recognized and handled. + +=item C<< $parser->encoding() >>X<encoding> + +Return encoding of the document, even if the encoding is not correctly +handled. + =item C<< $parser->parse_from_file( $source, $to ) >>X<parse_from_file> Parses from C<$source> file to C<$to> file. Similar to L<< @@ -322,6 +342,21 @@ Log an error unless C<< $parser->no_whining( TRUE ); >>. =back +=head1 ENCODING + +The Pod::Simple parser expects to read B<octets>. The parser will decode the +octets into Perl's internal character string representation using the value of +the C<=encoding> declaration in the POD source. + +If the POD source does not include an C<=encoding> declaration, the parser will +attempt to guess the encoding (selecting one of UTF-8 or Latin-1) by examining +the first non-ASCII bytes and applying the heuristic described in +L<perlpodspec>. + +If you set the C<parse_characters> option to a true value the parser will +expect characters rather than octets; will ignore any C<=encoding>; and will +make no attempt to decode the input. + =head1 CAVEATS This is just a beta release -- there are a good number of things still @@ -348,7 +383,7 @@ pod-people@perl.org mail list. Send an empty email to pod-people-subscribe@perl.org to subscribe. This module is managed in an open GitHub repository, -L<http://github.com/theory/pod-simple/>. Feel free to fork and contribute, or +L<https://github.com/theory/pod-simple/>. Feel free to fork and contribute, or to clone L<git://github.com/theory/pod-simple.git> and send patches! Patches against Pod::Simple are welcome. Please send bug reports to diff --git a/gnu/usr.bin/perl/cpan/Pod-Simple/lib/Pod/Simple/BlackBox.pm b/gnu/usr.bin/perl/cpan/Pod-Simple/lib/Pod/Simple/BlackBox.pm index c17cfd0ad51..a1b570810d0 100644 --- a/gnu/usr.bin/perl/cpan/Pod-Simple/lib/Pod/Simple/BlackBox.pm +++ b/gnu/usr.bin/perl/cpan/Pod-Simple/lib/Pod/Simple/BlackBox.pm @@ -23,7 +23,7 @@ use integer; # vroom! use strict; use Carp (); use vars qw($VERSION ); -$VERSION = '3.20'; +$VERSION = '3.28'; #use constant DEBUG => 7; BEGIN { require Pod::Simple; @@ -91,6 +91,7 @@ sub parse_lines { # Usage: $parser->parse_lines(@lines) if( ($line = $source_line) =~ s/^\xEF\xBB\xBF//s ) { DEBUG and print "UTF-8 BOM seen. Faking a '=encoding utf8'.\n"; $self->_handle_encoding_line( "=encoding utf8" ); + delete $self->{'_processed_encoding'}; $line =~ tr/\n\r//d; } elsif( $line =~ s/^\xFE\xFF//s ) { @@ -123,6 +124,22 @@ sub parse_lines { # Usage: $parser->parse_lines(@lines) } } + # Try to guess encoding. Inlined for performance reasons. + if(!$self->{'parse_characters'} && !$self->{'encoding'} + && ($self->{'in_pod'} || $line =~ /^=/s) + && $line =~ /[^\x00-\x7f]/ + ) { + my $encoding = $line =~ /^[\x00-\x7f]*[\xC0-\xFD][\x80-\xBF]/ ? 'UTF-8' : 'ISO8859-1'; + $self->_handle_encoding_line( "=encoding $encoding" ); + $self->{'_transcoder'} && $self->{'_transcoder'}->($line); + + my ($word) = $line =~ /(\S*[^\x00-\x7f]\S*)/; + + $self->whine( + $self->{'line_count'}, + "Non-ASCII character seen before =encoding in '$word'. Assuming $encoding" + ); + } DEBUG > 5 and print "# Parsing line: [$line]\n"; @@ -176,6 +193,7 @@ sub parse_lines { # Usage: $parser->parse_lines(@lines) # HERE WE CATCH =encoding EARLY! if( $line =~ m/^=encoding\s+\S+\s*$/s ) { + next if $self->parse_characters; # Ignore this line $line = $self->_handle_encoding_line( $line ); } @@ -269,6 +287,8 @@ sub parse_lines { # Usage: $parser->parse_lines(@lines) sub _handle_encoding_line { my($self, $line) = @_; + return if $self->parse_characters; + # The point of this routine is to set $self->{'_transcoder'} as indicated. return $line unless $line =~ m/^=encoding\s+(\S+)\s*$/s; @@ -324,6 +344,7 @@ sub _handle_encoding_line { $@ && die( $enc_error = "Really unexpected error setting up encoding $e: $@\nAborting" ); + $self->{'detected_encoding'} = $e; } else { my @supported = Pod::Simple::Transcode::->all_encodings; @@ -354,8 +375,13 @@ sub _handle_encoding_line { $self->scream( $self->{'line_count'}, $enc_error ); } push @{ $self->{'encoding_command_statuses'} }, $enc_error; + if (defined($self->{'_processed_encoding'})) { + # Should never happen + die "Nested processed encoding."; + } + $self->{'_processed_encoding'} = $orig; - return '=encoding ALREADYDONE'; + return $line; } # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -371,7 +397,11 @@ sub _handle_encoding_second_level { DEBUG > 2 and print "Ogling encoding directive: =encoding $content\n"; - if($content eq 'ALREADYDONE') { + if (defined($self->{'_processed_encoding'})) { + #if($content ne $self->{'_processed_encoding'}) { + # Could it happen? + #} + delete $self->{'_processed_encoding'}; # It's already been handled. Check for errors. if(! $self->{'encoding_command_statuses'} ) { DEBUG > 2 and print " CRAZY ERROR: It wasn't really handled?!\n"; @@ -642,8 +672,10 @@ sub _ponder_paragraph_buffer { if($item_type eq 'text') { # Nothing special needs doing for 'text' } elsif($item_type eq 'number' or $item_type eq 'bullet') { - die "Unknown item type $item_type" - unless $item_type eq 'number' or $item_type eq 'bullet'; + $self->whine( + $para->[1]{'start_line'}, + "Expected text after =item, not a $item_type" + ); # Undo our clobbering: push @$para, $para->[1]{'~orig_content'}; delete $para->[1]{'number'}; @@ -772,8 +804,8 @@ sub _ponder_paragraph_buffer { } elsif($para_type eq '=encoding') { # Not actually acted on here, but we catch errors here. $self->_handle_encoding_second_level($para); - - next; # and skip + next unless $self->keep_encoding_directive; + $para_type = 'Plain'; } elsif($para_type eq '~Verbatim') { $para->[0] = 'Verbatim'; $para_type = '?Verbatim'; @@ -1250,8 +1282,10 @@ sub _ponder_item { if($item_type eq 'text') { # Nothing special needs doing for 'text' } elsif($item_type eq 'number' or $item_type eq 'bullet') { - die "Unknown item type $item_type" - unless $item_type eq 'number' or $item_type eq 'bullet'; + $self->whine( + $para->[1]{'start_line'}, + "Expected text after =item, not a $item_type" + ); # Undo our clobbering: push @$para, $para->[1]{'~orig_content'}; delete $para->[1]{'number'}; @@ -1459,10 +1493,12 @@ sub _traverse_treelet_bit { # for use only by the routine above my $scratch; $self->_handle_element_start(($scratch=$name), shift @_); - foreach my $x (@_) { - if(ref($x)) { + while (@_) { + my $x = shift; + if (ref($x)) { &_traverse_treelet_bit($self, @$x); } else { + $x .= shift while @_ && !ref($_[0]); $self->_handle_text($x); } } @@ -1483,6 +1519,11 @@ sub _closers_for_all_curr_open { if($copy[0] eq '=for') { $copy[0] = '=end'; } elsif($copy[0] eq '=over') { + $self->whine( + $still_open->[1]{start_line} , + "=over without closing =back" + ); + $copy[0] = '=back'; } else { die "I don't know how to auto-close an open $copy[0] region"; diff --git a/gnu/usr.bin/perl/cpan/Pod-Simple/lib/Pod/Simple/Checker.pm b/gnu/usr.bin/perl/cpan/Pod-Simple/lib/Pod/Simple/Checker.pm index c97267a86ba..92e1bee238a 100644 --- a/gnu/usr.bin/perl/cpan/Pod-Simple/lib/Pod/Simple/Checker.pm +++ b/gnu/usr.bin/perl/cpan/Pod-Simple/lib/Pod/Simple/Checker.pm @@ -9,7 +9,7 @@ use Carp (); use Pod::Simple::Methody (); use Pod::Simple (); use vars qw( @ISA $VERSION ); -$VERSION = '3.20'; +$VERSION = '3.28'; @ISA = ('Pod::Simple::Methody'); BEGIN { *DEBUG = defined(&Pod::Simple::DEBUG) ? \&Pod::Simple::DEBUG @@ -159,7 +159,7 @@ pod-people@perl.org mail list. Send an empty email to pod-people-subscribe@perl.org to subscribe. This module is managed in an open GitHub repository, -L<http://github.com/theory/pod-simple/>. Feel free to fork and contribute, or +L<https://github.com/theory/pod-simple/>. Feel free to fork and contribute, or to clone L<git://github.com/theory/pod-simple.git> and send patches! Patches against Pod::Simple are welcome. Please send bug reports to diff --git a/gnu/usr.bin/perl/cpan/Pod-Simple/lib/Pod/Simple/Debug.pm b/gnu/usr.bin/perl/cpan/Pod-Simple/lib/Pod/Simple/Debug.pm index 57733028427..b170bb780ab 100644 --- a/gnu/usr.bin/perl/cpan/Pod-Simple/lib/Pod/Simple/Debug.pm +++ b/gnu/usr.bin/perl/cpan/Pod-Simple/lib/Pod/Simple/Debug.pm @@ -3,7 +3,7 @@ require 5; package Pod::Simple::Debug; use strict; use vars qw($VERSION ); -$VERSION = '3.20'; +$VERSION = '3.28'; sub import { my($value,$variable); @@ -141,7 +141,7 @@ pod-people@perl.org mail list. Send an empty email to pod-people-subscribe@perl.org to subscribe. This module is managed in an open GitHub repository, -L<http://github.com/theory/pod-simple/>. Feel free to fork and contribute, or +L<https://github.com/theory/pod-simple/>. Feel free to fork and contribute, or to clone L<git://github.com/theory/pod-simple.git> and send patches! Patches against Pod::Simple are welcome. Please send bug reports to diff --git a/gnu/usr.bin/perl/cpan/Pod-Simple/lib/Pod/Simple/DumpAsText.pm b/gnu/usr.bin/perl/cpan/Pod-Simple/lib/Pod/Simple/DumpAsText.pm index 5e2d7ebf5ff..019dfd57fbd 100644 --- a/gnu/usr.bin/perl/cpan/Pod-Simple/lib/Pod/Simple/DumpAsText.pm +++ b/gnu/usr.bin/perl/cpan/Pod-Simple/lib/Pod/Simple/DumpAsText.pm @@ -1,7 +1,7 @@ require 5; package Pod::Simple::DumpAsText; -$VERSION = '3.20'; +$VERSION = '3.28'; use Pod::Simple (); BEGIN {@ISA = ('Pod::Simple')} @@ -16,6 +16,7 @@ sub new { my $new = $self->SUPER::new(@_); $new->{'output_fh'} ||= *STDOUT{IO}; $new->accept_codes('VerbatimFormatted'); + $new->keep_encoding_directive(1); return $new; } @@ -118,7 +119,7 @@ pod-people@perl.org mail list. Send an empty email to pod-people-subscribe@perl.org to subscribe. This module is managed in an open GitHub repository, -L<http://github.com/theory/pod-simple/>. Feel free to fork and contribute, or +L<https://github.com/theory/pod-simple/>. Feel free to fork and contribute, or to clone L<git://github.com/theory/pod-simple.git> and send patches! Patches against Pod::Simple are welcome. Please send bug reports to diff --git a/gnu/usr.bin/perl/cpan/Pod-Simple/lib/Pod/Simple/DumpAsXML.pm b/gnu/usr.bin/perl/cpan/Pod-Simple/lib/Pod/Simple/DumpAsXML.pm index e43422bbd7c..ac925c08eff 100644 --- a/gnu/usr.bin/perl/cpan/Pod-Simple/lib/Pod/Simple/DumpAsXML.pm +++ b/gnu/usr.bin/perl/cpan/Pod-Simple/lib/Pod/Simple/DumpAsXML.pm @@ -1,13 +1,14 @@ require 5; package Pod::Simple::DumpAsXML; -$VERSION = '3.20'; +$VERSION = '3.28'; use Pod::Simple (); BEGIN {@ISA = ('Pod::Simple')} use strict; use Carp (); +use Text::Wrap qw(wrap); BEGIN { *DEBUG = \&Pod::Simple::DEBUG unless defined &DEBUG } @@ -16,6 +17,7 @@ sub new { my $new = $self->SUPER::new(@_); $new->{'output_fh'} ||= *STDOUT{IO}; $new->accept_codes('VerbatimFormatted'); + $new->keep_encoding_directive(1); return $new; } @@ -49,15 +51,8 @@ sub _handle_text { my $indent = ' ' x $_[0]{'indent'}; my $text = $_[1]; _xml_escape($text); - $text =~ # A not-totally-brilliant wrapping algorithm: - s/( - [^\n]{55} # Snare some characters from a line - [^\n\ ]{0,50} # and finish any current word - ) - \x20{1,10}(?!\n) # capture some spaces not at line-end - /$1\n$indent/gx # => line-break here - ; - + local $Text::Wrap::huge = 'overflow'; + $text = wrap('', $indent, $text); print {$_[0]{'output_fh'}} $indent, $text, "\n"; } return; @@ -133,7 +128,7 @@ pod-people@perl.org mail list. Send an empty email to pod-people-subscribe@perl.org to subscribe. This module is managed in an open GitHub repository, -L<http://github.com/theory/pod-simple/>. Feel free to fork and contribute, or +L<https://github.com/theory/pod-simple/>. Feel free to fork and contribute, or to clone L<git://github.com/theory/pod-simple.git> and send patches! Patches against Pod::Simple are welcome. Please send bug reports to diff --git a/gnu/usr.bin/perl/cpan/Pod-Simple/lib/Pod/Simple/HTML.pm b/gnu/usr.bin/perl/cpan/Pod-Simple/lib/Pod/Simple/HTML.pm index 12fad403589..8a2f81569c1 100644 --- a/gnu/usr.bin/perl/cpan/Pod-Simple/lib/Pod/Simple/HTML.pm +++ b/gnu/usr.bin/perl/cpan/Pod-Simple/lib/Pod/Simple/HTML.pm @@ -10,7 +10,7 @@ use vars qw( $Doctype_decl $Content_decl ); @ISA = ('Pod::Simple::PullParser'); -$VERSION = '3.20'; +$VERSION = '3.28'; BEGIN { if(defined &DEBUG) { } # no-op @@ -134,7 +134,7 @@ my @_to_accept; qw[ sample=samp definition=dfn - kbd=keyboard + keyboard=kbd variable=var citation=cite abbreviation=abbr @@ -145,6 +145,8 @@ my @_to_accept; small=small underline=u strikethrough=s + preformat=pre + teletype=tt ] # no point in providing a way to get <q>...</q>, I think ), @@ -1089,7 +1091,7 @@ pod-people@perl.org mail list. Send an empty email to pod-people-subscribe@perl.org to subscribe. This module is managed in an open GitHub repository, -L<http://github.com/theory/pod-simple/>. Feel free to fork and contribute, or +L<https://github.com/theory/pod-simple/>. Feel free to fork and contribute, or to clone L<git://github.com/theory/pod-simple.git> and send patches! Patches against Pod::Simple are welcome. Please send bug reports to diff --git a/gnu/usr.bin/perl/cpan/Pod-Simple/lib/Pod/Simple/HTMLBatch.pm b/gnu/usr.bin/perl/cpan/Pod-Simple/lib/Pod/Simple/HTMLBatch.pm index 52e77bcc1b8..e41b11e2c50 100644 --- a/gnu/usr.bin/perl/cpan/Pod-Simple/lib/Pod/Simple/HTMLBatch.pm +++ b/gnu/usr.bin/perl/cpan/Pod-Simple/lib/Pod/Simple/HTMLBatch.pm @@ -5,7 +5,7 @@ use strict; use vars qw( $VERSION $HTML_RENDER_CLASS $HTML_EXTENSION $CSS $JAVASCRIPT $SLEEPY $SEARCH_CLASS @ISA ); -$VERSION = '3.20'; +$VERSION = '3.28'; @ISA = (); # Yup, we're NOT a subclass of Pod::Simple::HTML! # TODO: nocontents stylesheets. Strike some of the color variations? @@ -1093,7 +1093,7 @@ Example: % mkdir ../seekrut % chmod og-rx ../seekrut - % perl -MPod::Simple::HTMLBatch -e Pod::Simple::HTMLBatch::go . ../htmlversion + % perl -MPod::Simple::HTMLBatch -e Pod::Simple::HTMLBatch::go . ../seekrut (to convert the pod under the current dir into HTML files under the directory ./seekrut) @@ -1333,7 +1333,7 @@ pod-people@perl.org mail list. Send an empty email to pod-people-subscribe@perl.org to subscribe. This module is managed in an open GitHub repository, -L<http://github.com/theory/pod-simple/>. Feel free to fork and contribute, or +L<https://github.com/theory/pod-simple/>. Feel free to fork and contribute, or to clone L<git://github.com/theory/pod-simple.git> and send patches! Patches against Pod::Simple are welcome. Please send bug reports to diff --git a/gnu/usr.bin/perl/cpan/Pod-Simple/lib/Pod/Simple/LinkSection.pm b/gnu/usr.bin/perl/cpan/Pod-Simple/lib/Pod/Simple/LinkSection.pm index 5aa5bc19897..be1f5345d08 100644 --- a/gnu/usr.bin/perl/cpan/Pod-Simple/lib/Pod/Simple/LinkSection.pm +++ b/gnu/usr.bin/perl/cpan/Pod-Simple/lib/Pod/Simple/LinkSection.pm @@ -3,12 +3,12 @@ require 5; package Pod::Simple::LinkSection; # Based somewhat dimly on Array::Autojoin use vars qw($VERSION ); -$VERSION = '3.20'; +$VERSION = '3.28'; use strict; use Pod::Simple::BlackBox; use vars qw($VERSION ); -$VERSION = '3.20'; +$VERSION = '3.28'; use overload( # So it'll stringify nice '""' => \&Pod::Simple::BlackBox::stringify_lol, @@ -137,7 +137,7 @@ pod-people@perl.org mail list. Send an empty email to pod-people-subscribe@perl.org to subscribe. This module is managed in an open GitHub repository, -L<http://github.com/theory/pod-simple/>. Feel free to fork and contribute, or +L<https://github.com/theory/pod-simple/>. Feel free to fork and contribute, or to clone L<git://github.com/theory/pod-simple.git> and send patches! Patches against Pod::Simple are welcome. Please send bug reports to diff --git a/gnu/usr.bin/perl/cpan/Pod-Simple/lib/Pod/Simple/Methody.pm b/gnu/usr.bin/perl/cpan/Pod-Simple/lib/Pod/Simple/Methody.pm index 4113daf2351..38acaa20d0b 100644 --- a/gnu/usr.bin/perl/cpan/Pod-Simple/lib/Pod/Simple/Methody.pm +++ b/gnu/usr.bin/perl/cpan/Pod-Simple/lib/Pod/Simple/Methody.pm @@ -4,7 +4,7 @@ package Pod::Simple::Methody; use strict; use Pod::Simple (); use vars qw(@ISA $VERSION); -$VERSION = '3.20'; +$VERSION = '3.28'; @ISA = ('Pod::Simple'); # Yes, we could use named variables, but I want this to be impose @@ -115,7 +115,7 @@ pod-people@perl.org mail list. Send an empty email to pod-people-subscribe@perl.org to subscribe. This module is managed in an open GitHub repository, -L<http://github.com/theory/pod-simple/>. Feel free to fork and contribute, or +L<https://github.com/theory/pod-simple/>. Feel free to fork and contribute, or to clone L<git://github.com/theory/pod-simple.git> and send patches! Patches against Pod::Simple are welcome. Please send bug reports to diff --git a/gnu/usr.bin/perl/cpan/Pod-Simple/lib/Pod/Simple/Progress.pm b/gnu/usr.bin/perl/cpan/Pod-Simple/lib/Pod/Simple/Progress.pm index e85084a1c26..f9cd6816722 100644 --- a/gnu/usr.bin/perl/cpan/Pod-Simple/lib/Pod/Simple/Progress.pm +++ b/gnu/usr.bin/perl/cpan/Pod-Simple/lib/Pod/Simple/Progress.pm @@ -1,7 +1,7 @@ require 5; package Pod::Simple::Progress; -$VERSION = '3.20'; +$VERSION = '3.28'; use strict; # Objects of this class are used for noting progress of an diff --git a/gnu/usr.bin/perl/cpan/Pod-Simple/lib/Pod/Simple/PullParser.pm b/gnu/usr.bin/perl/cpan/Pod-Simple/lib/Pod/Simple/PullParser.pm index c9726fd564a..5c13724dc11 100644 --- a/gnu/usr.bin/perl/cpan/Pod-Simple/lib/Pod/Simple/PullParser.pm +++ b/gnu/usr.bin/perl/cpan/Pod-Simple/lib/Pod/Simple/PullParser.pm @@ -1,7 +1,7 @@ require 5; package Pod::Simple::PullParser; -$VERSION = '3.20'; +$VERSION = '3.28'; use Pod::Simple (); BEGIN {@ISA = ('Pod::Simple')} @@ -347,6 +347,7 @@ sub _get_titled_section { my $head1_text_content; my $para_text_content; + my $skipX; while( ++$token_count <= ($max_token || 1_000_000) @@ -364,8 +365,14 @@ sub _get_titled_section { elsif($state == 1) { # accumulating text until end of head1 if( $token->is_text ) { - DEBUG and print " Adding \"", $token->text, "\" to head1-content.\n"; - $head1_text_content .= $token->text; + unless ($skipX) { + DEBUG and print " Adding \"", $token->text, "\" to head1-content.\n"; + $head1_text_content .= $token->text; + } + } elsif( $token->is_tagname('X') ) { + # We're going to want to ignore X<> stuff. + $skipX = $token->is_start; + DEBUG and print +($skipX ? 'Start' : 'End'), 'ing ignoring of X<> tag'; } elsif( $token->is_end and $token->tagname eq 'head1' ) { DEBUG and print " Found end of head1. Considering content...\n"; $head1_text_content = uc $head1_text_content if $nocase; @@ -392,9 +399,9 @@ sub _get_titled_section { ? (length($head1_text_content) <= $max_content_length) # sanity : 1) ) { - DEBUG and print " It looks titular: \"$head1_text_content\".\n", - "\n Using that.\n"; - $title = $head1_text_content; + # Looks good; trim it + ($title = $head1_text_content) =~ s/\s+$//; + DEBUG and print " It looks titular: \"$title\".\n\n Using that.\n"; last; } else { --$state; @@ -736,7 +743,7 @@ pod-people@perl.org mail list. Send an empty email to pod-people-subscribe@perl.org to subscribe. This module is managed in an open GitHub repository, -L<http://github.com/theory/pod-simple/>. Feel free to fork and contribute, or +L<https://github.com/theory/pod-simple/>. Feel free to fork and contribute, or to clone L<git://github.com/theory/pod-simple.git> and send patches! Patches against Pod::Simple are welcome. Please send bug reports to diff --git a/gnu/usr.bin/perl/cpan/Pod-Simple/lib/Pod/Simple/PullParserEndToken.pm b/gnu/usr.bin/perl/cpan/Pod-Simple/lib/Pod/Simple/PullParserEndToken.pm index a45aba18bae..5fa402318eb 100644 --- a/gnu/usr.bin/perl/cpan/Pod-Simple/lib/Pod/Simple/PullParserEndToken.pm +++ b/gnu/usr.bin/perl/cpan/Pod-Simple/lib/Pod/Simple/PullParserEndToken.pm @@ -5,7 +5,7 @@ use Pod::Simple::PullParserToken (); use strict; use vars qw(@ISA $VERSION); @ISA = ('Pod::Simple::PullParserToken'); -$VERSION = '3.20'; +$VERSION = '3.28'; sub new { # Class->new(tagname); my $class = shift; @@ -83,7 +83,7 @@ pod-people@perl.org mail list. Send an empty email to pod-people-subscribe@perl.org to subscribe. This module is managed in an open GitHub repository, -L<http://github.com/theory/pod-simple/>. Feel free to fork and contribute, or +L<https://github.com/theory/pod-simple/>. Feel free to fork and contribute, or to clone L<git://github.com/theory/pod-simple.git> and send patches! Patches against Pod::Simple are welcome. Please send bug reports to diff --git a/gnu/usr.bin/perl/cpan/Pod-Simple/lib/Pod/Simple/PullParserStartToken.pm b/gnu/usr.bin/perl/cpan/Pod-Simple/lib/Pod/Simple/PullParserStartToken.pm index e9fbaa2b5ec..3edb0ad5695 100644 --- a/gnu/usr.bin/perl/cpan/Pod-Simple/lib/Pod/Simple/PullParserStartToken.pm +++ b/gnu/usr.bin/perl/cpan/Pod-Simple/lib/Pod/Simple/PullParserStartToken.pm @@ -5,7 +5,7 @@ use Pod::Simple::PullParserToken (); use strict; use vars qw(@ISA $VERSION); @ISA = ('Pod::Simple::PullParserToken'); -$VERSION = '3.20'; +$VERSION = '3.28'; sub new { # Class->new(tagname, optional_attrhash); my $class = shift; @@ -124,7 +124,7 @@ pod-people@perl.org mail list. Send an empty email to pod-people-subscribe@perl.org to subscribe. This module is managed in an open GitHub repository, -L<http://github.com/theory/pod-simple/>. Feel free to fork and contribute, or +L<https://github.com/theory/pod-simple/>. Feel free to fork and contribute, or to clone L<git://github.com/theory/pod-simple.git> and send patches! Patches against Pod::Simple are welcome. Please send bug reports to diff --git a/gnu/usr.bin/perl/cpan/Pod-Simple/lib/Pod/Simple/PullParserTextToken.pm b/gnu/usr.bin/perl/cpan/Pod-Simple/lib/Pod/Simple/PullParserTextToken.pm index 34985fdfb03..a75fd7a706e 100644 --- a/gnu/usr.bin/perl/cpan/Pod-Simple/lib/Pod/Simple/PullParserTextToken.pm +++ b/gnu/usr.bin/perl/cpan/Pod-Simple/lib/Pod/Simple/PullParserTextToken.pm @@ -5,7 +5,7 @@ use Pod::Simple::PullParserToken (); use strict; use vars qw(@ISA $VERSION); @ISA = ('Pod::Simple::PullParserToken'); -$VERSION = '3.20'; +$VERSION = '3.28'; sub new { # Class->new(text); my $class = shift; @@ -91,7 +91,7 @@ pod-people@perl.org mail list. Send an empty email to pod-people-subscribe@perl.org to subscribe. This module is managed in an open GitHub repository, -L<http://github.com/theory/pod-simple/>. Feel free to fork and contribute, or +L<https://github.com/theory/pod-simple/>. Feel free to fork and contribute, or to clone L<git://github.com/theory/pod-simple.git> and send patches! Patches against Pod::Simple are welcome. Please send bug reports to diff --git a/gnu/usr.bin/perl/cpan/Pod-Simple/lib/Pod/Simple/PullParserToken.pm b/gnu/usr.bin/perl/cpan/Pod-Simple/lib/Pod/Simple/PullParserToken.pm index b323ece2a32..bbae51ba69e 100644 --- a/gnu/usr.bin/perl/cpan/Pod-Simple/lib/Pod/Simple/PullParserToken.pm +++ b/gnu/usr.bin/perl/cpan/Pod-Simple/lib/Pod/Simple/PullParserToken.pm @@ -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.20'; +$VERSION = '3.28'; use strict; sub new { # Class->new('type', stuff...); ## Overridden in derived classes anyway @@ -126,7 +126,7 @@ pod-people@perl.org mail list. Send an empty email to pod-people-subscribe@perl.org to subscribe. This module is managed in an open GitHub repository, -L<http://github.com/theory/pod-simple/>. Feel free to fork and contribute, or +L<https://github.com/theory/pod-simple/>. Feel free to fork and contribute, or to clone L<git://github.com/theory/pod-simple.git> and send patches! Patches against Pod::Simple are welcome. Please send bug reports to diff --git a/gnu/usr.bin/perl/cpan/Pod-Simple/lib/Pod/Simple/RTF.pm b/gnu/usr.bin/perl/cpan/Pod-Simple/lib/Pod/Simple/RTF.pm index 0d184e3a66b..067e6b9dd35 100644 --- a/gnu/usr.bin/perl/cpan/Pod-Simple/lib/Pod/Simple/RTF.pm +++ b/gnu/usr.bin/perl/cpan/Pod-Simple/lib/Pod/Simple/RTF.pm @@ -8,7 +8,7 @@ package Pod::Simple::RTF; use strict; use vars qw($VERSION @ISA %Escape $WRAP %Tagmap); -$VERSION = '3.20'; +$VERSION = '3.28'; use Pod::Simple::PullParser (); BEGIN {@ISA = ('Pod::Simple::PullParser')} @@ -662,7 +662,7 @@ pod-people@perl.org mail list. Send an empty email to pod-people-subscribe@perl.org to subscribe. This module is managed in an open GitHub repository, -L<http://github.com/theory/pod-simple/>. Feel free to fork and contribute, or +L<https://github.com/theory/pod-simple/>. Feel free to fork and contribute, or to clone L<git://github.com/theory/pod-simple.git> and send patches! Patches against Pod::Simple are welcome. Please send bug reports to diff --git a/gnu/usr.bin/perl/cpan/Pod-Simple/lib/Pod/Simple/SimpleTree.pm b/gnu/usr.bin/perl/cpan/Pod-Simple/lib/Pod/Simple/SimpleTree.pm index 3671af121f0..0b42a22b273 100644 --- a/gnu/usr.bin/perl/cpan/Pod-Simple/lib/Pod/Simple/SimpleTree.pm +++ b/gnu/usr.bin/perl/cpan/Pod-Simple/lib/Pod/Simple/SimpleTree.pm @@ -6,7 +6,7 @@ use strict; use Carp (); use Pod::Simple (); use vars qw( $ATTR_PAD @ISA $VERSION $SORT_ATTRS); -$VERSION = '3.20'; +$VERSION = '3.28'; BEGIN { @ISA = ('Pod::Simple'); *DEBUG = \&Pod::Simple::DEBUG unless defined &DEBUG; @@ -143,7 +143,7 @@ pod-people@perl.org mail list. Send an empty email to pod-people-subscribe@perl.org to subscribe. This module is managed in an open GitHub repository, -L<http://github.com/theory/pod-simple/>. Feel free to fork and contribute, or +L<https://github.com/theory/pod-simple/>. Feel free to fork and contribute, or to clone L<git://github.com/theory/pod-simple.git> and send patches! Patches against Pod::Simple are welcome. Please send bug reports to diff --git a/gnu/usr.bin/perl/cpan/Pod-Simple/lib/Pod/Simple/Subclassing.pod b/gnu/usr.bin/perl/cpan/Pod-Simple/lib/Pod/Simple/Subclassing.pod index 792d1be5a24..7a7976bdc47 100644 --- a/gnu/usr.bin/perl/cpan/Pod-Simple/lib/Pod/Simple/Subclassing.pod +++ b/gnu/usr.bin/perl/cpan/Pod-Simple/lib/Pod/Simple/Subclassing.pod @@ -12,22 +12,22 @@ Pod::Simple::Subclassing -- write a formatter as a Pod::Simple subclass use strict; sub _handle_element_start { - my($parser, $element_name, $attr_hash_r) = @_; - ... + my($parser, $element_name, $attr_hash_r) = @_; + ... } sub _handle_element_end { - my($parser, $element_name, $attr_hash_r) = @_; - # NOTE: $attr_hash_r is only present when $element_name is "over" or "begin" - # The remaining code excerpts will mostly ignore this $attr_hash_r, as it is - # mostly useless. It is documented where "over-*" and "begin" events are - # documented. - ... + my($parser, $element_name, $attr_hash_r) = @_; + # NOTE: $attr_hash_r is only present when $element_name is "over" or "begin" + # The remaining code excerpts will mostly ignore this $attr_hash_r, as it is + # mostly useless. It is documented where "over-*" and "begin" events are + # documented. + ... } sub _handle_text { - my($parser, $text) = @_; - ... + my($parser, $text) = @_; + ... } 1; @@ -105,13 +105,13 @@ TODO describe Parsing a document produces this event structure: <Document start_line="543"> - ...all events... + ...all events... </Document> The value of the I<start_line> attribute will be the line number of the first Pod directive in the document. -If there is no Pod in the given document, then the +If there is no Pod in the given document, then the event structure will be this: <Document contentless="1" start_line="543"> @@ -126,9 +126,9 @@ last line in the file. Parsing a plain (non-verbatim, non-directive, non-data) paragraph in a Pod document produces this event structure: - <Para start_line="543"> - ...all events in this paragraph... - </Para> + <Para start_line="543"> + ...all events in this paragraph... + </Para> The value of the I<start_line> attribute will be the line number of the start of the paragraph. @@ -140,14 +140,14 @@ For example, parsing this paragraph of Pod: produces this event structure: - <Para start_line="129"> - The value of the - <I> - start_line - </I> - attribute will be the line number of the first Pod directive - in the document. - </Para> + <Para start_line="129"> + The value of the + <I> + start_line + </I> + attribute will be the line number of the first Pod directive + in the document. + </Para> =item events with an element_name of B, C, F, or I. @@ -157,9 +157,9 @@ S<BE<lt>E<lt> ... E<gt>E<gt>>, or S<BE<lt>E<lt>E<lt>E<lt> ... E<gt>E<gt>E<gt>E<gt>>, etc.) produces this event structure: - <B> - ...stuff... - </B> + <B> + ...stuff... + </B> Currently, there are no attributes conveyed. @@ -175,9 +175,9 @@ any attributes. Normally, parsing an SE<lt>...E<gt> sequence produces this event structure, just as if it were a B/C/F/I code: - <S> - ...stuff... - </S> + <S> + ...stuff... + </S> However, Pod::Simple (and presumably all derived parsers) offers the C<nbsp_for_S> option which, if enabled, will suppress all S events, and @@ -191,9 +191,9 @@ means non-breaking space. Normally, parsing an XE<lt>...E<gt> sequence produces this event structure, just as if it were a B/C/F/I code: - <X> - ...stuff... - </X> + <X> + ...stuff... + </X> However, Pod::Simple (and presumably all derived parsers) offers the C<nix_X_codes> option which, if enabled, will suppress all X events @@ -219,7 +219,7 @@ When a LE<lt>I<some_url>E<gt> code is parsed, it produces this event structure: <L content-implicit="yes" raw="that_url" to="that_url" type="url"> - that_url + that_url </L> The C<type="url"> attribute is always specified for this type of @@ -232,14 +232,14 @@ For example, this Pod source: produces this event structure: <L content-implicit="yes" raw="http://www.perl.com/CPAN/authors/" to="http://www.perl.com/CPAN/authors/" type="url"> - http://www.perl.com/CPAN/authors/ + http://www.perl.com/CPAN/authors/ </L> When a LE<lt>I<manpage(section)>E<gt> code is parsed (and these are fairly rare and not terribly useful), it produces this event structure: <L content-implicit="yes" raw="manpage(section)" to="manpage(section)" type="man"> - manpage(section) + manpage(section) </L> The C<type="man"> attribute is always specified for this type of @@ -252,7 +252,7 @@ For example, this Pod source: produces this event structure: <L content-implicit="yes" raw="crontab(5)" to="crontab(5)" type="man"> - crontab(5) + crontab(5) </L> In the rare cases where a man page link has a specified, that text appears @@ -263,7 +263,7 @@ in a I<section> attribute. For example, this Pod source: will produce this event structure: <L content-implicit="yes" raw="crontab(5)/"ENVIRONMENT"" section="ENVIRONMENT" to="crontab(5)" type="man"> - "ENVIRONMENT" in crontab(5) + "ENVIRONMENT" in crontab(5) </L> In the rare case where the Pod document has code like @@ -283,7 +283,7 @@ For example, this Pod source: will produce this event structure: <L raw="hell itself!|crontab(5)" to="crontab(5)" type="man"> - hell itself! + hell itself! </L> The last type of L structure is for links to/within Pod documents. It is @@ -295,7 +295,7 @@ In the most common case, the simple case of a LE<lt>podpageE<gt> code produces this event structure: <L content-implicit="yes" raw="podpage" to="podpage" type="pod"> - podpage + podpage </L> For example, this Pod source: @@ -305,7 +305,7 @@ For example, this Pod source: produces this event structure: <L content-implicit="yes" raw="Net::Ping" to="Net::Ping" type="pod"> - Net::Ping + Net::Ping </L> In cases where there is link-text explicitly specified, it @@ -318,7 +318,7 @@ case discussed above. For example, this Pod source: produces this event structure: <L raw="Perl Error Messages|perldiag" to="perldiag" type="pod"> - Perl Error Messages + Perl Error Messages </L> In cases of links to a section in the current Pod document, @@ -330,7 +330,7 @@ For example, this Pod source: produces this event structure: <L content-implicit="yes" raw="/"Member Data"" section="Member Data" type="pod"> - "Member Data" + "Member Data" </L> As another example, this Pod source: @@ -340,7 +340,7 @@ As another example, this Pod source: produces this event structure: <L raw="the various attributes|/"Member Data"" section="Member Data" type="pod"> - the various attributes + the various attributes </L> In cases of links to a section in a different Pod document, @@ -352,7 +352,7 @@ For example, this Pod source: produces this event structure: <L content-implicit="yes" raw="perlsyn/"Basic BLOCKs and Switch Statements"" section="Basic BLOCKs and Switch Statements" to="perlsyn" type="pod"> - "Basic BLOCKs and Switch Statements" in perlsyn + "Basic BLOCKs and Switch Statements" in perlsyn </L> As another example, this Pod source: @@ -362,7 +362,7 @@ As another example, this Pod source: produces this event structure: <L raw="SWITCH statements|perlsyn/"Basic BLOCKs and Switch Statements"" section="Basic BLOCKs and Switch Statements" to="perlsyn" type="pod"> - SWITCH statements + SWITCH statements </L> Incidentally, note that we do not distinguish between these syntaxes: @@ -375,21 +375,21 @@ Incidentally, note that we do not distinguish between these syntaxes: That is, they all produce the same event structure (for the most part), namely: <L content-implicit="yes" raw="$depends_on_syntax" section="Member Data" type="pod"> - "Member Data" + "Member Data" </L> -The I<raw> attribute depends on what the raw content of the L<> is, so that is -why the event structure is the same "for the most part". +The I<raw> attribute depends on what the raw content of the C<LE<lt>E<gt>> is, +so that is why the event structure is the same "for the most part". If you have not guessed it yet, the I<raw> attribute contains the raw, -original, unescaped content of the L<> formatting code. In addition to the -examples above, take notice of the following event structure produced by -the following L<> formatting code. +original, unescaped content of the C<LE<lt>E<gt>> formatting code. In addition +to the examples above, take notice of the following event structure produced +by the following C<LE<lt>E<gt>> formatting code. L<click B<here>|page/About the C<-M> switch> <L raw="click B<here>|page/About the C<-M> switch" section="About the -M switch" to="page" type="pod"> - click B<here> + click B<here> </L> Specifically, notice that the formatting codes are present and unescaped @@ -411,7 +411,7 @@ When a Pod verbatim paragraph (AKA "codeblock") is parsed, it produces this event structure: <Verbatim start_line="543" xml:space="preserve"> - ...text... + ...text... </Verbatim> The value of the I<start_line> attribute will be the line number of the @@ -427,7 +427,7 @@ When a "=head1 ..." directive is parsed, it produces this event structure: <head1> - ...stuff... + ...stuff... </head1> For example, a directive consisting of this: @@ -437,26 +437,33 @@ For example, a directive consisting of this: will produce this event structure: <head1 start_line="543"> - Options to - <C> - new - </C> - et al. + Options to + <C> + new + </C> + et al. </head1> "=head2" thru "=head4" directives are the same, except for the element names in the event structure. +=item events with an element_name of encoding + +In the default case, the events corresponding to C<=encoding> directives +are not emitted. They are emitted if C<keep_encoding_directive> is true. +In that case they produce event structures like +L</"events with an element_name of head1 .. head4"> above. + =item events with an element_name of over-bullet When an "=over ... Z<>=back" block is parsed where the items are a bulleted list, it will produce this event structure: <over-bullet indent="4" start_line="543"> - <item-bullet start_line="545"> - ...Stuff... - </item-bullet> - ...more item-bullets... + <item-bullet start_line="545"> + ...Stuff... + </item-bullet> + ...more item-bullets... </over-bullet fake-closer="1"> The attribute I<fake-closer> is only present if it is a true value; it is not @@ -509,12 +516,12 @@ For example, this Pod source: produces this event structure: <over-bullet indent="4" start_line="10"> - <item-bullet start_line="12"> - Stuff - </item-bullet> - <item-bullet start_line="14"> - Bar <I>baz</I>! - </item-bullet> + <item-bullet start_line="12"> + Stuff + </item-bullet> + <item-bullet start_line="14"> + Bar <I>baz</I>! + </item-bullet> </over-bullet> =item events with an element_name of over-number @@ -523,10 +530,10 @@ When an "=over ... Z<>=back" block is parsed where the items are a numbered list, it will produce this event structure: <over-number indent="4" start_line="543"> - <item-number number="1" start_line="545"> - ...Stuff... - </item-number> - ...more item-number... + <item-number number="1" start_line="545"> + ...Stuff... + </item-number> + ...more item-number... </over-bullet> This is like the "over-bullet" event structure; but note that the contents @@ -550,12 +557,12 @@ an "=over ... Z<>=back" block is parsed where the items are a list of text "subheadings", it will produce this event structure: <over-text indent="4" start_line="543"> - <item-text> - ...stuff... - </item-text> - ...stuff (generally Para or Verbatim elements)... - <item-text> - ...more item-text and/or stuff... + <item-text> + ...stuff... + </item-text> + ...stuff (generally Para or Verbatim elements)... + <item-text> + ...more item-text and/or stuff... </over-text> The I<indent> and I<fake-closer> attributes are as with the other over-* events. @@ -577,22 +584,22 @@ For example, this Pod source: produces this event structure: <over-text indent="4" start_line="20"> - <item-text start_line="22"> - Foo - </item-text> - <Para start_line="24"> - Stuff - </Para> - <item-text start_line="26"> - Bar - <I> - baz - </I> - ! - </item-text> - <Para start_line="28"> - Quux - </Para> + <item-text start_line="22"> + Foo + </item-text> + <Para start_line="24"> + Stuff + </Para> + <item-text start_line="26"> + Bar + <I> + baz + </I> + ! + </item-text> + <Para start_line="28"> + Quux + </Para> </over-text> @@ -605,7 +612,7 @@ an "=over ... Z<>=back" block is parsed where there are no items, it will produce this event structure: <over-block indent="4" start_line="543"> - ...stuff (generally Para or Verbatim elements)... + ...stuff (generally Para or Verbatim elements)... </over-block> The I<indent> and I<fake-closer> attributes are as with the other over-* events. @@ -628,15 +635,15 @@ For example, this Pod source: will produce this event structure: <over-block indent="4" start_line="2"> - <Para start_line="4"> - For cutting off our trade with all parts of the world - </Para> - <Para start_line="6"> - For transporting us beyond seas to be tried for pretended offenses - </Para> - <Para start_line="8"> - He is at this time transporting large armies of [...more text...] - </Para> + <Para start_line="4"> + For cutting off our trade with all parts of the world + </Para> + <Para start_line="6"> + For transporting us beyond seas to be tried for pretended offenses + </Para> + <Para start_line="8"> + He is at this time transporting large armies of [...more text...] + </Para> </over-block> =item events with an element_name of over-empty @@ -666,12 +673,12 @@ For example, this Pod source: will produce this event structure: <over-block indent="4" start_line="1"> - <over-empty indent="4" start_line="3"> - </over-empty> + <over-empty indent="4" start_line="3"> + </over-empty> </over-block> Note that the outer C<=over> is a block because it has no C<=item>s but still -has content: the inner C<=over>. The inner C<=over>, in turn, is completely +has content: the inner C<=over>. The inner C<=over>, in turn, is completely empty, and is treated as such. =item events with an element_name of item-bullet @@ -714,21 +721,21 @@ the ones described in the I<perlpod>. As the parser sees sections like: - =for html <img src="fig1.jpg"> + =for html <img src="fig1.jpg"> or - =begin html + =begin html - <img src="fig1.jpg"> + <img src="fig1.jpg"> - =end html + =end html ...the parser will ignore these sections unless your subclass has -specified that it wants to see sections targetted to "html" (or whatever +specified that it wants to see sections targeted to "html" (or whatever the formatter name is). -If you want to process all sections, even if they're not targetted for you, +If you want to process all sections, even if they're not targeted for you, call this before you start parsing: $parser->accept_targets('*'); @@ -749,7 +756,7 @@ beyond just the standard ones (I B C L F S X, plus the two weird ones you don't actually see in the parse tree, Z and E). For example, to also accept codes "N", "R", and "W": - $parser->accept_codes( qw( N R W ) ); + $parser->accept_codes( qw( N R W ) ); B<TODO: document how this interacts with =extend, and long element names> @@ -769,11 +776,11 @@ all), or as verbatim (mostly just expanding tabs), or as processed text For example, to accept a new directive "=method", you'd presumably use: - $parser->accept_directive_as_processed("method"); + $parser->accept_directive_as_processed("method"); so that you could have Pod lines like: - =method I<$whatever> thing B<um> + =method I<$whatever> thing B<um> Making up your own directives breaks compatibility with other Pod formatters, in a way that using "=for I<target> ..." lines doesn't; @@ -787,11 +794,11 @@ Setting this attribute to a true value (and by default it is false) will turn "SE<lt>...E<gt>" sequences into sequences of words separated by C<\xA0> (non-breaking space) characters. For example, it will take this: - I like S<Dutch apple pie>, don't you? + I like S<Dutch apple pie>, don't you? and treat it as if it were: - I like DutchE<nbsp>appleE<nbsp>pie, don't you? + I like DutchE<nbsp>appleE<nbsp>pie, don't you? This is handy for output formats that don't have anything quite like an "SE<lt>...E<gt>" code, but which do have a code for non-breaking space. @@ -808,7 +815,7 @@ L<perlpodspec> requires output formats (wherever possible) to note this detail in a comment in the output format. For example, for some kind of SGML output format: - print OUT "<!-- \n", $parser->version_report, "\n -->"; + print OUT "<!-- \n", $parser->version_report, "\n -->"; =item C<< $parser->pod_para_count() >> @@ -829,6 +836,15 @@ ignores any "XE<lt>...E<gt>" sequences in the document being parsed. Many formats don't actually use the content of these codes, so have no reason to process them. +=item C<< $parser->keep_encoding_directive( I<SOMEVALUE> ) >> + +This attribute, when set to a true value (it is false by default) +will keep C<=encoding> and its content in the event structure. Most +formats don't actually need to process the content of an C<=encoding> +directive, even when this directive sets the encoding and the +processor makes use of the encoding information. Indeed, it is +possible to know the encoding without processing the directive +content. =item C<< $parser->merge_text( I<SOMEVALUE> ) >> @@ -837,7 +853,7 @@ makes sure that only one event (or token, or node) will be created for any single contiguous sequence of text. For example, consider this somewhat contrived example: - I just LOVE Z<>hotE<32>apple pie! + I just LOVE Z<>hotE<32>apple pie! When that is parsed and events are about to be called on it, it may actually seem to be four different text events, one right after another: @@ -853,10 +869,10 @@ This specifies code that should be called when a code line is seen that no code should be called. If you provide a routine, it should start out like this: - sub get_code_line { # or whatever you'll call it - my($line, $line_number, $parser) = @_; - ... - } + sub get_code_line { # or whatever you'll call it + my($line, $line_number, $parser) = @_; + ... + } Note, however, that sometimes the Pod events aren't processed in exactly the same order as the code lines are -- i.e., if you have a file with @@ -1011,7 +1027,7 @@ pod-people@perl.org mail list. Send an empty email to pod-people-subscribe@perl.org to subscribe. This module is managed in an open GitHub repository, -L<http://github.com/theory/pod-simple/>. Feel free to fork and contribute, or +L<https://github.com/theory/pod-simple/>. Feel free to fork and contribute, or to clone L<git://github.com/theory/pod-simple.git> and send patches! Patches against Pod::Simple are welcome. Please send bug reports to @@ -1053,5 +1069,3 @@ Yes, L<...> is hard. =cut - - diff --git a/gnu/usr.bin/perl/cpan/Pod-Simple/lib/Pod/Simple/Text.pm b/gnu/usr.bin/perl/cpan/Pod-Simple/lib/Pod/Simple/Text.pm index 3032d0fcd57..bd1a5416df8 100644 --- a/gnu/usr.bin/perl/cpan/Pod-Simple/lib/Pod/Simple/Text.pm +++ b/gnu/usr.bin/perl/cpan/Pod-Simple/lib/Pod/Simple/Text.pm @@ -6,7 +6,7 @@ use Carp (); use Pod::Simple::Methody (); use Pod::Simple (); use vars qw( @ISA $VERSION $FREAKYMODE); -$VERSION = '3.20'; +$VERSION = '3.28'; @ISA = ('Pod::Simple::Methody'); BEGIN { *DEBUG = defined(&Pod::Simple::DEBUG) ? \&Pod::Simple::DEBUG @@ -148,7 +148,7 @@ pod-people@perl.org mail list. Send an empty email to pod-people-subscribe@perl.org to subscribe. This module is managed in an open GitHub repository, -L<http://github.com/theory/pod-simple/>. Feel free to fork and contribute, or +L<https://github.com/theory/pod-simple/>. Feel free to fork and contribute, or to clone L<git://github.com/theory/pod-simple.git> and send patches! Patches against Pod::Simple are welcome. Please send bug reports to diff --git a/gnu/usr.bin/perl/cpan/Pod-Simple/lib/Pod/Simple/TextContent.pm b/gnu/usr.bin/perl/cpan/Pod-Simple/lib/Pod/Simple/TextContent.pm index dea1cde7ccf..6788df6d762 100644 --- a/gnu/usr.bin/perl/cpan/Pod-Simple/lib/Pod/Simple/TextContent.pm +++ b/gnu/usr.bin/perl/cpan/Pod-Simple/lib/Pod/Simple/TextContent.pm @@ -6,7 +6,7 @@ use strict; use Carp (); use Pod::Simple (); use vars qw( @ISA $VERSION ); -$VERSION = '3.20'; +$VERSION = '3.28'; @ISA = ('Pod::Simple'); sub new { @@ -75,7 +75,7 @@ pod-people@perl.org mail list. Send an empty email to pod-people-subscribe@perl.org to subscribe. This module is managed in an open GitHub repository, -L<http://github.com/theory/pod-simple/>. Feel free to fork and contribute, or +L<https://github.com/theory/pod-simple/>. Feel free to fork and contribute, or to clone L<git://github.com/theory/pod-simple.git> and send patches! Patches against Pod::Simple are welcome. Please send bug reports to diff --git a/gnu/usr.bin/perl/cpan/Pod-Simple/lib/Pod/Simple/TiedOutFH.pm b/gnu/usr.bin/perl/cpan/Pod-Simple/lib/Pod/Simple/TiedOutFH.pm index 9f2a224a278..0b2fb2f8c49 100644 --- a/gnu/usr.bin/perl/cpan/Pod-Simple/lib/Pod/Simple/TiedOutFH.pm +++ b/gnu/usr.bin/perl/cpan/Pod-Simple/lib/Pod/Simple/TiedOutFH.pm @@ -4,7 +4,7 @@ package Pod::Simple::TiedOutFH; use Symbol ('gensym'); use Carp (); use vars qw($VERSION ); -$VERSION = '3.20'; +$VERSION = '3.28'; #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/gnu/usr.bin/perl/cpan/Pod-Simple/lib/Pod/Simple/Transcode.pm b/gnu/usr.bin/perl/cpan/Pod-Simple/lib/Pod/Simple/Transcode.pm index 892436db7f0..9e835048a0e 100644 --- a/gnu/usr.bin/perl/cpan/Pod-Simple/lib/Pod/Simple/Transcode.pm +++ b/gnu/usr.bin/perl/cpan/Pod-Simple/lib/Pod/Simple/Transcode.pm @@ -2,7 +2,7 @@ require 5; package Pod::Simple::Transcode; use vars qw($VERSION ); -$VERSION = '3.20'; +$VERSION = '3.28'; BEGIN { if(defined &DEBUG) {;} # Okay diff --git a/gnu/usr.bin/perl/cpan/Pod-Simple/lib/Pod/Simple/TranscodeDumb.pm b/gnu/usr.bin/perl/cpan/Pod-Simple/lib/Pod/Simple/TranscodeDumb.pm index 33030903430..4749e9af198 100644 --- a/gnu/usr.bin/perl/cpan/Pod-Simple/lib/Pod/Simple/TranscodeDumb.pm +++ b/gnu/usr.bin/perl/cpan/Pod-Simple/lib/Pod/Simple/TranscodeDumb.pm @@ -5,7 +5,7 @@ require 5; package Pod::Simple::TranscodeDumb; use strict; use vars qw($VERSION %Supported); -$VERSION = '3.20'; +$VERSION = '3.28'; # This module basically pretends it knows how to transcode, except # only for null-transcodings! We use this when Encode isn't # available. diff --git a/gnu/usr.bin/perl/cpan/Pod-Simple/lib/Pod/Simple/TranscodeSmart.pm b/gnu/usr.bin/perl/cpan/Pod-Simple/lib/Pod/Simple/TranscodeSmart.pm index a66dedd03bc..06fdb9f2750 100644 --- a/gnu/usr.bin/perl/cpan/Pod-Simple/lib/Pod/Simple/TranscodeSmart.pm +++ b/gnu/usr.bin/perl/cpan/Pod-Simple/lib/Pod/Simple/TranscodeSmart.pm @@ -9,7 +9,7 @@ use strict; use Pod::Simple; require Encode; use vars qw($VERSION ); -$VERSION = '3.20'; +$VERSION = '3.28'; sub is_dumb {0} sub is_smart {1} @@ -27,12 +27,12 @@ sub encmodver { } sub make_transcoder { - my($e) = $_[1]; + my $e = Encode::find_encoding($_[1]); die "WHAT ENCODING!?!?" unless $e; my $x; return sub { foreach $x (@_) { - $x = Encode::decode($e, $x); + $x = $e->decode($x) unless Encode::is_utf8($x); } return; }; diff --git a/gnu/usr.bin/perl/cpan/Pod-Simple/lib/Pod/Simple/XHTML.pm b/gnu/usr.bin/perl/cpan/Pod-Simple/lib/Pod/Simple/XHTML.pm index 9d31db0badd..df896e64a7c 100644 --- a/gnu/usr.bin/perl/cpan/Pod-Simple/lib/Pod/Simple/XHTML.pm +++ b/gnu/usr.bin/perl/cpan/Pod-Simple/lib/Pod/Simple/XHTML.pm @@ -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.20'; +$VERSION = '3.28'; use Pod::Simple::Methody (); @ISA = ('Pod::Simple::Methody'); @@ -151,7 +151,7 @@ Add additional meta tags here, or blocks of inline CSS or JavaScript A string containing all characters that should be encoded as HTML entities, specified using the regular expression character class syntax (what you find within brackets in regular expressions). This value will be passed as the -second argument to the C<encode_entities> fuction of L<HTML::Entities>. IF +second argument to the C<encode_entities> function of L<HTML::Entities>. If L<HTML::Entities> is not installed, then any characters other than C<&<>"'> will be encoded numerically. @@ -251,7 +251,6 @@ sub new { $new->man_url_prefix('http://man.he.net/man'); $new->html_charset('ISO-8859-1'); $new->nix_X_codes(1); - $new->codes_in_verbatim(1); $new->{'scratch'} = ''; $new->{'to_index'} = []; $new->{'output'} = []; @@ -301,11 +300,27 @@ something like: my ($self, $text) = @_; if ($self->{'in_foo'}) { $self->{'scratch'} .= build_foo_html($text); - } else { - $self->{'scratch'} .= $text; + return; } + $self->SUPER::handle_text($text); } +=head2 handle_code + +This method handles the body of text that is marked up to be code. +You might for instance override this to plug in a syntax highlighter. +The base implementation just escapes the text. + +The callback methods C<start_code> and C<end_code> emits the C<code> tags +before and after C<handle_code> is invoked, so you might want to override these +together with C<handle_code> if this wrapping isn't suiteable. + +Note that the code might be broken into mulitple segments if there are +nested formatting codes inside a C<< CE<lt>...> >> sequence. In between the +calls to C<handle_code> other markup tags might have been emitted in that +case. The same is true for verbatim sections if the C<codes_in_verbatim> +option is turned on. + =head2 accept_targets_as_html This method behaves like C<accept_targets_as_text>, but also marks the region @@ -328,18 +343,47 @@ sub accept_targets_as_html { sub handle_text { # escape special characters in HTML (<, >, &, etc) - $_[0]{'scratch'} .= $_[0]->__in_literal_xhtml_region - ? $_[1] - : $_[0]->encode_entities( $_[1] ); + my $text = $_[0]->__in_literal_xhtml_region + ? $_[1] + : $_[0]->encode_entities( $_[1] ); + + if ($_[0]{'in_code'} && @{$_[0]{'in_code'}}) { + # Intentionally use the raw text in $_[1], even if we're not in a + # literal xhtml region, since handle_code calls encode_entities. + $_[0]->handle_code( $_[1], $_[0]{'in_code'}[-1] ); + } else { + $_[0]{'scratch'} .= $text; + } + + $_[0]{htext} .= $text if $_[0]{'in_head'}; } -sub start_Para { $_[0]{'scratch'} = '<p>' } -sub start_Verbatim { $_[0]{'scratch'} = '<pre><code>' } +sub start_code { + $_[0]{'scratch'} .= '<code>'; +} -sub start_head1 { $_[0]{'in_head'} = 1 } -sub start_head2 { $_[0]{'in_head'} = 2 } -sub start_head3 { $_[0]{'in_head'} = 3 } -sub start_head4 { $_[0]{'in_head'} = 4 } +sub end_code { + $_[0]{'scratch'} .= '</code>'; +} + +sub handle_code { + $_[0]{'scratch'} .= $_[0]->encode_entities( $_[1] ); +} + +sub start_Para { + $_[0]{'scratch'} = '<p>'; +} + +sub start_Verbatim { + $_[0]{'scratch'} = '<pre>'; + push(@{$_[0]{'in_code'}}, 'Verbatim'); + $_[0]->start_code($_[0]{'in_code'}[-1]); +} + +sub start_head1 { $_[0]{'in_head'} = 1; $_[0]{htext} = ''; } +sub start_head2 { $_[0]{'in_head'} = 2; $_[0]{htext} = ''; } +sub start_head3 { $_[0]{'in_head'} = 3; $_[0]{htext} = ''; } +sub start_head4 { $_[0]{'in_head'} = 4; $_[0]{htext} = ''; } sub start_item_number { $_[0]{'scratch'} = "</li>\n" if ($_[0]{'in_li'}->[-1] && pop @{$_[0]{'in_li'}}); @@ -397,7 +441,8 @@ sub end_over_text { sub end_Para { $_[0]{'scratch'} .= '</p>'; $_[0]->emit } sub end_Verbatim { - $_[0]{'scratch'} .= '</code></pre>'; + $_[0]->end_code(pop(@{$_[0]->{'in_code'}})); + $_[0]{'scratch'} .= '</pre>'; $_[0]->emit; } @@ -408,14 +453,14 @@ sub _end_head { $add = 1 unless defined $add; $h += $add - 1; - my $id = $_[0]->idify($_[0]{scratch}); + my $id = $_[0]->idify($_[0]{htext}); my $text = $_[0]{scratch}; - $_[0]{'scratch'} = $_[0]->backlink && ($h - $add == 0) + $_[0]{'scratch'} = $_[0]->backlink && ($h - $add == 0) # backlinks enabled && =head1 ? qq{<a href="#_podtop_"><h$h id="$id">$text</h$h></a>} : qq{<h$h id="$id">$text</h$h>}; $_[0]->emit; - push @{ $_[0]{'to_index'} }, [$h, $id, $text]; + push @{ $_[0]{'to_index'} }, [$h, $id, delete $_[0]{'htext'}]; } sub end_head1 { shift->_end_head(@_); } @@ -568,8 +613,8 @@ sub end_Document { sub start_B { $_[0]{'scratch'} .= '<b>' } sub end_B { $_[0]{'scratch'} .= '</b>' } -sub start_C { $_[0]{'scratch'} .= '<code>' } -sub end_C { $_[0]{'scratch'} .= '</code>' } +sub start_C { push(@{$_[0]{'in_code'}}, 'C'); $_[0]->start_code($_[0]{'in_code'}[-1]); } +sub end_C { $_[0]->end_code(pop(@{$_[0]{'in_code'}})); } sub start_F { $_[0]{'scratch'} .= '<i>' } sub end_F { $_[0]{'scratch'} .= '</i>' } @@ -692,6 +737,11 @@ underscores (_), colons (:), and periods (.). =item * +The final character can't be a hyphen, colon, or period. URLs ending with these +characters, while allowed by XHTML, can be awkward to extract from plain text. + +=item * + Each id must be unique within the document. =back @@ -713,6 +763,7 @@ sub idify { s/^([^a-zA-Z]+)$/pod$1/; # Prepend "pod" if no valid chars. s/^[^a-zA-Z]+//; # First char must be a letter. s/[^-a-zA-Z0-9_:.]+/-/g; # All other chars must be valid. + s/[-:.]+$//; # Strip trailing punctuation. } return $t if $not_unique; my $i = ''; @@ -757,7 +808,7 @@ pod-people@perl.org mail list. Send an empty email to pod-people-subscribe@perl.org to subscribe. This module is managed in an open GitHub repository, -L<http://github.com/theory/pod-simple/>. Feel free to fork and contribute, or +L<https://github.com/theory/pod-simple/>. Feel free to fork and contribute, or to clone L<git://github.com/theory/pod-simple.git> and send patches! Patches against Pod::Simple are welcome. Please send bug reports to diff --git a/gnu/usr.bin/perl/cpan/Pod-Simple/lib/Pod/Simple/XMLOutStream.pm b/gnu/usr.bin/perl/cpan/Pod-Simple/lib/Pod/Simple/XMLOutStream.pm index bbb815a5527..47496e2577f 100644 --- a/gnu/usr.bin/perl/cpan/Pod-Simple/lib/Pod/Simple/XMLOutStream.pm +++ b/gnu/usr.bin/perl/cpan/Pod-Simple/lib/Pod/Simple/XMLOutStream.pm @@ -5,7 +5,7 @@ use strict; use Carp (); use Pod::Simple (); use vars qw( $ATTR_PAD @ISA $VERSION $SORT_ATTRS); -$VERSION = '3.20'; +$VERSION = '3.28'; BEGIN { @ISA = ('Pod::Simple'); *DEBUG = \&Pod::Simple::DEBUG unless defined &DEBUG; @@ -20,6 +20,7 @@ sub new { my $self = shift; my $new = $self->SUPER::new(@_); $new->{'output_fh'} ||= *STDOUT{IO}; + $new->keep_encoding_directive(1); #$new->accept_codes('VerbatimFormatted'); return $new; } @@ -148,7 +149,7 @@ pod-people@perl.org mail list. Send an empty email to pod-people-subscribe@perl.org to subscribe. This module is managed in an open GitHub repository, -L<http://github.com/theory/pod-simple/>. Feel free to fork and contribute, or +L<https://github.com/theory/pod-simple/>. Feel free to fork and contribute, or to clone L<git://github.com/theory/pod-simple.git> and send patches! Patches against Pod::Simple are welcome. Please send bug reports to diff --git a/gnu/usr.bin/perl/cpan/Pod-Simple/t/closeys.t b/gnu/usr.bin/perl/cpan/Pod-Simple/t/closeys.t index 683ce13ff38..7e2b3f85e9e 100755 --- a/gnu/usr.bin/perl/cpan/Pod-Simple/t/closeys.t +++ b/gnu/usr.bin/perl/cpan/Pod-Simple/t/closeys.t @@ -25,6 +25,7 @@ sub nowhine { $_[0]->accept_targets("*"); } +local $Pod::Simple::XMLOutStream::SORT_ATTRS = 1; &ok(e( "=begin :foo\n\n=begin :bar\n\nZaz\n\n", "=begin :foo\n\n=begin :bar\n\nZaz\n\n=end :bar\n\n=end :foo\n\n", diff --git a/gnu/usr.bin/perl/cpan/Pod-Simple/t/corpus.t b/gnu/usr.bin/perl/cpan/Pod-Simple/t/corpus.t index 3427b915e12..2f59302cfbd 100755 --- a/gnu/usr.bin/perl/cpan/Pod-Simple/t/corpus.t +++ b/gnu/usr.bin/perl/cpan/Pod-Simple/t/corpus.t @@ -168,6 +168,7 @@ foreach my $f (@testfiles) { skip $skippy, 0; } else { print "# $outfilename and $xml don't match!\n"; + print STDERR `diff -u $xml $outfilename`; ok 0; } diff --git a/gnu/usr.bin/perl/cpan/Pod-Simple/t/corpus/2202jp.xml b/gnu/usr.bin/perl/cpan/Pod-Simple/t/corpus/2202jp.xml index e0304954d4b..b020db0c5d3 100644 --- a/gnu/usr.bin/perl/cpan/Pod-Simple/t/corpus/2202jp.xml +++ b/gnu/usr.bin/perl/cpan/Pod-Simple/t/corpus/2202jp.xml @@ -8,13 +8,15 @@ <head1 start_line="7"> DESCRIPTION </head1> + <encoding start_line="9"> + iso-2022-jp + </encoding> <Para start_line="11"> - This is a test Pod document in ISO-2202-JP. Its content - is some Japanese haiku by famous poets. + This is a test Pod document in ISO-2202-JP. Its content is some Japanese + haiku by famous poets. </Para> <head2 start_line="15"> - MATSUO BASHO (松尾芭蕉 1644 - 1694) - : + MATSUO BASHO (松尾芭蕉 1644 - 1694) : </head2> <Para start_line="17"> 古池や蛙とび込む水の音 @@ -26,7 +28,8 @@ As verbatim: </Para> <VerbatimFormatted start_line="23" xml:space="preserve"> - 古池や蛙とび込む水の音 + + 古池や蛙とび込む水の音 </VerbatimFormatted> <head2 start_line="27"> YOSA BUSON (与謝蕪村1716 - 1783) @@ -41,7 +44,8 @@ As verbatim: </Para> <VerbatimFormatted start_line="35" xml:space="preserve"> - 方八里雨雲よせぬ牡丹かな + + 方八里雨雲よせぬ牡丹かな </VerbatimFormatted> <head2 start_line="37"> MASAOKA SHIKI (正岡子規 1867 - 1902) @@ -56,7 +60,8 @@ As verbatim: </Para> <VerbatimFormatted start_line="45" xml:space="preserve"> - いちはつの一輪白し春の暮 + + いちはつの一輪白し春の暮 </VerbatimFormatted> <Para start_line="47"> 余命いくばくかある夜短し @@ -65,15 +70,15 @@ (yomei / ikubakuka aru / yo mijikashi) </Para> <VerbatimFormatted start_line="51" xml:space="preserve"> - 余命いくばくかある夜短し + + 余命いくばくかある夜短し </VerbatimFormatted> <head1 start_line="53"> AS A LIST </head1> <over-text indent="4" start_line="55"> <item-text start_line="57"> - MATSUO BASHO (松尾芭蕉 1644 - 1694) - : + MATSUO BASHO (松尾芭蕉 1644 - 1694) : </item-text> <Para start_line="59"> 古池や蛙とび込む水の音 @@ -85,7 +90,8 @@ As verbatim: </Para> <VerbatimFormatted start_line="65" xml:space="preserve"> - 古池や蛙とび込む水の音 + + 古池や蛙とび込む水の音 </VerbatimFormatted> <item-text start_line="69"> YOSA BUSON (与謝蕪村1716 - 1783) @@ -100,7 +106,8 @@ As verbatim: </Para> <VerbatimFormatted start_line="77" xml:space="preserve"> - 方八里雨雲よせぬ牡丹かな + + 方八里雨雲よせぬ牡丹かな </VerbatimFormatted> <item-text start_line="79"> MASAOKA SHIKI (正岡子規 1867 - 1902) @@ -115,7 +122,8 @@ As verbatim: </Para> <VerbatimFormatted start_line="87" xml:space="preserve"> - いちはつの一輪白し春の暮 + + いちはつの一輪白し春の暮 </VerbatimFormatted> <Para start_line="89"> 余命いくばくかある夜短し @@ -124,7 +132,8 @@ (yomei / ikubakuka aru / yo mijikashi) </Para> <VerbatimFormatted start_line="93" xml:space="preserve"> - 余命いくばくかある夜短し + + 余命いくばくかある夜短し </VerbatimFormatted> </over-text> <Para start_line="97"> diff --git a/gnu/usr.bin/perl/cpan/Pod-Simple/t/corpus/2202jpx.xml b/gnu/usr.bin/perl/cpan/Pod-Simple/t/corpus/2202jpx.xml index 57cb4ceadca..69e45f0f64a 100644 --- a/gnu/usr.bin/perl/cpan/Pod-Simple/t/corpus/2202jpx.xml +++ b/gnu/usr.bin/perl/cpan/Pod-Simple/t/corpus/2202jpx.xml @@ -8,13 +8,15 @@ <head1 start_line="7"> DESCRIPTION </head1> + <encoding start_line="9"> + iso-2022-jp + </encoding> <Para start_line="11"> - This is a test Pod document in ISO-2202-JP. Its content - is some Japanese haiku by famous poets. + This is a test Pod document in ISO-2202-JP. Its content is some Japanese + haiku by famous poets. </Para> <head2 start_line="15"> - MATSUO BASHO (松尾芭蕉 1644 - 1694) - : + MATSUO BASHO (松尾芭蕉 1644 - 1694) : </head2> <Para start_line="17"> 古池や蛙とび込む水の音 @@ -26,7 +28,8 @@ As verbatim: </Para> <VerbatimFormatted start_line="23" xml:space="preserve"> - 古池や蛙とび込む水の音 + + 古池や蛙とび込む水の音 </VerbatimFormatted> <head2 start_line="27"> YOSA BUSON (与謝蕪村1716 - 1783) @@ -41,7 +44,8 @@ As verbatim: </Para> <VerbatimFormatted start_line="35" xml:space="preserve"> - 方八里雨雲よせぬ牡丹かな + + 方八里雨雲よせぬ牡丹かな </VerbatimFormatted> <head2 start_line="37"> MASAOKA SHIKI (正岡子規 1867 - 1902) @@ -56,7 +60,8 @@ As verbatim: </Para> <VerbatimFormatted start_line="45" xml:space="preserve"> - いちはつの一輪白し春の暮 + + いちはつの一輪白し春の暮 </VerbatimFormatted> <Para start_line="47"> 余命いくばくかある夜短し @@ -65,15 +70,15 @@ (yomei / ikubakuka aru / yo mijikashi) </Para> <VerbatimFormatted start_line="51" xml:space="preserve"> - 余命いくばくかある夜短し + + 余命いくばくかある夜短し </VerbatimFormatted> <head1 start_line="53"> AS A LIST </head1> <over-text indent="4" start_line="55"> <item-text start_line="57"> - MATSUO BASHO (松尾芭蕉 1644 - 1694) - : + MATSUO BASHO (松尾芭蕉 1644 - 1694) : </item-text> <Para start_line="59"> 古池や蛙とび込む水の音 @@ -85,7 +90,8 @@ As verbatim: </Para> <VerbatimFormatted start_line="65" xml:space="preserve"> - 古池や蛙とび込む水の音 + + 古池や蛙とび込む水の音 </VerbatimFormatted> <item-text start_line="69"> YOSA BUSON (与謝蕪村1716 - 1783) @@ -100,7 +106,8 @@ As verbatim: </Para> <VerbatimFormatted start_line="77" xml:space="preserve"> - 方八里雨雲よせぬ牡丹かな + + 方八里雨雲よせぬ牡丹かな </VerbatimFormatted> <item-text start_line="79"> MASAOKA SHIKI (正岡子規 1867 - 1902) @@ -115,7 +122,8 @@ As verbatim: </Para> <VerbatimFormatted start_line="87" xml:space="preserve"> - いちはつの一輪白し春の暮 + + いちはつの一輪白し春の暮 </VerbatimFormatted> <Para start_line="89"> 余命いくばくかある夜短し @@ -124,7 +132,8 @@ (yomei / ikubakuka aru / yo mijikashi) </Para> <VerbatimFormatted start_line="93" xml:space="preserve"> - 余命いくばくかある夜短し + + 余命いくばくかある夜短し </VerbatimFormatted> </over-text> <Para start_line="97"> diff --git a/gnu/usr.bin/perl/cpan/Pod-Simple/t/corpus/2202jpy.xml b/gnu/usr.bin/perl/cpan/Pod-Simple/t/corpus/2202jpy.xml index 23d51e1ebbc..a8e322dbd58 100644 --- a/gnu/usr.bin/perl/cpan/Pod-Simple/t/corpus/2202jpy.xml +++ b/gnu/usr.bin/perl/cpan/Pod-Simple/t/corpus/2202jpy.xml @@ -8,13 +8,15 @@ <head1 start_line="6"> DESCRIPTION </head1> + <encoding start_line="8"> + iso-2022-jp + </encoding> <Para start_line="10"> - This is a test Pod document in ISO-2202-JP. Its content - is some Japanese haiku by famous poets. + This is a test Pod document in ISO-2202-JP. Its content is some Japanese + haiku by famous poets. </Para> <head2 start_line="14"> - MATSUO BASHO (松尾芭蕉 1644 - 1694) - : + MATSUO BASHO (松尾芭蕉 1644 - 1694) : </head2> <Para start_line="16"> 古池や蛙とび込む水の音 @@ -26,7 +28,8 @@ As verbatim: </Para> <VerbatimFormatted start_line="22" xml:space="preserve"> - 古池や蛙とび込む水の音 + + 古池や蛙とび込む水の音 </VerbatimFormatted> <head2 start_line="26"> YOSA BUSON (与謝蕪村1716 - 1783) @@ -41,7 +44,8 @@ As verbatim: </Para> <VerbatimFormatted start_line="34" xml:space="preserve"> - 方八里雨雲よせぬ牡丹かな + + 方八里雨雲よせぬ牡丹かな </VerbatimFormatted> <head2 start_line="36"> MASAOKA SHIKI (正岡子規 1867 - 1902) @@ -56,7 +60,8 @@ As verbatim: </Para> <VerbatimFormatted start_line="44" xml:space="preserve"> - いちはつの一輪白し春の暮 + + いちはつの一輪白し春の暮 </VerbatimFormatted> <Para start_line="46"> 余命いくばくかある夜短し @@ -65,15 +70,15 @@ (yomei / ikubakuka aru / yo mijikashi) </Para> <VerbatimFormatted start_line="50" xml:space="preserve"> - 余命いくばくかある夜短し + + 余命いくばくかある夜短し </VerbatimFormatted> <head1 start_line="52"> AS A LIST </head1> <over-text indent="4" start_line="54"> <item-text start_line="56"> - MATSUO BASHO (松尾芭蕉 1644 - 1694) - : + MATSUO BASHO (松尾芭蕉 1644 - 1694) : </item-text> <Para start_line="58"> 古池や蛙とび込む水の音 @@ -85,7 +90,8 @@ As verbatim: </Para> <VerbatimFormatted start_line="64" xml:space="preserve"> - 古池や蛙とび込む水の音 + + 古池や蛙とび込む水の音 </VerbatimFormatted> <item-text start_line="68"> YOSA BUSON (与謝蕪村1716 - 1783) @@ -100,7 +106,8 @@ As verbatim: </Para> <VerbatimFormatted start_line="76" xml:space="preserve"> - 方八里雨雲よせぬ牡丹かな + + 方八里雨雲よせぬ牡丹かな </VerbatimFormatted> <item-text start_line="78"> MASAOKA SHIKI (正岡子規 1867 - 1902) @@ -115,7 +122,8 @@ As verbatim: </Para> <VerbatimFormatted start_line="86" xml:space="preserve"> - いちはつの一輪白し春の暮 + + いちはつの一輪白し春の暮 </VerbatimFormatted> <Para start_line="88"> 余命いくばくかある夜短し @@ -124,7 +132,8 @@ (yomei / ikubakuka aru / yo mijikashi) </Para> <VerbatimFormatted start_line="92" xml:space="preserve"> - 余命いくばくかある夜短し + + 余命いくばくかある夜短し </VerbatimFormatted> </over-text> <Para start_line="96"> diff --git a/gnu/usr.bin/perl/cpan/Pod-Simple/t/corpus/2202jpz.xml b/gnu/usr.bin/perl/cpan/Pod-Simple/t/corpus/2202jpz.xml index 734ed6f5d81..8fe1bb00dfc 100644 --- a/gnu/usr.bin/perl/cpan/Pod-Simple/t/corpus/2202jpz.xml +++ b/gnu/usr.bin/perl/cpan/Pod-Simple/t/corpus/2202jpz.xml @@ -8,6 +8,9 @@ <head1 start_line="6"> DESCRIPTION </head1> + <encoding start_line="8"> + iso-2022-jp + </encoding> <Para start_line="10"> This is a test Pod document in ISO-2202-JP. </Para> diff --git a/gnu/usr.bin/perl/cpan/Pod-Simple/t/corpus/8859_7.xml b/gnu/usr.bin/perl/cpan/Pod-Simple/t/corpus/8859_7.xml index ffbf0d08556..3760803bcf5 100644 --- a/gnu/usr.bin/perl/cpan/Pod-Simple/t/corpus/8859_7.xml +++ b/gnu/usr.bin/perl/cpan/Pod-Simple/t/corpus/8859_7.xml @@ -1,4 +1,7 @@ <Document start_line="2"> + <encoding start_line="2"> + iso-8859-7 + </encoding> <head1 start_line="4"> NAME </head1> @@ -12,31 +15,37 @@ </head1> <Para start_line="10"> Αρχαίο Πνεύμ' - αθάνατον, αγνέ - πατέρα του - ωραίου, του - μεγάλου και - τ' αληθινού, + αθάνατον, + αγνέ πατέρα + του ωραίου, + του μεγάλου + και τ' + αληθινού, </Para> <Para start_line="13"> - κατέβα, φανερώσου - κι άστραψ' εδώ + κατέβα, + φανερώσου κι + άστραψ' εδώ πέρα στη δόξα της δικής σου - γης και τ' ουρανού. + γης και τ' + ουρανού. </Para> <Para start_line="16"> Στο δρόμο και στο πάλεμα - και στο λιθάρι, - στων ευγενών + και στο + λιθάρι, στων + ευγενών Αγώνων λάμψε την ορμή, </Para> <Para start_line="19"> - και με τ' αμάραντο - στεφάνωσε κλωνάρι - και σιδερένιο + και με τ' + αμάραντο + στεφάνωσε + κλωνάρι και + σιδερένιο πλάσε κι άξιο το κορμί. </Para> @@ -49,11 +58,12 @@ μέγας ναός, </Para> <Para start_line="25"> - και τρέχει - στο ναό εδώ + και τρέχει στο + ναό εδώ προσκυνητής σου. Αρχαίο - Πνεύμ' αθάνατο, - κάθε λαός. + Πνεύμ' + αθάνατο, κάθε + λαός. </Para> </Document> diff --git a/gnu/usr.bin/perl/cpan/Pod-Simple/t/corpus/cp1256.xml b/gnu/usr.bin/perl/cpan/Pod-Simple/t/corpus/cp1256.xml index deacfd6c85b..b0960114380 100644 --- a/gnu/usr.bin/perl/cpan/Pod-Simple/t/corpus/cp1256.xml +++ b/gnu/usr.bin/perl/cpan/Pod-Simple/t/corpus/cp1256.xml @@ -9,33 +9,40 @@ DESCRIPTION </head1> <Para start_line="8"> - This Pod document is a paragraph in Arabic from "The - Five Pillars of Islam" as CP-1256. + This Pod document is a paragraph in Arabic from "The Five Pillars of + Islam" as CP-1256. </Para> + <encoding start_line="11"> + cp1256 + </encoding> <Para start_line="13"> - وعن عمارة - بن حزم قال - قال رسول الله - صلى الله عليه - وسلم: + وعن عمارة بن + حزم قال قال + رسول الله + صلى الله + عليه وسلم: </Para> <Para start_line="15"> اربع فرضهن الله عز وجل في الاسلام - فمن جاء بثلاث - لم يغنين عنه + فمن جاء + بثلاث لم + يغنين عنه </Para> <Para start_line="17"> - شيئا حتى يأتي - بهن جميعا - الصلاة والزكاة + شيئا حتى + يأتي بهن + جميعا + الصلاة + والزكاة وصيام رمضان وحج </Para> <Para start_line="19"> البيت. رواه - احمد والطبراني + احمد + والطبراني في الكبير وفي اسناده ابن لهيعة. @@ -44,18 +51,22 @@ And now as a real single paragraph: </Para> <Para start_line="23"> - وعن عمارة - بن حزم قال - قال رسول الله - صلى الله عليه - وسلم: اربع - فرضهن الله - عز وجل في الاسلام - فمن جاء بثلاث - لم يغنين عنه - شيئا حتى يأتي - بهن جميعا - الصلاة والزكاة + وعن عمارة بن + حزم قال قال + رسول الله + صلى الله + عليه وسلم: + اربع فرضهن + الله عز وجل + في الاسلام + فمن جاء + بثلاث لم + يغنين عنه + شيئا حتى + يأتي بهن + جميعا + الصلاة + والزكاة وصيام رمضان وحج البيت. رواه احمد @@ -68,26 +79,27 @@ And now as a verbatim paragraph: </Para> <VerbatimFormatted start_line="30" xml:space="preserve"> - وعن عمارة - بن حزم قال - قال رسول الله - صلى الله عليه - وسلم: - + وعن عمارة بن + حزم قال قال + رسول الله + صلى الله + عليه وسلم: اربع فرضهن الله عز وجل في الاسلام - فمن جاء بثلاث - لم يغنين عنه - - شيئا حتى يأتي - بهن جميعا - الصلاة والزكاة + فمن جاء + بثلاث لم + يغنين عنه + شيئا حتى + يأتي بهن + جميعا + الصلاة + والزكاة وصيام رمضان وحج - البيت. رواه - احمد والطبراني + احمد + والطبراني في الكبير وفي اسناده ابن لهيعة. diff --git a/gnu/usr.bin/perl/cpan/Pod-Simple/t/corpus/encwarn01.txt b/gnu/usr.bin/perl/cpan/Pod-Simple/t/corpus/encwarn01.txt new file mode 100644 index 00000000000..550b9c23d89 --- /dev/null +++ b/gnu/usr.bin/perl/cpan/Pod-Simple/t/corpus/encwarn01.txt @@ -0,0 +1,11 @@ + +=head1 NAME + +Encoding Warning 1 - implicitly Latin-1 + +=head2 DESCRIPTION + +This line should warn that the word café contains a non-ASCII character. + +But château should not generate a warning - once is enough. + diff --git a/gnu/usr.bin/perl/cpan/Pod-Simple/t/corpus/encwarn01.xml b/gnu/usr.bin/perl/cpan/Pod-Simple/t/corpus/encwarn01.xml new file mode 100644 index 00000000000..d64d56f55b0 --- /dev/null +++ b/gnu/usr.bin/perl/cpan/Pod-Simple/t/corpus/encwarn01.xml @@ -0,0 +1,36 @@ +<Document start_line="2"> + <head1 start_line="2"> + NAME + </head1> + <Para start_line="4"> + Encoding Warning 1 - implicitly Latin-1 + </Para> + <head2 start_line="6"> + DESCRIPTION + </head2> + <Para start_line="8"> + This line should warn that the word café contains a non-ASCII + character. + </Para> + <Para start_line="10"> + But château should not generate a warning - once is enough. + </Para> + <head1 errata="1" start_line="-321"> + POD ERRORS + </head1> + <Para errata="1" start_line="-321"> + Hey! + <B> + The above document had some coding errors, which are explained below: + </B> + </Para> + <over-text errata="1" indent="4" start_line="-321"> + <item-text start_line="-321"> + Around line 8: + </item-text> + <Para start_line="-321"> + Non-ASCII character seen before =encoding in 'café'. Assuming + ISO8859-1 + </Para> + </over-text> +</Document> diff --git a/gnu/usr.bin/perl/cpan/Pod-Simple/t/corpus/encwarn02.txt b/gnu/usr.bin/perl/cpan/Pod-Simple/t/corpus/encwarn02.txt new file mode 100644 index 00000000000..fb1052b6c81 --- /dev/null +++ b/gnu/usr.bin/perl/cpan/Pod-Simple/t/corpus/encwarn02.txt @@ -0,0 +1,11 @@ + +=head1 NAME + +Encoding Warning 1 - implicitly UTF-8 + +=head2 DESCRIPTION + +This line should warn that the price €9.99 contains a non-ASCII character. + +But château should not generate a warning - once is enough. + diff --git a/gnu/usr.bin/perl/cpan/Pod-Simple/t/corpus/encwarn02.xml b/gnu/usr.bin/perl/cpan/Pod-Simple/t/corpus/encwarn02.xml new file mode 100644 index 00000000000..02eeba37c9b --- /dev/null +++ b/gnu/usr.bin/perl/cpan/Pod-Simple/t/corpus/encwarn02.xml @@ -0,0 +1,36 @@ +<Document start_line="2"> + <head1 start_line="2"> + NAME + </head1> + <Para start_line="4"> + Encoding Warning 1 - implicitly UTF-8 + </Para> + <head2 start_line="6"> + DESCRIPTION + </head2> + <Para start_line="8"> + This line should warn that the price €9.99 contains a non-ASCII + character. + </Para> + <Para start_line="10"> + But château should not generate a warning - once is enough. + </Para> + <head1 errata="1" start_line="-321"> + POD ERRORS + </head1> + <Para errata="1" start_line="-321"> + Hey! + <B> + The above document had some coding errors, which are explained below: + </B> + </Para> + <over-text errata="1" indent="4" start_line="-321"> + <item-text start_line="-321"> + Around line 8: + </item-text> + <Para start_line="-321"> + Non-ASCII character seen before =encoding in '€9.99'. + Assuming UTF-8 + </Para> + </over-text> +</Document> diff --git a/gnu/usr.bin/perl/cpan/Pod-Simple/t/corpus/encwarn03.txt b/gnu/usr.bin/perl/cpan/Pod-Simple/t/corpus/encwarn03.txt new file mode 100644 index 00000000000..e3e8b94734f --- /dev/null +++ b/gnu/usr.bin/perl/cpan/Pod-Simple/t/corpus/encwarn03.txt @@ -0,0 +1,12 @@ +package MyPackage; + +use strict; + +# Comment here contains Äccénted characters but should not generate any +# parse warning since they do not occur in a POD section + +sub main { + print "This file contains no POD\n"; +} + +1; diff --git a/gnu/usr.bin/perl/cpan/Pod-Simple/t/corpus/encwarn03.xml b/gnu/usr.bin/perl/cpan/Pod-Simple/t/corpus/encwarn03.xml new file mode 100644 index 00000000000..7b4e3ed547c --- /dev/null +++ b/gnu/usr.bin/perl/cpan/Pod-Simple/t/corpus/encwarn03.xml @@ -0,0 +1,2 @@ +<Document contentless="1" start_line="12"> +</Document> diff --git a/gnu/usr.bin/perl/cpan/Pod-Simple/t/corpus/encwarn04.txt b/gnu/usr.bin/perl/cpan/Pod-Simple/t/corpus/encwarn04.txt new file mode 100644 index 00000000000..8b0ff5dc308 --- /dev/null +++ b/gnu/usr.bin/perl/cpan/Pod-Simple/t/corpus/encwarn04.txt @@ -0,0 +1,17 @@ +package MyPackage; + +use strict; + +# Checking encoding warning is generated even on first line of POD + +sub main { + print "This file contains no POD\n"; +} + +1; + +=head1 TŨTORIAL + +The encoding warning should only fire when the parser is 'in_pod' but that +should also be true on the first line of POD (above). + diff --git a/gnu/usr.bin/perl/cpan/Pod-Simple/t/corpus/encwarn04.xml b/gnu/usr.bin/perl/cpan/Pod-Simple/t/corpus/encwarn04.xml new file mode 100644 index 00000000000..9e849c1b8ab --- /dev/null +++ b/gnu/usr.bin/perl/cpan/Pod-Simple/t/corpus/encwarn04.xml @@ -0,0 +1,27 @@ +<Document start_line="13"> + <head1 start_line="13"> + TŨTORIAL + </head1> + <Para start_line="15"> + The encoding warning should only fire when the parser is 'in_pod' + but that should also be true on the first line of POD (above). + </Para> + <head1 errata="1" start_line="-321"> + POD ERRORS + </head1> + <Para errata="1" start_line="-321"> + Hey! + <B> + The above document had some coding errors, which are explained below: + </B> + </Para> + <over-text errata="1" indent="4" start_line="-321"> + <item-text start_line="-321"> + Around line 13: + </item-text> + <Para start_line="-321"> + Non-ASCII character seen before =encoding in 'TŨTORIAL'. + Assuming UTF-8 + </Para> + </over-text> +</Document> diff --git a/gnu/usr.bin/perl/cpan/Pod-Simple/t/corpus/fet_cont.xml b/gnu/usr.bin/perl/cpan/Pod-Simple/t/corpus/fet_cont.xml index 4f4995f925c..a5842696530 100644 --- a/gnu/usr.bin/perl/cpan/Pod-Simple/t/corpus/fet_cont.xml +++ b/gnu/usr.bin/perl/cpan/Pod-Simple/t/corpus/fet_cont.xml @@ -1,16 +1,23 @@ <Document start_line="5"> + <encoding start_line="5"> + koi8-r + </encoding> <head1 start_line="7"> NAME </head1> <Para start_line="9"> - Когда читала - ты мучительные - строки -- Fet's - "When you were reading" + Когда + читала ты + мучительные + строки -- Fet's "When you + were reading" </Para> <head1 start_line="11"> TEXT </head1> + <encoding start_line="13"> + Shift-JIS + </encoding> <Para start_line="15"> (This is a test Pod pocument in KOI8-R.) </Para> @@ -26,8 +33,7 @@ <Para errata="1" start_line="-321"> Hey! <B> - The above document had some coding errors, which are explained - below: + The above document had some coding errors, which are explained below: </B> </Para> <over-text errata="1" indent="4" start_line="-321"> @@ -35,8 +41,7 @@ Around line 13: </item-text> <Para start_line="-321"> - Couldn't do =encoding Shift-JIS: Encoding is already - set to koi8-r + Couldn't do =encoding Shift-JIS: Encoding is already set to koi8-r </Para> </over-text> </Document> diff --git a/gnu/usr.bin/perl/cpan/Pod-Simple/t/corpus/fet_dup.xml b/gnu/usr.bin/perl/cpan/Pod-Simple/t/corpus/fet_dup.xml index c33277deb04..11e8a9af180 100644 --- a/gnu/usr.bin/perl/cpan/Pod-Simple/t/corpus/fet_dup.xml +++ b/gnu/usr.bin/perl/cpan/Pod-Simple/t/corpus/fet_dup.xml @@ -1,12 +1,16 @@ <Document start_line="5"> + <encoding start_line="5"> + koi8-r + </encoding> <head1 start_line="7"> NAME </head1> <Para start_line="9"> - Когда читала - ты мучительные - строки -- Fet's - "When you were reading" + Когда + читала ты + мучительные + строки -- Fet's "When you + were reading" </Para> <head1 start_line="11"> TEXT @@ -15,14 +19,17 @@ (This is a test Pod pocument in KOI8-R.) </Para> <Para start_line="15"> - Когда читала - ты мучительные + Когда + читала ты + мучительные строки, / Где - сердца звучный - пыл сиянье - льет кругом - / И страсти - роковой вздымаются + сердца + звучный пыл + сиянье льет + кругом / И + страсти + роковой + вздымаются потоки,- / Не вспомнила ль о чем? @@ -31,26 +38,33 @@ Я верить не хочу! Когда в степи, как - диво, / В полночной - темноте безвременно + диво, / В + полночной + темноте + безвременно горя, / Вдали перед тобой - прозрачно - и красиво - / Вставала + прозрачно и + красиво / + Вставала вдругзаря. </Para> <Para start_line="25"> - И в эту красоту + И в эту + красоту невольно - взор тянуло, - / В тот величавый - блеск за темный - весь предел,- - / Ужель ничто - тебе в то время - не шепнуло: - / Там человек + взор + тянуло, / В + тот + величавый + блеск за + темный весь + предел,- / + Ужель ничто + тебе в то + время не + шепнуло: / + Там человек сгорел! </Para> <Para start_line="30"> @@ -60,60 +74,61 @@ And now, as a verbatim section: </Para> <VerbatimFormatted start_line="34" xml:space="preserve"> - Когда читала - ты мучительные + Когда + читала ты + мучительные строки, - Где сердца звучный пыл сиянье льет кругом - И страсти - роковой вздымаются + роковой + вздымаются потоки,- - - Не вспомнила + Не + вспомнила ль о чем? - - - + Я верить не хочу! Когда в степи, как диво, - - В полночной - темноте безвременно + В + полночной + темноте + безвременно горя, - - Вдали перед - тобой прозрачно - и красиво - - Вставала + Вдали + перед тобой + прозрачно и + красиво + Вставала вдругзаря. </VerbatimFormatted> + <encoding start_line="44"> + koi8-r + </encoding> <VerbatimFormatted start_line="46" xml:space="preserve"> - И в эту красоту + И в эту + красоту невольно - взор тянуло, - - В тот величавый - блеск за темный - весь предел,- - - Ужель ничто - тебе в то время + взор + тянуло, + В тот + величавый + блеск за + темный весь + предел,- + Ужель + ничто тебе + в то время не шепнуло: - - Там человек + Там + человек сгорел! - - - 15 февраля - 1887 + 15 февраля 1887 </VerbatimFormatted> <Para start_line="53"> [end] diff --git a/gnu/usr.bin/perl/cpan/Pod-Simple/t/corpus/iso6.xml b/gnu/usr.bin/perl/cpan/Pod-Simple/t/corpus/iso6.xml index b597324087a..0619c067644 100644 --- a/gnu/usr.bin/perl/cpan/Pod-Simple/t/corpus/iso6.xml +++ b/gnu/usr.bin/perl/cpan/Pod-Simple/t/corpus/iso6.xml @@ -3,40 +3,46 @@ NAME </head1> <Para start_line="4"> - buniya-iso-6 -- test document: a paragraph in Arabic as - ISO-8859-6 + buniya-iso-6 -- test document: a paragraph in Arabic as ISO-8859-6 </Para> <head1 start_line="6"> DESCRIPTION </head1> <Para start_line="8"> - This document is a paragraph in Arabic from "The Five - Pillars of Islam" as ISO-8859-6. + This document is a paragraph in Arabic from "The Five Pillars of + Islam" as ISO-8859-6. </Para> + <encoding start_line="11"> + iso-8859-6 + </encoding> <Para start_line="13"> - وعن عمارة - بن حزم قال - قال رسول الله - صلى الله عليه - وسلم: + وعن عمارة بن + حزم قال قال + رسول الله + صلى الله + عليه وسلم: </Para> <Para start_line="15"> اربع فرضهن الله عز وجل في الاسلام - فمن جاء بثلاث - لم يغنين عنه + فمن جاء + بثلاث لم + يغنين عنه </Para> <Para start_line="17"> - شيئا حتى يأتي - بهن جميعا - الصلاة والزكاة + شيئا حتى + يأتي بهن + جميعا + الصلاة + والزكاة وصيام رمضان وحج </Para> <Para start_line="19"> البيت. رواه - احمد والطبراني + احمد + والطبراني في الكبير وفي اسناده ابن لهيعة. @@ -45,18 +51,22 @@ And now as a real single paragraph: </Para> <Para start_line="23"> - وعن عمارة - بن حزم قال - قال رسول الله - صلى الله عليه - وسلم: اربع - فرضهن الله - عز وجل في الاسلام - فمن جاء بثلاث - لم يغنين عنه - شيئا حتى يأتي - بهن جميعا - الصلاة والزكاة + وعن عمارة بن + حزم قال قال + رسول الله + صلى الله + عليه وسلم: + اربع فرضهن + الله عز وجل + في الاسلام + فمن جاء + بثلاث لم + يغنين عنه + شيئا حتى + يأتي بهن + جميعا + الصلاة + والزكاة وصيام رمضان وحج البيت. رواه احمد @@ -69,30 +79,30 @@ And now as a verbatim paragraph: </Para> <VerbatimFormatted start_line="30" xml:space="preserve"> - وعن عمارة - بن حزم قال - قال رسول الله - صلى الله عليه - وسلم: - + وعن عمارة بن + حزم قال قال + رسول الله + صلى الله + عليه وسلم: اربع فرضهن الله عز وجل في الاسلام - فمن جاء بثلاث - لم يغنين عنه - - شيئا حتى يأتي - بهن جميعا - الصلاة والزكاة + فمن جاء + بثلاث لم + يغنين عنه + شيئا حتى + يأتي بهن + جميعا + الصلاة + والزكاة وصيام رمضان وحج - البيت. رواه - احمد والطبراني + احمد + والطبراني في الكبير وفي اسناده - ابن لهيعة. - + ابن لهيعة. </VerbatimFormatted> <Para start_line="35"> [end] diff --git a/gnu/usr.bin/perl/cpan/Pod-Simple/t/corpus/koi8r.xml b/gnu/usr.bin/perl/cpan/Pod-Simple/t/corpus/koi8r.xml index 94331d7e4d7..4fe0b5c823b 100644 --- a/gnu/usr.bin/perl/cpan/Pod-Simple/t/corpus/koi8r.xml +++ b/gnu/usr.bin/perl/cpan/Pod-Simple/t/corpus/koi8r.xml @@ -1,12 +1,16 @@ <Document start_line="2"> + <encoding start_line="2"> + koi8-r + </encoding> <head1 start_line="4"> NAME </head1> <Para start_line="6"> - Когда читала - ты мучительные - строки -- Fet's - "When you were reading" + Когда + читала ты + мучительные + строки -- Fet's "When you + were reading" </Para> <head1 start_line="8"> TEXT @@ -15,14 +19,17 @@ (This is a test Pod pocument in KOI8-R.) </Para> <Para start_line="12"> - Когда читала - ты мучительные + Когда + читала ты + мучительные строки, / Где - сердца звучный - пыл сиянье - льет кругом - / И страсти - роковой вздымаются + сердца + звучный пыл + сиянье льет + кругом / И + страсти + роковой + вздымаются потоки,- / Не вспомнила ль о чем? @@ -31,26 +38,33 @@ Я верить не хочу! Когда в степи, как - диво, / В полночной - темноте безвременно + диво, / В + полночной + темноте + безвременно горя, / Вдали перед тобой - прозрачно - и красиво - / Вставала + прозрачно и + красиво / + Вставала вдругзаря. </Para> <Para start_line="22"> - И в эту красоту + И в эту + красоту невольно - взор тянуло, - / В тот величавый - блеск за темный - весь предел,- - / Ужель ничто - тебе в то время - не шепнуло: - / Там человек + взор + тянуло, / В + тот + величавый + блеск за + темный весь + предел,- / + Ужель ничто + тебе в то + время не + шепнуло: / + Там человек сгорел! </Para> <Para start_line="27"> @@ -60,61 +74,57 @@ And now, as a verbatim section: </Para> <VerbatimFormatted start_line="31" xml:space="preserve"> - Когда читала - ты мучительные + Когда + читала ты + мучительные строки, - Где сердца звучный пыл сиянье льет кругом - И страсти - роковой вздымаются + роковой + вздымаются потоки,- - - Не вспомнила + Не + вспомнила ль о чем? - - - + Я верить не хочу! Когда в степи, как диво, - - В полночной - темноте безвременно + В + полночной + темноте + безвременно горя, - - Вдали перед - тобой прозрачно - и красиво - - Вставала + Вдали + перед тобой + прозрачно и + красиво + Вставала вдругзаря. - - - - И в эту красоту + + И в эту + красоту невольно - взор тянуло, - - В тот величавый - блеск за темный - весь предел,- - - Ужель ничто - тебе в то время + взор + тянуло, + В тот + величавый + блеск за + темный весь + предел,- + Ужель + ничто тебе + в то время не шепнуло: - - Там человек + Там + человек сгорел! - - - 15 февраля - 1887 + 15 февраля 1887 </VerbatimFormatted> <Para start_line="48"> [end] diff --git a/gnu/usr.bin/perl/cpan/Pod-Simple/t/corpus/laozi38.xml b/gnu/usr.bin/perl/cpan/Pod-Simple/t/corpus/laozi38.xml index 5ff72513abf..a3b1748ef06 100644 --- a/gnu/usr.bin/perl/cpan/Pod-Simple/t/corpus/laozi38.xml +++ b/gnu/usr.bin/perl/cpan/Pod-Simple/t/corpus/laozi38.xml @@ -1,4 +1,7 @@ <Document start_line="1"> + <encoding start_line="1"> + big5 + </encoding> <head1 start_line="3"> 老子道德經 三十八章 -- Big5 (Chinese) encoding test @@ -22,28 +25,27 @@ And as a verbatim section: </Para> <VerbatimFormatted start_line="20" xml:space="preserve"> - 上德不德,是以有德﹔ - - 下德不失德,是以無德。 - - 上德無為而無以為﹔ - - 下德無為而有以為。 - - 上仁為之而無以為﹔ - - 上義為之而有以為。 - - 上禮為之而莫之應,則攘臂而扔之。 - + + 上德不德,是以有德﹔ + + 下德不失德,是以無德。 + + 上德無為而無以為﹔ + + 下德無為而有以為。 + + 上仁為之而無以為﹔ + + 上義為之而有以為。 + + 上禮為之而莫之應,則攘臂而扔之。 - - 故失道而后德,失德而后仁,失仁而后義,失義而后禮。夫禮者,忠信之薄,而亂之首。 - - 前識者,道之華,而愚之始。 - - 是以大丈夫居其厚,不居其薄﹔居其實,不居其華。 - + + 故失道而后德,失德而后仁,失仁而后義,失義而后禮。夫禮者,忠信之薄,而亂之首。 + + 前識者,道之華,而愚之始。 + + 是以大丈夫居其厚,不居其薄﹔居其實,不居其華。 故去彼取此。 </VerbatimFormatted> <Para start_line="33"> diff --git a/gnu/usr.bin/perl/cpan/Pod-Simple/t/corpus/laozi38b.xml b/gnu/usr.bin/perl/cpan/Pod-Simple/t/corpus/laozi38b.xml index 5ff72513abf..92db1bb17e5 100644 --- a/gnu/usr.bin/perl/cpan/Pod-Simple/t/corpus/laozi38b.xml +++ b/gnu/usr.bin/perl/cpan/Pod-Simple/t/corpus/laozi38b.xml @@ -1,4 +1,7 @@ <Document start_line="1"> + <encoding start_line="1"> + big5-eten + </encoding> <head1 start_line="3"> 老子道德經 三十八章 -- Big5 (Chinese) encoding test @@ -22,28 +25,27 @@ And as a verbatim section: </Para> <VerbatimFormatted start_line="20" xml:space="preserve"> - 上德不德,是以有德﹔ - - 下德不失德,是以無德。 - - 上德無為而無以為﹔ - - 下德無為而有以為。 - - 上仁為之而無以為﹔ - - 上義為之而有以為。 - - 上禮為之而莫之應,則攘臂而扔之。 - + + 上德不德,是以有德﹔ + + 下德不失德,是以無德。 + + 上德無為而無以為﹔ + + 下德無為而有以為。 + + 上仁為之而無以為﹔ + + 上義為之而有以為。 + + 上禮為之而莫之應,則攘臂而扔之。 - - 故失道而后德,失德而后仁,失仁而后義,失義而后禮。夫禮者,忠信之薄,而亂之首。 - - 前識者,道之華,而愚之始。 - - 是以大丈夫居其厚,不居其薄﹔居其實,不居其華。 - + + 故失道而后德,失德而后仁,失仁而后義,失義而后禮。夫禮者,忠信之薄,而亂之首。 + + 前識者,道之華,而愚之始。 + + 是以大丈夫居其厚,不居其薄﹔居其實,不居其華。 故去彼取此。 </VerbatimFormatted> <Para start_line="33"> diff --git a/gnu/usr.bin/perl/cpan/Pod-Simple/t/corpus/laozi38p.xml b/gnu/usr.bin/perl/cpan/Pod-Simple/t/corpus/laozi38p.xml index bae00f25d48..e1694d46e15 100644 --- a/gnu/usr.bin/perl/cpan/Pod-Simple/t/corpus/laozi38p.xml +++ b/gnu/usr.bin/perl/cpan/Pod-Simple/t/corpus/laozi38p.xml @@ -1,4 +1,7 @@ <Document start_line="2"> + <encoding start_line="2"> + big5 + </encoding> <head1 start_line="4"> NAME </head1> @@ -10,8 +13,8 @@ DESCRIPTION </head1> <Para start_line="10"> - This is a test Pod document in the Big5 encoding. Its content - is the 38th canto from the + This is a test Pod document in the Big5 encoding. Its content is the 38th + canto from the <I> Dao De Jing </I> @@ -39,28 +42,27 @@ And as a verbatim section: </Para> <VerbatimFormatted start_line="30" xml:space="preserve"> - 上德不德,是以有德﹔ - - 下德不失德,是以無德。 - - 上德無為而無以為﹔ - - 下德無為而有以為。 - - 上仁為之而無以為﹔ - - 上義為之而有以為。 - - 上禮為之而莫之應,則攘臂而扔之。 - + + 上德不德,是以有德﹔ + + 下德不失德,是以無德。 + + 上德無為而無以為﹔ + + 下德無為而有以為。 + + 上仁為之而無以為﹔ - - 故失道而后德,失德而后仁,失仁而后義,失義而后禮。夫禮者,忠信之薄,而亂之首。 - - 前識者,道之華,而愚之始。 - - 是以大丈夫居其厚,不居其薄﹔居其實,不居其華。 - + 上義為之而有以為。 + + 上禮為之而莫之應,則攘臂而扔之。 + + + 故失道而后德,失德而后仁,失仁而后義,失義而后禮。夫禮者,忠信之薄,而亂之首。 + + 前識者,道之華,而愚之始。 + + 是以大丈夫居其厚,不居其薄﹔居其實,不居其華。 故去彼取此。 </VerbatimFormatted> <Para start_line="43"> diff --git a/gnu/usr.bin/perl/cpan/Pod-Simple/t/corpus/lat1fr.xml b/gnu/usr.bin/perl/cpan/Pod-Simple/t/corpus/lat1fr.xml index 017ae6abf77..d16d3a306f6 100644 --- a/gnu/usr.bin/perl/cpan/Pod-Simple/t/corpus/lat1fr.xml +++ b/gnu/usr.bin/perl/cpan/Pod-Simple/t/corpus/lat1fr.xml @@ -1,4 +1,7 @@ <Document start_line="2"> + <encoding start_line="2"> + iso-8859-1 + </encoding> <head1 start_line="4"> NAME </head1> @@ -9,28 +12,25 @@ DESCRIPTION </head1> <Para start_line="10"> - This is a test Pod document in Latin-1. Its content is the - last two paragraphs of Baudelaire's + This is a test Pod document in Latin-1. Its content is the last two + paragraphs of Baudelaire's <I> Le Joujou du pauvre </I> . </Para> <Para start_line="13"> - A travers ces barreaux symboliques séparant deux mondes, - la grande route et le château, l'enfant pauvre - montrait à l'enfant riche son propre joujou, que - celui-ci examinait avidement comme un objet rare et inconnu. - Or, ce joujou, que le petit souillon agaçait, agitait - et secouait dans une boîte grillée, c'était - un rat vivant -   - ! Les parents, par économie sans doute, avaient tiré - le joujou de la vie elle-même. + A travers ces barreaux symboliques séparant deux mondes, la grande + route et le château, l'enfant pauvre montrait à + l'enfant riche son propre joujou, que celui-ci examinait avidement + comme un objet rare et inconnu. Or, ce joujou, que le petit souillon + agaçait, agitait et secouait dans une boîte grillée, + c'était un rat vivant ! Les parents, par économie + sans doute, avaient tiré le joujou de la vie elle-même. </Para> <Para start_line="20"> - Et les deux enfants se riaient l'un à l'autre - fraternellement, avec des dents d'une + Et les deux enfants se riaient l'un à l'autre fraternellement, + avec des dents d'une <I> égale </I> @@ -40,28 +40,20 @@ As Verbatim </head2> <VerbatimFormatted start_line="25" xml:space="preserve"> - A travers ces barreaux symboliques séparant deux mondes, - la grande route - - et le château, l'enfant pauvre montrait à - l'enfant riche son propre - - joujou, que celui-ci examinait avidement comme un objet - rare et inconnu. - - Or, ce joujou, que le petit souillon agaçait, agitait - et secouait dans - - une boîte grillée, c'était un rat vivant ! + A travers ces barreaux symboliques séparant deux mondes, la grande + route + et le château, l'enfant pauvre montrait à l'enfant + riche son propre + joujou, que celui-ci examinait avidement comme un objet rare et + inconnu. + Or, ce joujou, que le petit souillon agaçait, agitait et secouait + dans + une boîte grillée, c'était un rat vivant ! Les parents, par économie - sans doute, avaient tiré le joujou de la vie elle-même. - - Et les deux enfants se riaient l'un à l'autre fraternellement, avec des - dents d'une égale blancheur. </VerbatimFormatted> <Para start_line="35"> diff --git a/gnu/usr.bin/perl/cpan/Pod-Simple/t/corpus/lat1frim.xml b/gnu/usr.bin/perl/cpan/Pod-Simple/t/corpus/lat1frim.xml index ffbbdb05ac6..8b9191c7e1d 100644 --- a/gnu/usr.bin/perl/cpan/Pod-Simple/t/corpus/lat1frim.xml +++ b/gnu/usr.bin/perl/cpan/Pod-Simple/t/corpus/lat1frim.xml @@ -9,28 +9,25 @@ DESCRIPTION </head1> <Para start_line="8"> - This is a test Pod document in Latin-1. Its content is the - last two paragraphs of Baudelaire's + This is a test Pod document in Latin-1. Its content is the last two + paragraphs of Baudelaire's <I> Le Joujou du pauvre </I> . </Para> <Para start_line="11"> - A travers ces barreaux symboliques séparant deux mondes, - la grande route et le château, l'enfant pauvre - montrait à l'enfant riche son propre joujou, que - celui-ci examinait avidement comme un objet rare et inconnu. - Or, ce joujou, que le petit souillon agaçait, agitait - et secouait dans une boîte grillée, c'était - un rat vivant -   - ! Les parents, par économie sans doute, avaient tiré - le joujou de la vie elle-même. + A travers ces barreaux symboliques séparant deux mondes, la grande + route et le château, l'enfant pauvre montrait à + l'enfant riche son propre joujou, que celui-ci examinait avidement + comme un objet rare et inconnu. Or, ce joujou, que le petit souillon + agaçait, agitait et secouait dans une boîte grillée, + c'était un rat vivant ! Les parents, par économie + sans doute, avaient tiré le joujou de la vie elle-même. </Para> <Para start_line="18"> - Et les deux enfants se riaient l'un à l'autre - fraternellement, avec des dents d'une + Et les deux enfants se riaient l'un à l'autre fraternellement, + avec des dents d'une <I> égale </I> @@ -40,31 +37,41 @@ As Verbatim </head2> <VerbatimFormatted start_line="23" xml:space="preserve"> - A travers ces barreaux symboliques séparant deux mondes, - la grande route - - et le château, l'enfant pauvre montrait à - l'enfant riche son propre - - joujou, que celui-ci examinait avidement comme un objet - rare et inconnu. - - Or, ce joujou, que le petit souillon agaçait, agitait - et secouait dans - - une boîte grillée, c'était un rat vivant ! + A travers ces barreaux symboliques séparant deux mondes, la grande + route + et le château, l'enfant pauvre montrait à l'enfant + riche son propre + joujou, que celui-ci examinait avidement comme un objet rare et + inconnu. + Or, ce joujou, que le petit souillon agaçait, agitait et secouait + dans + une boîte grillée, c'était un rat vivant ! Les parents, par économie - sans doute, avaient tiré le joujou de la vie elle-même. - - Et les deux enfants se riaient l'un à l'autre fraternellement, avec des - dents d'une égale blancheur. </VerbatimFormatted> <Para start_line="33"> [end] </Para> + <head1 errata="1" start_line="-321"> + POD ERRORS + </head1> + <Para errata="1" start_line="-321"> + Hey! + <B> + The above document had some coding errors, which are explained below: + </B> + </Para> + <over-text errata="1" indent="4" start_line="-321"> + <item-text start_line="-321"> + Around line 11: + </item-text> + <Para start_line="-321"> + Non-ASCII character seen before =encoding in 'séparant'. + Assuming ISO8859-1 + </Para> + </over-text> </Document> diff --git a/gnu/usr.bin/perl/cpan/Pod-Simple/t/corpus/pasternak_cp1251.xml b/gnu/usr.bin/perl/cpan/Pod-Simple/t/corpus/pasternak_cp1251.xml index 2276551b31c..ddc76c3f065 100644 --- a/gnu/usr.bin/perl/cpan/Pod-Simple/t/corpus/pasternak_cp1251.xml +++ b/gnu/usr.bin/perl/cpan/Pod-Simple/t/corpus/pasternak_cp1251.xml @@ -1,10 +1,13 @@ <Document start_line="2"> + <encoding start_line="2"> + cp1251 + </encoding> <head1 start_line="4"> NAME </head1> <Para start_line="6"> - Зимняя ночь - -- Pasternak Russian test file (cp1251) + Зимняя ночь -- + Pasternak Russian test file (cp1251) </Para> <head1 start_line="8"> TEXT @@ -16,76 +19,100 @@ Зимняя ночь. </Para> <Para start_line="14"> - Мело, мело - по всей земле - / Во все пределы. - / Свеча горела - на столе, / Свеча + Мело, мело по + всей земле / + Во все + пределы. / + Свеча + горела на + столе, / + Свеча горела. </Para> <Para start_line="19"> Как летом - роем мошкора - / Летит на пламя, - / Слетались + роем + мошкора / + Летит на + пламя, / + Слетались хлопья со - двора / К оконной + двора / К + оконной раме. </Para> <Para start_line="24"> - Метель лепила - на столе / Кружки - и стрелы. / Свеча + Метель + лепила на + столе / + Кружки и + стрелы. / + Свеча горела на - столе, / Свеча + столе, / + Свеча горела. </Para> <Para start_line="29"> - На озаренный - потолок / Ложились - тени, / Скрещенья - рук, скркщенья + На + озаренный + потолок / + Ложились + тени, / + Скрещенья + рук, + скркщенья ног, / Судьбы скрещенья. </Para> <Para start_line="34"> И падали два - башмачка - / Со стуком - на пол, / И воск + башмачка / + Со стуком + на пол, / И + воск слезами с ночника / На - платье капал. + платье + капал. </Para> <Para start_line="39"> - И все терялось - в снежной + И все + терялось в + снежной мгле / Седой - и белой. / Свеча + и белой. / + Свеча горела на - столе, / Свеча + столе, / + Свеча горела. </Para> <Para start_line="44"> На свечку - дуло из угла, - / И жар соблазна - / Вздымал, как - ангел, два - крыла / Крестообразно. + дуло из + угла, / И жар + соблазна / + Вздымал, + как ангел, + два крыла / + Крестообразно. / </Para> <Para start_line="49"> Мело весь - месяц в феврале, - / И то и дело - / Свеча горела - на столе, / Свеча + месяц в + феврале, / И + то и дело / + Свеча + горела на + столе, / + Свеча горела. </Para> <Para start_line="54"> - -- Борис Пастернак, - 1946 + -- Борис + Пастернак, 1946 </Para> <head2 start_line="57"> As Preformatted @@ -95,115 +122,98 @@ </Para> <VerbatimFormatted start_line="61" xml:space="preserve"> Зимняя ночь. - - Мело, мело - по всей земле - - Во все пределы. - - Свеча горела - на столе, - - Свеча горела. - + по всей + земле + Во все + пределы. + Свеча + горела на + столе, + Свеча + горела. - Как летом - роем мошкора - - Летит на пламя, - + роем + мошкора + Летит на + пламя, Слетались хлопья со двора - К оконной раме. - - - Метель лепила - на столе - - Кружки и стрелы. - - Свеча горела - на столе, - - Свеча горела. - + Метель + лепила на + столе + Кружки и + стрелы. + Свеча + горела на + столе, + Свеча + горела. - - На озаренный + На + озаренный потолок - Ложились тени, - Скрещенья - рук, скркщенья + рук, + скркщенья ног, - - Судьбы скрещенья. - + Судьбы + скрещенья. - - И падали два + И падали + два башмачка - Со стуком на пол, - - И воск слезами - с ночника - + И воск + слезами с + ночника На платье капал. - - - И все терялось - в снежной + И все + терялось в + снежной мгле - - Седой и белой. - - Свеча горела - на столе, - - Свеча горела. - + Седой и + белой. + Свеча + горела на + столе, + Свеча + горела. - На свечку - дуло из угла, - - И жар соблазна - - Вздымал, как - ангел, два - крыла - - Крестообразно. - + дуло из + угла, + И жар + соблазна + Вздымал, + как ангел, + два крыла + + Крестообразно. - Мело весь - месяц в феврале, - + месяц в + феврале, И то и дело - - Свеча горела - на столе, - - Свеча горела. - + Свеча + горела на + столе, + Свеча + горела. - - -- Борис Пастернак, - 1946 + -- Борис + Пастернак, 1946 </VerbatimFormatted> <Para start_line="105"> [end] diff --git a/gnu/usr.bin/perl/cpan/Pod-Simple/t/corpus/plain.xml b/gnu/usr.bin/perl/cpan/Pod-Simple/t/corpus/plain.xml index 05dc732ee5a..9358a5f2023 100644 --- a/gnu/usr.bin/perl/cpan/Pod-Simple/t/corpus/plain.xml +++ b/gnu/usr.bin/perl/cpan/Pod-Simple/t/corpus/plain.xml @@ -12,13 +12,12 @@ The quick brown fox jumps over the lazy dog. </Para> <Para start_line="10"> - Military Intelligence Yukon rhosts penrep Weekly World News - DSD Time Cohiba finks rail gun DF ~ Corporate Security NATOA - CCS DEVGRP + Military Intelligence Yukon rhosts penrep Weekly World News DSD Time Cohiba + finks rail gun DF ~ Corporate Security NATOA CCS DEVGRP </Para> <Para start_line="13"> - CONUS Khaddafi NATIA data havens Spetznaz afsatcom BOP Semtex - garbage KGB ^? 737 1080H 1080H Satellite imagery smuggle + CONUS Khaddafi NATIA data havens Spetznaz afsatcom BOP Semtex garbage KGB + ^? 737 1080H 1080H Satellite imagery smuggle </Para> <Para start_line="16"> [end] diff --git a/gnu/usr.bin/perl/cpan/Pod-Simple/t/corpus/plain_explicit.xml b/gnu/usr.bin/perl/cpan/Pod-Simple/t/corpus/plain_explicit.xml index 1db06b81f8d..c126fdda9c5 100644 --- a/gnu/usr.bin/perl/cpan/Pod-Simple/t/corpus/plain_explicit.xml +++ b/gnu/usr.bin/perl/cpan/Pod-Simple/t/corpus/plain_explicit.xml @@ -1,4 +1,7 @@ <Document start_line="2"> + <encoding start_line="2"> + ascii + </encoding> <head1 start_line="4"> NAME </head1> @@ -12,13 +15,12 @@ The quick brown fox jumps over the lazy dog. </Para> <Para start_line="12"> - Military Intelligence Yukon rhosts penrep Weekly World News - DSD Time Cohiba finks rail gun DF ~ Corporate Security NATOA - CCS DEVGRP + Military Intelligence Yukon rhosts penrep Weekly World News DSD Time Cohiba + finks rail gun DF ~ Corporate Security NATOA CCS DEVGRP </Para> <Para start_line="15"> - CONUS Khaddafi NATIA data havens Spetznaz afsatcom BOP Semtex - garbage KGB ^? 737 1080H 1080H Satellite imagery smuggle + CONUS Khaddafi NATIA data havens Spetznaz afsatcom BOP Semtex garbage KGB + ^? 737 1080H 1080H Satellite imagery smuggle </Para> <Para start_line="18"> [end] diff --git a/gnu/usr.bin/perl/cpan/Pod-Simple/t/corpus/plain_latin1.xml b/gnu/usr.bin/perl/cpan/Pod-Simple/t/corpus/plain_latin1.xml index 74f9baeb739..fc157636538 100644 --- a/gnu/usr.bin/perl/cpan/Pod-Simple/t/corpus/plain_latin1.xml +++ b/gnu/usr.bin/perl/cpan/Pod-Simple/t/corpus/plain_latin1.xml @@ -1,10 +1,12 @@ <Document start_line="4"> + <encoding start_line="4"> + iso-8859-1 + </encoding> <head1 start_line="6"> NAME </head1> <Para start_line="8"> - simple_text_document -- an explicitly Latin-1 (ASCII subset) - test document + simple_text_document -- an explicitly Latin-1 (ASCII subset) test document </Para> <head1 start_line="10"> TEXT @@ -13,13 +15,12 @@ The quick brown fox jumps over the lazy dog. </Para> <Para start_line="14"> - Military Intelligence Yukon rhosts penrep Weekly World News - DSD Time Cohiba finks rail gun DF ~ Corporate Security NATOA - CCS DEVGRP + Military Intelligence Yukon rhosts penrep Weekly World News DSD Time Cohiba + finks rail gun DF ~ Corporate Security NATOA CCS DEVGRP </Para> <Para start_line="17"> - CONUS Khaddafi NATIA data havens Spetznaz afsatcom BOP Semtex - garbage KGB ^? 737 1080H 1080H Satellite imagery smuggle + CONUS Khaddafi NATIA data havens Spetznaz afsatcom BOP Semtex garbage KGB + ^? 737 1080H 1080H Satellite imagery smuggle </Para> <Para start_line="20"> [end] diff --git a/gnu/usr.bin/perl/cpan/Pod-Simple/t/corpus/plain_utf8.xml b/gnu/usr.bin/perl/cpan/Pod-Simple/t/corpus/plain_utf8.xml index f78846b54ac..71da6be0e16 100644 --- a/gnu/usr.bin/perl/cpan/Pod-Simple/t/corpus/plain_utf8.xml +++ b/gnu/usr.bin/perl/cpan/Pod-Simple/t/corpus/plain_utf8.xml @@ -1,10 +1,12 @@ <Document start_line="4"> + <encoding start_line="4"> + utf8 + </encoding> <head1 start_line="6"> NAME </head1> <Para start_line="8"> - simple_text_document -- an explicitly UTF8 (ASCII subset) - test document + simple_text_document -- an explicitly UTF8 (ASCII subset) test document </Para> <head1 start_line="10"> TEXT @@ -13,13 +15,12 @@ The quick brown fox jumps over the lazy dog. </Para> <Para start_line="14"> - Military Intelligence Yukon rhosts penrep Weekly World News - DSD Time Cohiba finks rail gun DF ~ Corporate Security NATOA - CCS DEVGRP + Military Intelligence Yukon rhosts penrep Weekly World News DSD Time Cohiba + finks rail gun DF ~ Corporate Security NATOA CCS DEVGRP </Para> <Para start_line="17"> - CONUS Khaddafi NATIA data havens Spetznaz afsatcom BOP Semtex - garbage KGB ^? 737 1080H 1080H Satellite imagery smuggle + CONUS Khaddafi NATIA data havens Spetznaz afsatcom BOP Semtex garbage KGB + ^? 737 1080H 1080H Satellite imagery smuggle </Para> <Para start_line="20"> [end] diff --git a/gnu/usr.bin/perl/cpan/Pod-Simple/t/corpus/polish_utf8.xml b/gnu/usr.bin/perl/cpan/Pod-Simple/t/corpus/polish_utf8.xml index 1aa77ec0295..2778571c956 100644 --- a/gnu/usr.bin/perl/cpan/Pod-Simple/t/corpus/polish_utf8.xml +++ b/gnu/usr.bin/perl/cpan/Pod-Simple/t/corpus/polish_utf8.xml @@ -1,34 +1,34 @@ <Document start_line="2"> + <encoding start_line="2"> + utf8 + </encoding> <head1 start_line="4"> NAME </head1> <Para start_line="6"> - WŚRÓD NOCNEJ CISZY -- explicitly utf8 test document - in Polish + WŚRÓD NOCNEJ CISZY -- explicitly utf8 test document in Polish </Para> <head1 start_line="8"> DESCRIPTION </head1> <Para start_line="10"> - This is a test Pod document in UTF8. Its content is the - lyrics to the Polish Christmas carol "Wśród - nocnej ciszy". + This is a test Pod document in UTF8. Its content is the lyrics to the + Polish Christmas carol "Wśród nocnej ciszy". </Para> <Para start_line="13"> - Wśród nocnej ciszy głos się rozchodzi: - / Wstańcie, pasterze, Bóg się nam rodzi! - / Czym prędzej się wybierajcie, / Do Betlejem - pospieszajcie / Przywitać Pana. + Wśród nocnej ciszy głos się rozchodzi: / Wstańcie, + pasterze, Bóg się nam rodzi! / Czym prędzej się + wybierajcie, / Do Betlejem pospieszajcie / Przywitać Pana. </Para> <Para start_line="19"> - Poszli, znaleźli Dzieciątko w żłobie - / Z wszystkimi znaki danymi sobie. / Jako Bogu cześć - Mu dali, / A witając zawołali / Z wielkiej radości: + Poszli, znaleźli Dzieciątko w żłobie / Z wszystkimi + znaki danymi sobie. / Jako Bogu cześć Mu dali, / A + witając zawołali / Z wielkiej radości: </Para> <Para start_line="25"> - Ach, witaj Zbawco z dawno żądany, / Wiele tysięcy - lat wyglądany / Na Ciebie króle, prorocy / Czekali, - a Tyś tej nocy / Nam się objawił. + Ach, witaj Zbawco z dawno żądany, / Wiele tysięcy lat + wyglądany / Na Ciebie króle, prorocy / Czekali, a Tyś + tej nocy / Nam się objawił. </Para> <Para start_line="31"> I my czekamy na Ciebie, Pana, / A skoro przyjdziesz na głos @@ -43,49 +43,27 @@ </Para> <VerbatimFormatted start_line="41" xml:space="preserve"> Wśród nocnej ciszy głos się rozchodzi: - Wstańcie, pasterze, Bóg się nam rodzi! - Czym prędzej się wybierajcie, - Do Betlejem pospieszajcie - Przywitać Pana. - - Poszli, znaleźli Dzieciątko w żłobie - Z wszystkimi znaki danymi sobie. - Jako Bogu cześć Mu dali, - A witając zawołali - Z wielkiej radości: - - Ach, witaj Zbawco z dawno żądany, - Wiele tysięcy lat wyglądany - Na Ciebie króle, prorocy - Czekali, a Tyś tej nocy - Nam się objawił. - - I my czekamy na Ciebie, Pana, - A skoro przyjdziesz na głos kapłana, - Padniemy na twarz przed Tobą, - Wierząc, żeś jest pod osłoną - Chleba i wina. </VerbatimFormatted> <Para start_line="65"> diff --git a/gnu/usr.bin/perl/cpan/Pod-Simple/t/corpus/s2763_sjis.xml b/gnu/usr.bin/perl/cpan/Pod-Simple/t/corpus/s2763_sjis.xml index 55a4fd00274..fd1ac19082f 100644 --- a/gnu/usr.bin/perl/cpan/Pod-Simple/t/corpus/s2763_sjis.xml +++ b/gnu/usr.bin/perl/cpan/Pod-Simple/t/corpus/s2763_sjis.xml @@ -1,4 +1,7 @@ <Document start_line="2"> + <encoding start_line="2"> + shiftjis + </encoding> <head1 start_line="4"> NAME </head1> @@ -9,8 +12,8 @@ DESCRIPTION </head1> <Para start_line="10"> - This is a test Pod document in Shift-JIS. Its content is - some uninteresting product specs I found on the Net. + This is a test Pod document in Shift-JIS. Its content is some uninteresting + product specs I found on the Net. </Para> <Para start_line="13"> It's an textitem list: @@ -26,7 +29,8 @@ 光源 </item-text> <Para start_line="23"> - GZ4 ダイクロイックミラーランプ + GZ4 + ダイクロイックミラーランプ 12V 10W×1 </Para> <item-text start_line="25"> @@ -45,7 +49,8 @@ 材質 </item-text> <Para start_line="35"> - 樹脂 アルミ、アルマイト仕上 + 樹脂 + アルミ、アルマイト仕上 ガラス </Para> <item-text start_line="37"> diff --git a/gnu/usr.bin/perl/cpan/Pod-Simple/t/corpus/thai_iso11.xml b/gnu/usr.bin/perl/cpan/Pod-Simple/t/corpus/thai_iso11.xml index a9f4bb7a6eb..8d0f8dbc7ec 100644 --- a/gnu/usr.bin/perl/cpan/Pod-Simple/t/corpus/thai_iso11.xml +++ b/gnu/usr.bin/perl/cpan/Pod-Simple/t/corpus/thai_iso11.xml @@ -8,38 +8,58 @@ <head1 start_line="6"> DESCRIPTION </head1> + <encoding start_line="8"> + iso-8859-11 + </encoding> <Para start_line="10"> - This is a test Pod document in ISO-8859-11. Its content - is a poem to (by?) Khun Thong Dang (ภาพมิ่งมงคล), + This is a test Pod document in ISO-8859-11. Its content is a poem to (by?) + Khun Thong Dang + (ภาพมิ่งมงคล), the pet of Bhumibol, the King of Thailand. </Para> <Para start_line="14"> As four flowed paragraphs: </Para> <Para start_line="16"> - ๏ พระเมตตาแจ่มจับใจไผทสยาม - / พระทัยงาม...มองภาพถ่ายมิถ่ายถอน - / เกล้าฯ น้อมเกล้าฯ + ๏ + พระเมตตาแจ่มจับใจไผทสยาม + / + พระทัยงาม...มองภาพถ่ายมิถ่ายถอน + / เกล้าฯ + น้อมเกล้าฯ พจน์เรียงเผดียงกลอน - / สื่อสะท้อนพระการุณย์อุ่นดวงมาน๚ + / + สื่อสะท้อนพระการุณย์อุ่นดวงมาน๚ </Para> <Para start_line="21"> - ๏ ทุกภาพมิ่งมงคลยลแล้วยิ้ม - / เอื้ออกอิ่มล้ำค่ามหาศาล - / อยากเป็นคุณทองแดงนักจักอยู่งาน - / เฝ้าคลอเคลียบทมาลย์พระภูมิพล๚ + ๏ + ทุกภาพมิ่งมงคลยลแล้วยิ้ม + / + เอื้ออกอิ่มล้ำค่ามหาศาล + / + อยากเป็นคุณทองแดงนักจักอยู่งาน + / + เฝ้าคลอเคลียบทมาลย์พระภูมิพล๚ </Para> <Para start_line="26"> - ๏ พระหัตถ์บุญทรงเบิกหล้าพลิกหล้าเขียว - / พระโอษฐ์เรียวตรัสห้ามสงครามฉล - / พระทัย ธ โอภาสผ่องถ่องสกล - / พระยุคลบาทย่างสืบสร้างไทย๚ + ๏ + พระหัตถ์บุญทรงเบิกหล้าพลิกหล้าเขียว + / + พระโอษฐ์เรียวตรัสห้ามสงครามฉล + / พระทัย ธ + โอภาสผ่องถ่องสกล + / + พระยุคลบาทย่างสืบสร้างไทย๚ </Para> <Para start_line="31"> - ๏ น้อมเกล้าเทิดองค์ราชันศรันย์ศรี - / บารมีหมื่นคู่คงอสงไขย - / กรรดิราชกฤษฎาก้องหล้าไกล - / ปลื้มประทับถ้วนทุกใจแห่งไท้เอย๚ะ๛ + ๏ + น้อมเกล้าเทิดองค์ราชันศรันย์ศรี + / + บารมีหมื่นคู่คงอสงไขย + / + กรรดิราชกฤษฎาก้องหล้าไกล + / + ปลื้มประทับถ้วนทุกใจแห่งไท้เอย๚ะ๛ </Para> <head2 start_line="36"> Verbatim Section @@ -48,44 +68,42 @@ And as a verbatim section: </Para> <VerbatimFormatted start_line="40" xml:space="preserve"> - ๏ พระเมตตาแจ่มจับใจไผทสยาม - - พระทัยงาม...มองภาพถ่ายมิถ่ายถอน - - เกล้าฯ น้อมเกล้าฯ + ๏ + พระเมตตาแจ่มจับใจไผทสยาม + + พระทัยงาม...มองภาพถ่ายมิถ่ายถอน + เกล้าฯ + น้อมเกล้าฯ พจน์เรียงเผดียงกลอน - - สื่อสะท้อนพระการุณย์อุ่นดวงมาน๚ - + + สื่อสะท้อนพระการุณย์อุ่นดวงมาน๚ - - ๏ ทุกภาพมิ่งมงคลยลแล้วยิ้ม - - เอื้ออกอิ่มล้ำค่ามหาศาล - - อยากเป็นคุณทองแดงนักจักอยู่งาน - - เฝ้าคลอเคลียบทมาลย์พระภูมิพล๚ - + ๏ + ทุกภาพมิ่งมงคลยลแล้วยิ้ม + + เอื้ออกอิ่มล้ำค่ามหาศาล + + อยากเป็นคุณทองแดงนักจักอยู่งาน + + เฝ้าคลอเคลียบทมาลย์พระภูมิพล๚ - - ๏ พระหัตถ์บุญทรงเบิกหล้าพลิกหล้าเขียว - - พระโอษฐ์เรียวตรัสห้ามสงครามฉล - - พระทัย ธ โอภาสผ่องถ่องสกล - - พระยุคลบาทย่างสืบสร้างไทย๚ - + ๏ + พระหัตถ์บุญทรงเบิกหล้าพลิกหล้าเขียว + + พระโอษฐ์เรียวตรัสห้ามสงครามฉล + พระทัย ธ + โอภาสผ่องถ่องสกล + + พระยุคลบาทย่างสืบสร้างไทย๚ - - ๏ น้อมเกล้าเทิดองค์ราชันศรันย์ศรี - - บารมีหมื่นคู่คงอสงไขย - - กรรดิราชกฤษฎาก้องหล้าไกล - - ปลื้มประทับถ้วนทุกใจแห่งไท้เอย๚ะ๛ + ๏ + น้อมเกล้าเทิดองค์ราชันศรันย์ศรี + + บารมีหมื่นคู่คงอสงไขย + + กรรดิราชกฤษฎาก้องหล้าไกล + + ปลื้มประทับถ้วนทุกใจแห่งไท้เอย๚ะ๛ </VerbatimFormatted> <Para start_line="60"> [end] diff --git a/gnu/usr.bin/perl/cpan/Pod-Simple/t/enc-chars.t b/gnu/usr.bin/perl/cpan/Pod-Simple/t/enc-chars.t new file mode 100644 index 00000000000..65b4259df20 --- /dev/null +++ b/gnu/usr.bin/perl/cpan/Pod-Simple/t/enc-chars.t @@ -0,0 +1,61 @@ +# tell parser the source POD has already been decoded from bytes to chars +# =encoding line should be ignored +# utf8 characters should come through unscathed + +BEGIN { + if($ENV{PERL_CORE}) { + chdir 't'; + @INC = '../lib'; + } + + use Config; + if ($Config::Config{'extensions'} !~ /\bEncode\b/) { + print "1..0 # Skip: Encode was not built\n"; + exit 0; + } +} + +use strict; +use Test; +BEGIN { plan tests => 3 }; + +use Pod::Simple::DumpAsXML; +use Pod::Simple::XMLOutStream; + + +my $parser = Pod::Simple::XMLOutStream->new; +$parser->parse_characters(1); +my $output = ''; +$parser->output_string( \$output ); +$parser->parse_string_document(qq{ + +=encoding bogocode + +=head1 DESCRIPTION + +Confirm that if we tell the parser to expect character data, it avoids all +the code paths that might attempt to decode the source from bytes to chars. + +The r\x{101}in in \x{15E}pain \x{FB02}oods the plain + +}); + +ok(1); # parsed without exception + +if($output =~ /POD ERRORS/) { + ok(0); +} +else { + ok(1); # no errors +} + +$output =~ s{&#(\d+);}{chr($1)}eg; + +if($output =~ /The r\x{101}in in \x{15E}pain \x{FB02}oods the plain/) { + ok(1); # data was not messed up +} +else { + ok(0); +} + +exit; diff --git a/gnu/usr.bin/perl/cpan/Pod-Simple/t/encod04.t b/gnu/usr.bin/perl/cpan/Pod-Simple/t/encod04.t new file mode 100644 index 00000000000..fe2c314c39b --- /dev/null +++ b/gnu/usr.bin/perl/cpan/Pod-Simple/t/encod04.t @@ -0,0 +1,143 @@ +# The encoding detection heuristic will choose UTF8 or Latin-1. The current +# implementation will usually treat CP1252 (aka "Win-Latin-1") as Latin-1 but +# can be fooled into seeing it as UTF8. +# +# Note 1: Neither guess is 'correct' since even if we choose Latin-1, all the +# smart quote symbols will be rendered as control characters +# +# Note 2: the guess is only applied if the source POD omits =encoding, so +# CP1252 source will render correctly if properly declared +# + +BEGIN { + if($ENV{PERL_CORE}) { + chdir 't'; + @INC = '../lib'; + } +} + +use strict; +use Test; +BEGIN { plan tests => 5 }; + +ok 1; + +use Pod::Simple::DumpAsXML; +use Pod::Simple::XMLOutStream; + + +# Initial, isolated, non-ASCII byte triggers Latin-1 guess and later +# multi-byte sequence is not considered by heuristic. + +my @output_lines = split m/[\cm\cj]+/, Pod::Simple::XMLOutStream->_out( qq{ + +=head1 NAME + +Em::Dash \x97 \x91CAF\xC9\x92 + +=cut + +} ); + +my($guess) = "@output_lines" =~ m{Non-ASCII.*?Assuming ([\w-]+)}; +if( $guess ) { + if( $guess eq 'ISO8859-1' ) { + if( grep m{Dash (\x97|—|—)}, @output_lines ) { + ok 1; + } else { + ok 0; + print "# failed to find expected control character in output\n" + } + } else { + ok 0; + print "# parser guessed wrong encoding expected 'ISO8859-1' got '$guess'\n"; + } +} else { + ok 0; + print "# parser failed to detect non-ASCII bytes in input\n"; +} + + +# Initial smart-quote character triggers Latin-1 guess as expected + +@output_lines = split m/[\cm\cj]+/, Pod::Simple::XMLOutStream->_out( qq{ + +=head1 NAME + +Smart::Quote - \x91FUT\xC9\x92 + +=cut + +} ); + +($guess) = "@output_lines" =~ m{Non-ASCII.*?Assuming ([\w-]+)}; +if( $guess ) { + if( $guess eq 'ISO8859-1' ) { + ok 1; + } else { + ok 0; + print "# parser guessed wrong encoding expected 'ISO8859-1' got '$guess'\n"; + } +} else { + ok 0; + print "# parser failed to detect non-ASCII bytes in input\n"; +} + + +# Initial accented character followed by 'smart' apostrophe causes heuristic +# to choose UTF8 (a rather contrived example) + +@output_lines = split m/[\cm\cj]+/, Pod::Simple::XMLOutStream->_out( qq{ + +=head1 NAME + +Smart::Apostrophe::Fail - L\xC9\x92STRANGE + +=cut + +} ); + +($guess) = "@output_lines" =~ m{Non-ASCII.*?Assuming ([\w-]+)}; +if( $guess ) { + if( $guess eq 'UTF-8' ) { + ok 1; + } else { + ok 0; + print "# parser guessed wrong encoding expected 'UTF-8' got '$guess'\n"; + } +} else { + ok 0; + print "# parser failed to detect non-ASCII bytes in input\n"; +} + + +# The previous example used a CP1252 byte sequence that also happened to be a +# valid UTF8 byte sequence. In this example the heuristic also guesses 'wrong' +# despite the byte sequence not being valid UTF8 (it's too short). This could +# arguably be 'fixed' by using a less naive regex. + +@output_lines = split m/[\cm\cj]+/, Pod::Simple::XMLOutStream->_out( qq{ + +=head1 NAME + +Smart::Apostrophe::Fail - L\xE9\x92Strange + +=cut + +} ); + +($guess) = "@output_lines" =~ m{Non-ASCII.*?Assuming ([\w-]+)}; +if( $guess ) { + if( $guess eq 'UTF-8' ) { + ok 1; + } else { + ok 0; + print "# parser guessed wrong encoding expected 'UTF-8' got '$guess'\n"; + } +} else { + ok 0; + print "# parser failed to detect non-ASCII bytes in input\n"; +} + + +exit; diff --git a/gnu/usr.bin/perl/cpan/Pod-Simple/t/fcodes_l.t b/gnu/usr.bin/perl/cpan/Pod-Simple/t/fcodes_l.t index 62970201d5b..3433d244251 100755 --- a/gnu/usr.bin/perl/cpan/Pod-Simple/t/fcodes_l.t +++ b/gnu/usr.bin/perl/cpan/Pod-Simple/t/fcodes_l.t @@ -8,7 +8,7 @@ BEGIN { use strict; use Test; -BEGIN { plan tests => 99 }; +BEGIN { plan tests => 101 }; #use Pod::Simple::Debug (10); @@ -35,6 +35,14 @@ ok($x->_out(qq{=pod\n\nL<crontab(5)>\n}), '<Document><Para><L content-implicit="yes" raw="crontab(5)" to="crontab(5)" type="man">crontab(5)</L></Para></Document>' ); +ok($x->_out(qq{=pod\n\nL<login.conf(5)>\n}), + '<Document><Para><L content-implicit="yes" raw="login.conf(5)" to="login.conf(5)" type="man">login.conf(5)</L></Para></Document>' +); + +ok($x->_out(qq{=pod\n\nL<foo_bar(5)>\n}), + '<Document><Para><L content-implicit="yes" raw="foo_bar(5)" to="foo_bar(5)" type="man">foo_bar(5)</L></Para></Document>' +); + ok( $x->_out(qq{=pod\n\nL<Net::Ping/Ping-pong>\n}), '<Document><Para><L content-implicit="yes" raw="Net::Ping/Ping-pong" section="Ping-pong" to="Net::Ping" type="pod">"Ping-pong" in Net::Ping</L></Para></Document>' ); diff --git a/gnu/usr.bin/perl/cpan/Pod-Simple/t/html01.t b/gnu/usr.bin/perl/cpan/Pod-Simple/t/html01.t index 5ad848ebfa9..16e6c5dad3c 100755 --- a/gnu/usr.bin/perl/cpan/Pod-Simple/t/html01.t +++ b/gnu/usr.bin/perl/cpan/Pod-Simple/t/html01.t @@ -115,7 +115,7 @@ SUBCLASS: { ok( My::Pod::HTML->_out( sub{ $_[0]->bare_output(1) }, - "=pod\n\n=over\n\n=item Foo\n\n", + "=pod\n\n=over\n\n=item Foo\n\n=back\n", ), "\n<dl>\n<dt><a name=\"howdy\"\n>Foo</a></dt>\n</dl>\n", ); diff --git a/gnu/usr.bin/perl/cpan/Pod-Simple/t/items.t b/gnu/usr.bin/perl/cpan/Pod-Simple/t/items.t index dcb695f3dd7..f76cf59fa54 100755 --- a/gnu/usr.bin/perl/cpan/Pod-Simple/t/items.t +++ b/gnu/usr.bin/perl/cpan/Pod-Simple/t/items.t @@ -91,7 +91,9 @@ ok( $x->_out("\n=over\n\n=item Foo\n\n Stuff\n\tSnork\n=cut\n\nCrunk\nZorp\n\n=i print "#\n# Test for mixed =item blocks...\n"; -ok( $x->_out("\n=over\n\n=item Foo\n\nStuff\n\n=item 2.\n\nBar I<baz>!\n\nQuux\n\n=item *\n\nThwoong\n\n=back\n\n"), +ok( $x->_out( + sub { $_[0]->no_errata_section(1) }, # We know this will complain + "\n=over\n\n=item Foo\n\nStuff\n\n=item 2.\n\nBar I<baz>!\n\nQuux\n\n=item *\n\nThwoong\n\n=back\n\n"), qq{<Document><over-text indent="4"><item-text>Foo</item-text><Para>Stuff</Para>} . qq{<item-text>2.</item-text><Para>Bar <I>baz</I>!</Para><Para>Quux</Para>} . qq{<item-text>*</item-text><Para>Thwoong</Para></over-text></Document>} @@ -187,18 +189,22 @@ ok( $x->_out( join "\n\n", '', '', $d = 11; print "# Now checking that document-end closes things right...\n"; -ok( $x->_out( join "\n\n", '', '', - '=over', - '=item *', - 'Stuff', - '=cut', - 'Stuff', +ok( $x->_out( + # We know there'd be a warning about implicit =back; disable it! + sub { $_[0]->no_whining(1); }, + join( "\n\n", '', '', '=over', - '=item 1.', - '=over 19', - 'Gleiven', - 'Squim F<.thingrc>!', - '', '' + '=item *', + 'Stuff', + '=cut', + 'Stuff', + '=over', + '=item 1.', + '=over 19', + 'Gleiven', + 'Squim F<.thingrc>!', + '', '', + ), ), join '', '<Document>', '<over-bullet indent="4">', diff --git a/gnu/usr.bin/perl/cpan/Pod-Simple/t/items02.t b/gnu/usr.bin/perl/cpan/Pod-Simple/t/items02.t index d604baab5af..daab8efe6c0 100755 --- a/gnu/usr.bin/perl/cpan/Pod-Simple/t/items02.t +++ b/gnu/usr.bin/perl/cpan/Pod-Simple/t/items02.t @@ -1,44 +1,46 @@ -# Testing the =item directive
-BEGIN {
- if($ENV{PERL_CORE}) {
- chdir 't';
- @INC = '../lib';
- }
-}
-
-use strict;
-use Test;
-BEGIN { plan tests => 4 };
-
-my $d;
-#use Pod::Simple::Debug (\$d,0);
-
-ok 1;
-
-use Pod::Simple::DumpAsXML;
-use Pod::Simple::XMLOutStream;
-print "# Pod::Simple version $Pod::Simple::VERSION\n";
-sub e ($$) { Pod::Simple::DumpAsXML->_duo(@_) }
-
-my $x = 'Pod::Simple::XMLOutStream';
-
-print "##### Tests for =item directives via class $x\n";
-
-$Pod::Simple::XMLOutStream::ATTR_PAD = ' ';
-$Pod::Simple::XMLOutStream::SORT_ATTRS = 1; # for predictably testable output
-
-
-print "#\n# Tests for =item [number] that are icky...\n";
-ok( $x->_out("\n=over\n\n=item 5\n\nStuff\n\n=cut\n\nCrunk\nZorp\n\n=item 4\n\nQuux\n\n=back\n\n"),
- '<Document><over-text indent="4"><item-text>5</item-text><Para>Stuff</Para><item-text>4</item-text><Para>Quux</Para></over-text></Document>'
-);
-
-ok( $x->_out("\n=over\n\n=item 5.\n\nStuff\n\n=cut\n\nCrunk\nZorp\n\n=item 4.\n\nQuux\n\n=back\n\n"),
- '<Document><over-text indent="4"><item-text>5.</item-text><Para>Stuff</Para><item-text>4.</item-text><Para>Quux</Para></over-text></Document>'
-);
-
-
-print "# Wrapping up... one for the road...\n";
-ok 1;
-print "# --- Done with ", __FILE__, " --- \n";
-
+# Testing the =item directive +BEGIN { + if($ENV{PERL_CORE}) { + chdir 't'; + @INC = '../lib'; + } +} + +use strict; +use Test; +BEGIN { plan tests => 4 }; + +my $d; +#use Pod::Simple::Debug (\$d,0); + +ok 1; + +use Pod::Simple::DumpAsXML; +use Pod::Simple::XMLOutStream; +print "# Pod::Simple version $Pod::Simple::VERSION\n"; +sub e ($$) { Pod::Simple::DumpAsXML->_duo(@_) } + +my $x = 'Pod::Simple::XMLOutStream'; + +print "##### Tests for =item directives via class $x\n"; + +$Pod::Simple::XMLOutStream::ATTR_PAD = ' '; +$Pod::Simple::XMLOutStream::SORT_ATTRS = 1; # for predictably testable output + + +print "#\n# Tests for =item [number] that are icky...\n"; +ok( $x->_out(sub { $_[0]->no_errata_section(1) }, + "\n=over\n\n=item 5\n\nStuff\n\n=cut\n\nCrunk\nZorp\n\n=item 4\n\nQuux\n\n=back\n\n"), + '<Document><over-text indent="4"><item-text>5</item-text><Para>Stuff</Para><item-text>4</item-text><Para>Quux</Para></over-text></Document>' +); + +ok( $x->_out(sub { $_[0]->no_errata_section(1) }, + "\n=over\n\n=item 5.\n\nStuff\n\n=cut\n\nCrunk\nZorp\n\n=item 4.\n\nQuux\n\n=back\n\n"), + '<Document><over-text indent="4"><item-text>5.</item-text><Para>Stuff</Para><item-text>4.</item-text><Para>Quux</Para></over-text></Document>' +); + + +print "# Wrapping up... one for the road...\n"; +ok 1; +print "# --- Done with ", __FILE__, " --- \n"; + diff --git a/gnu/usr.bin/perl/cpan/Pod-Simple/t/pulltitl.t b/gnu/usr.bin/perl/cpan/Pod-Simple/t/pulltitl.t index 22934f530ee..6fbb6244ab0 100755 --- a/gnu/usr.bin/perl/cpan/Pod-Simple/t/pulltitl.t +++ b/gnu/usr.bin/perl/cpan/Pod-Simple/t/pulltitl.t @@ -7,7 +7,7 @@ BEGIN { use strict; use Test; -BEGIN { plan tests => 116 }; +BEGIN { plan tests => 117 }; #use Pod::Simple::Debug (5); @@ -408,6 +408,14 @@ ok( $t && $t->type eq 'start' && $t->tagname, 'Document' ); } ########################################################################### +{ +print "# Testing a title with an X<>, at line ", __LINE__, "\n"; +my $p = Pod::Simple::PullParser->new; +$p->set_source( \qq{\n=head1 NAME Foo Bar\nX<Some entry>\n} ); + +ok $p->get_title(), 'NAME Foo Bar'; +} + ########################################################################### diff --git a/gnu/usr.bin/perl/cpan/Pod-Simple/t/whine.t b/gnu/usr.bin/perl/cpan/Pod-Simple/t/whine.t new file mode 100644 index 00000000000..668c9099f23 --- /dev/null +++ b/gnu/usr.bin/perl/cpan/Pod-Simple/t/whine.t @@ -0,0 +1,69 @@ +use strict; +use warnings; +use Test::More tests => 4; + +{ + package Pod::Simple::ErrorFinder; + use base 'Pod::Simple::DumpAsXML'; # arbitrary choice -- rjbs, 2013-04-16 + + my @errors; + sub whine { + my ($self, @rest) = @_; + push @errors, [ @rest ]; + $self->SUPER::whine(@rest); + } + + sub scream { + my ($self, @rest) = @_; + push @errors, [ @rest ]; + $self->SUPER::scream(@rest); + } + + sub errors_for_input { + my ($class, $input, $mutor) = @_; + @errors = (); + + my $parser = $class->new; + my $output = ''; + $parser->output_string( \$output ); + $parser->parse_string_document( $input ); + + @errors = sort { $a->[0] <=> $b->[0] + || $a->[1] cmp $b->[1] } @errors; + + return @errors; + } +} + +sub errors { Pod::Simple::ErrorFinder->errors_for_input(@_) } + +{ + my @errors = errors("=over 4\n\n=item 1\n\nHey\n\n"); + is_deeply( + \@errors, + [ [ 1, "=over without closing =back" ] ], + "no closing =back", + ); +} + +{ + for my $l_code ('L< foo>', 'L< bar>') { + my $input = "=pod\n\nAmbiguous space: $l_code\n"; + my @errors = errors("$input"); + is_deeply( + \@errors, + [ [ 3, "L<> starts or ends with whitespace" ] ], + "warning for space in $l_code", + ); + } +} + +{ + my $input = "=pod\n\nAmbiguous slash: L<I/O Operators|op/io>\n"; + my @errors = errors("$input"); + is_deeply( + \@errors, + [ [ 3, "alternative text 'I/O Operators' contains non-escaped | or /" ] ], + "warning for / in text part of L<>", + ); +} diff --git a/gnu/usr.bin/perl/cpan/Pod-Simple/t/x_nixer.t b/gnu/usr.bin/perl/cpan/Pod-Simple/t/x_nixer.t index f43518706a8..34018109c57 100755 --- a/gnu/usr.bin/perl/cpan/Pod-Simple/t/x_nixer.t +++ b/gnu/usr.bin/perl/cpan/Pod-Simple/t/x_nixer.t @@ -44,16 +44,14 @@ ok( Pod::Simple::DumpAsXML->_out( "=pod\n\nZ<>F<C<Z<>fE<111>o> I<bar>> B<stuff X ' <Para>', ' <F>', ' <C>', - ' f', - ' o', - ' o', + ' foo', ' </C>', - ' ', + ' ', ' <I>', ' bar', ' </I>', ' </F>', - ' ', + ' ', ' <B>', ' stuff ', ' <X>', @@ -77,19 +75,16 @@ ok( Pod::Simple::DumpAsXML->_out( \&nixy, "=pod\n\nZ<>F<C<Z<>fE<111>o> I<bar>> B ' <Para>', ' <F>', ' <C>', - ' f', - ' o', - ' o', + ' foo', ' </C>', - ' ', + ' ', ' <I>', ' bar', ' </I>', ' </F>', - ' ', + ' ', ' <B>', - ' stuff ', - ' baz', + ' stuff baz', ' </B>', ' </Para>', '</Document>', @@ -109,12 +104,12 @@ ok( Pod::Simple::DumpAsXML->_out( \&mergy, "=pod\n\nZ<>F<C<Z<>fE<111>o> I<bar>> ' <C>', ' foo', ' </C>', - ' ', + ' ', ' <I>', ' bar', ' </I>', ' </F>', - ' ', + ' ', ' <B>', ' stuff ', ' <X>', @@ -140,12 +135,12 @@ ok( Pod::Simple::DumpAsXML->_out( \&nixy_mergy, "=pod\n\nZ<>F<C<Z<>fE<111>o> I<b ' <C>', ' foo', ' </C>', - ' ', + ' ', ' <I>', ' bar', ' </I>', ' </F>', - ' ', + ' ', ' <B>', ' stuff baz', ' </B>', @@ -194,12 +189,12 @@ ok( Pod::Simple::DumpAsXML->_out( \&nixy_mergy, "=pod\n\nZ<>F<C<Z<>fE<111>L<E<78 ' </L>', ' o', ' </C>', - ' ', + ' ', ' <I>', ' bar', ' </I>', ' </F>', - ' ', + ' ', ' <B>', ' stuff baz', ' </B>', diff --git a/gnu/usr.bin/perl/cpan/Pod-Simple/t/xhtml-bkb.t b/gnu/usr.bin/perl/cpan/Pod-Simple/t/xhtml-bkb.t new file mode 100644 index 00000000000..c49cef46c09 --- /dev/null +++ b/gnu/usr.bin/perl/cpan/Pod-Simple/t/xhtml-bkb.t @@ -0,0 +1,21 @@ +#!/usr/bin/perl -w + +# t/xhtml-bkb.t - https://rt.cpan.org/Public/Bug/Display.html?id=77686 + +use strict; +use warnings; +use Test::More tests => 1; +use Pod::Simple::XHTML; +my $c = <<EOF; +=head1 Documentation + +=head2 Changes to Existing Documentation + +=head3 L<perldata> +EOF +my $d = Pod::Simple::XHTML->new (); +$d->index (1); +my $e; +$d->output_string (\$e); +$d->parse_string_document ($c); +unlike ($e, qr!<a[^>]+><a[^>]+>!); diff --git a/gnu/usr.bin/perl/cpan/Pod-Simple/t/xhtml01.t b/gnu/usr.bin/perl/cpan/Pod-Simple/t/xhtml01.t index 32e875ef128..fd177edf422 100755 --- a/gnu/usr.bin/perl/cpan/Pod-Simple/t/xhtml01.t +++ b/gnu/usr.bin/perl/cpan/Pod-Simple/t/xhtml01.t @@ -8,8 +8,8 @@ BEGIN { use strict; use lib '../lib'; -#use Test::More tests => 56; -use Test::More 'no_plan'; +use Test::More tests => 61; +#use Test::More 'no_plan'; use_ok('Pod::Simple::XHTML') or exit; @@ -23,7 +23,7 @@ my $MANURL = "http://man.he.net/man"; initialize($parser, $results); $parser->parse_string_document( "=head1 Poit!" ); -is($results, qq{<h1 id="Poit-">Poit!</h1>\n\n}, "head1 level output"); +is($results, qq{<h1 id="Poit">Poit!</h1>\n\n}, "head1 level output"); initialize($parser, $results); $parser->parse_string_document( "=head2 Yada Yada Operator @@ -31,21 +31,25 @@ X<...> X<... operator> X<yada yada operator>" ); is($results, qq{<h2 id="Yada-Yada-Operator">Yada Yada Operator </h2>\n\n}, "head ID with X<>"); initialize($parser, $results); +$parser->parse_string_document( "=head2 Platforms with no supporting programmers:"); +is($results, qq{<h2 id="Platforms-with-no-supporting-programmers">Platforms with no supporting programmers:</h2>\n\n}, "head ID ending in colon"); + +initialize($parser, $results); $parser->html_h_level(2); $parser->parse_string_document( "=head1 Poit!" ); -is($results, qq{<h2 id="Poit-">Poit!</h2>\n\n}, "head1 level output h_level 2"); +is($results, qq{<h2 id="Poit">Poit!</h2>\n\n}, "head1 level output h_level 2"); initialize($parser, $results); $parser->parse_string_document( "=head2 I think so Brain." ); -is($results, qq{<h2 id="I-think-so-Brain.">I think so Brain.</h2>\n\n}, "head2 level output"); +is($results, qq{<h2 id="I-think-so-Brain">I think so Brain.</h2>\n\n}, "head2 level output"); initialize($parser, $results); $parser->parse_string_document( "=head3 I say, Brain..." ); -is($results, qq{<h3 id="I-say-Brain...">I say, Brain...</h3>\n\n}, "head3 level output"); +is($results, qq{<h3 id="I-say-Brain">I say, Brain...</h3>\n\n}, "head3 level output"); initialize($parser, $results); $parser->parse_string_document( "=head4 Zort & Zog!" ); -is($results, qq{<h4 id="Zort-Zog-">Zort & Zog!</h4>\n\n}, "head4 level output"); +is($results, qq{<h4 id="Zort-Zog">Zort & Zog!</h4>\n\n}, "head4 level output"); sub x ($;&) { my $code = $_[1]; @@ -474,10 +478,15 @@ $parser->parse_string_document(<<'EOPOD'); =pod A plain paragraph with a C<functionname>. + +C<< This code is B<important> to E<lt>me>! >> + EOPOD is($results, <<"EOHTML", "code entity in a paragraph"); <p>A plain paragraph with a <code>functionname</code>.</p> +<p><code>This code is <b>important</b> to <me>!</code></p> + EOHTML @@ -653,10 +662,11 @@ EOHTML SKIP: for my $use_html_entities (0, 1) { if ($use_html_entities and not $Pod::Simple::XHTML::HAS_HTML_ENTITIES) { - skip("HTML::Entities not installed", 1); + skip("HTML::Entities not installed", 3); } local $Pod::Simple::XHTML::HAS_HTML_ENTITIES = $use_html_entities; initialize($parser, $results); + $parser->codes_in_verbatim(1); $parser->parse_string_document(<<'EOPOD'); =pod @@ -688,6 +698,14 @@ is($results, <<"EOHTML", 'HTML Entities should be only for specified characters' EOHTML + # Keep =encoding out of content. + initialize($parser, $results); + $parser->parse_string_document("=encoding utf-8\n\n=head1 NAME\n"); + is($results, <<"EOHTML", 'Encoding should not be in content') +<h1 id="NAME">NAME</h1> + +EOHTML + } diff --git a/gnu/usr.bin/perl/cpan/Pod-Simple/t/xhtml10.t b/gnu/usr.bin/perl/cpan/Pod-Simple/t/xhtml10.t index 56ef68c5676..353a50f6cb8 100755 --- a/gnu/usr.bin/perl/cpan/Pod-Simple/t/xhtml10.t +++ b/gnu/usr.bin/perl/cpan/Pod-Simple/t/xhtml10.t @@ -8,7 +8,7 @@ BEGIN { use strict; use lib '../lib'; -use Test::More tests => 58; +use Test::More tests => 60; #use Test::More 'no_plan'; use_ok('Pod::Simple::XHTML') or exit; @@ -23,7 +23,7 @@ for my $spec ( [ 'fo$bar' => 'fo-bar', 'fo-bar' ], [ 'f12' => 'f12', 'f12' ], [ '13' => 'pod13', 'pod13' ], - [ '**.:' => 'pod-.:', 'pod-.:' ], + [ '**.:' => 'pod', 'pod' ], ) { is $parser->idify( $spec->[0] ), $spec->[1], qq{ID for "$spec->[0]" should be "$spec->[1]"}; @@ -74,8 +74,8 @@ ok $parser->parse_string_document( "=head1 Foo B<Bar>\n\n=head1 Foo B<Baz>" ), 'Parse two multiword headers'; is $results, <<'EOF', 'Should have the index'; <ul id="index"> - <li><a href="#Foo-Bar">Foo <b>Bar</b></a></li> - <li><a href="#Foo-Baz">Foo <b>Baz</b></a></li> + <li><a href="#Foo-Bar">Foo Bar</a></li> + <li><a href="#Foo-Baz">Foo Baz</a></li> </ul> <h1 id="Foo-Bar">Foo <b>Bar</b></h1> @@ -97,6 +97,22 @@ is $results, <<'EOF', 'Should have both and the index'; <h1 id="Bar">Bar</h1> EOF + +initialize($parser, $results); +ok $parser->parse_string_document( "=head1 Foo C<Bar>\n\n=head1 C<Baz>" ), + 'Parse two headers with C<> formatting'; +is $results, <<'EOF', 'Should have the index'; +<ul id="index"> + <li><a href="#Foo-Bar">Foo Bar</a></li> + <li><a href="#Baz">Baz</a></li> +</ul> + +<h1 id="Foo-Bar">Foo <code>Bar</code></h1> + +<h1 id="Baz"><code>Baz</code></h1> + +EOF + initialize($parser, $results); ok $parser->parse_string_document( "=head1 Foo\n\n=head1 Bar\n\n=head1 Baz" ), 'Parse three headers'; diff --git a/gnu/usr.bin/perl/cpan/Pod-Simple/t/xhtml20.t b/gnu/usr.bin/perl/cpan/Pod-Simple/t/xhtml20.t new file mode 100644 index 00000000000..c9295c16254 --- /dev/null +++ b/gnu/usr.bin/perl/cpan/Pod-Simple/t/xhtml20.t @@ -0,0 +1,63 @@ +#!/usr/bin/perl -w + +# t/xhtml20.t - test subclassing of Pod::Simple::XHTML + +use strict; +use warnings; +use Test::More tests => 1; + +BEGIN { + package MyXHTML; + use base 'Pod::Simple::XHTML'; + + sub handle_code { + my($self, $code, $kind) = @_; + $code = $kind . "[$code]"; + $self->SUPER::handle_code($code); + } + + sub start_code { + my($self, $kind) = @_; + $self->{scratch} .= "<code class=\"$kind\">"; + } + + sub end_code { + my($self, $kind) = @_; + $self->{scratch} .= "</code><!-- $kind -->"; + } +} + + + +my ($parser, $results); + +initialize(); +$parser->parse_string_document(<<'EOT'); +=head1 Foo + +This is C<$code> and so is: + + my $foo = 1; + +Code might even be C<<< nested( B<< C<1> >> ) >>>. +EOT + +is($results, <<'EOT'); +<h1 id="Foo">Foo</h1> + +<p>This is <code class="C">C[$code]</code><!-- C --> and so is:</p> + +<pre><code class="Verbatim">Verbatim[ my $foo = 1;]</code><!-- Verbatim --></pre> + +<p>Code might even be <code class="C">C[nested( ]<b><code class="C">C[1]</code><!-- C --></b>C[ )]</code><!-- C -->.</p> + +EOT + + +sub initialize { + $parser = MyXHTML->new; + $parser->html_header(''); + $parser->html_footer(''); + $parser->output_string( \$results ); + $results = ''; +} |