summaryrefslogtreecommitdiff
path: root/lib/Pod
diff options
context:
space:
mode:
authorSteve Hay <SteveHay@planit.com>2008-09-26 08:44:33 +0000
committerSteve Hay <SteveHay@planit.com>2008-09-26 08:44:33 +0000
commit2504ae5250790bc6da9ecd41645e0005cd550a86 (patch)
treeb11127b28b9cbd25442f1feffea053bc2bbc1b15 /lib/Pod
parenta4a03afaa835dc89f39712165b7206e034df8002 (diff)
downloadperl-2504ae5250790bc6da9ecd41645e0005cd550a86.tar.gz
Upgrade to podlators-2.1.4
p4raw-id: //depot/perl@34421
Diffstat (limited to 'lib/Pod')
-rw-r--r--lib/Pod/Man.pm5
-rw-r--r--lib/Pod/Text.pm4
-rw-r--r--lib/Pod/Text/Overstrike.pm7
-rw-r--r--lib/Pod/t/man-options.t62
-rw-r--r--lib/Pod/t/man-utf8.t141
-rw-r--r--lib/Pod/t/pod-spelling.t19
-rwxr-xr-xlib/Pod/t/text-utf8.t9
7 files changed, 176 insertions, 71 deletions
diff --git a/lib/Pod/Man.pm b/lib/Pod/Man.pm
index 4eca872c4f..48fe20ed6a 100644
--- a/lib/Pod/Man.pm
+++ b/lib/Pod/Man.pm
@@ -36,7 +36,7 @@ use POSIX qw(strftime);
@ISA = qw(Pod::Simple);
-$VERSION = '2.19';
+$VERSION = '2.20';
# Set the debugging level. If someone has inserted a debug function into this
# class already, use that. Otherwise, use any Pod::Simple debug function
@@ -1450,7 +1450,8 @@ Pod::Man - Convert POD data to formatted *roff input
=for stopwords
en em ALLCAPS teeny fixedbold fixeditalic fixedbolditalic stderr utf8
-UTF-8 Allbery Sean Burke Ossanna Solaris
+UTF-8 Allbery Sean Burke Ossanna Solaris formatters troff uppercased
+Christiansen
=head1 SYNOPSIS
diff --git a/lib/Pod/Text.pm b/lib/Pod/Text.pm
index f0da802dd6..98dd434d6d 100644
--- a/lib/Pod/Text.pm
+++ b/lib/Pod/Text.pm
@@ -37,7 +37,7 @@ use Pod::Simple ();
# We have to export pod2text for backward compatibility.
@EXPORT = qw(pod2text);
-$VERSION = 3.10;
+$VERSION = 3.11;
##############################################################################
# Initialization
@@ -640,7 +640,7 @@ __END__
Pod::Text - Convert POD data to formatted ASCII text
=for stopwords
-alt stderr Allbery Sean Burke's
+alt stderr Allbery Sean Burke's Christiansen
=head1 SYNOPSIS
diff --git a/lib/Pod/Text/Overstrike.pm b/lib/Pod/Text/Overstrike.pm
index c11330dbd4..00b505d44d 100644
--- a/lib/Pod/Text/Overstrike.pm
+++ b/lib/Pod/Text/Overstrike.pm
@@ -34,7 +34,7 @@ use vars qw(@ISA $VERSION);
@ISA = qw(Pod::Text);
-$VERSION = 2.01;
+$VERSION = 2.02;
##############################################################################
# Overrides
@@ -146,10 +146,13 @@ __END__
=head1 NAME
+=for stopwords
+overstrike
+
Pod::Text::Overstrike - Convert POD data to formatted overstrike text
=for stopwords
-overstruck Overstruck Allbery
+overstruck Overstruck Allbery terminal's
=head1 SYNOPSIS
diff --git a/lib/Pod/t/man-options.t b/lib/Pod/t/man-options.t
index 0d86cb896c..04895d539c 100644
--- a/lib/Pod/t/man-options.t
+++ b/lib/Pod/t/man-options.t
@@ -16,7 +16,7 @@ BEGIN {
}
unshift (@INC, '../blib/lib');
$| = 1;
- print "1..16\n";
+ print "1..7\n";
}
END {
@@ -42,7 +42,6 @@ $loaded = 1;
print "ok 1\n";
my $n = 2;
-eval { binmode (\*DATA, ':encoding(utf-8)') };
while (<DATA>) {
my %options;
next until $_ eq "###\n";
@@ -52,8 +51,6 @@ while (<DATA>) {
$options{$option} = $value;
}
open (TMP, '> tmp.pod') or die "Cannot create tmp.pod: $!\n";
- eval { binmode (\*TMP, ':encoding(utf-8)') };
- print TMP "=encoding utf-8\n\n";
while (<DATA>) {
last if $_ eq "###\n";
print TMP $_;
@@ -61,16 +58,13 @@ while (<DATA>) {
close TMP;
my $parser = Pod::Man->new (%options) or die "Cannot create parser\n";
open (OUT, '> out.tmp') or die "Cannot create out.tmp: $!\n";
- eval { binmode (\*OUT, ':encoding(utf-8)') };
stderr_save;
$parser->parse_from_file ('tmp.pod', \*OUT);
stderr_restore;
close OUT;
my $accents = 0;
open (TMP, 'out.tmp') or die "Cannot open out.tmp: $!\n";
- eval { binmode (\*TMP, ':encoding(utf-8)') };
while (<TMP>) {
- $accents = 1 if /Accent mark definitions/;
last if /^\.nh/;
}
my $output;
@@ -80,14 +74,6 @@ while (<DATA>) {
}
close TMP;
unlink ('tmp.pod', 'out.tmp');
- if (($options{utf8} && !$accents) || (!$options{utf8} && $accents)) {
- print "ok $n\n";
- } else {
- print "not ok $n\n";
- print ($accents ? "Saw accents\n" : "Saw no accents\n");
- print ($options{utf8} ? "Wanted no accents\n" : "Wanted accents\n");
- }
- $n++;
my $expected = '';
while (<DATA>) {
last if $_ eq "###\n";
@@ -129,46 +115,6 @@ while (<DATA>) {
__DATA__
###
-utf8 1
-###
-=head1 BEYONCÉ
-
-Beyoncé! Beyoncé! Beyoncé!!
-
- Beyoncé! Beyoncé!
- Beyoncé! Beyoncé!
- Beyoncé! Beyoncé!
-
-Older versions did not convert Beyoncé in verbatim.
-###
-.SH "BEYONCÉ"
-.IX Header "BEYONCÉ"
-Beyoncé! Beyoncé! Beyoncé!!
-.PP
-.Vb 3
-\& Beyoncé! Beyoncé!
-\& Beyoncé! Beyoncé!
-\& Beyoncé! Beyoncé!
-.Ve
-.PP
-Older versions did not convert Beyoncé in verbatim.
-###
-###
-
-###
-utf8 1
-###
-=head1 SE<lt>E<gt> output with UTF-8
-
-This is S<non-breaking output>.
-###
-.SH "S<> output with UTF\-8"
-.IX Header "S<> output with UTF-8"
-This is non-breaking output.
-###
-###
-
-###
fixed CR
fixedbold CY
fixeditalic CW
@@ -202,8 +148,8 @@ Bar.
.SH "POD ERRORS"
.IX Header "POD ERRORS"
Hey! \fBThe above document had some coding errors, which are explained below:\fR
-.IP "Around line 9:" 4
-.IX Item "Around line 9:"
+.IP "Around line 7:" 4
+.IX Item "Around line 7:"
You forgot a '=back' before '=head1'
###
###
@@ -225,5 +171,5 @@ Bar.
.SH "NEXT"
.IX Header "NEXT"
###
-tmp.pod around line 9: You forgot a '=back' before '=head1'
+tmp.pod around line 7: You forgot a '=back' before '=head1'
###
diff --git a/lib/Pod/t/man-utf8.t b/lib/Pod/t/man-utf8.t
new file mode 100644
index 0000000000..a53208baad
--- /dev/null
+++ b/lib/Pod/t/man-utf8.t
@@ -0,0 +1,141 @@
+#!/usr/bin/perl -w
+#
+# man-options.t -- Additional tests for Pod::Man options.
+#
+# Copyright 2002, 2004, 2006, 2008 Russ Allbery <rra@stanford.edu>
+#
+# This program is free software; you may redistribute it and/or modify it
+# under the same terms as Perl itself.
+
+BEGIN {
+ chdir 't' if -d 't';
+ if ($ENV{PERL_CORE}) {
+ @INC = '../lib';
+ } else {
+ unshift (@INC, '../blib/lib');
+ }
+ unshift (@INC, '../blib/lib');
+ $| = 1;
+ print "1..5\n";
+
+ # UTF-8 support requires Perl 5.8 or later.
+ if ($] < 5.008) {
+ my $n;
+ for $n (1..5) {
+ print "ok $n # skip -- Perl 5.8 required for UTF-8 support\n";
+ }
+ exit;
+ }
+}
+
+END {
+ print "not ok 1\n" unless $loaded;
+}
+
+use Pod::Man;
+
+$loaded = 1;
+print "ok 1\n";
+
+my $n = 2;
+eval { binmode (\*DATA, ':encoding(utf-8)') };
+while (<DATA>) {
+ my %options;
+ next until $_ eq "###\n";
+ while (<DATA>) {
+ last if $_ eq "###\n";
+ my ($option, $value) = split;
+ $options{$option} = $value;
+ }
+ open (TMP, '> tmp.pod') or die "Cannot create tmp.pod: $!\n";
+ eval { binmode (\*TMP, ':encoding(utf-8)') };
+ print TMP "=encoding utf-8\n\n";
+ while (<DATA>) {
+ last if $_ eq "###\n";
+ print TMP $_;
+ }
+ close TMP;
+ my $parser = Pod::Man->new (%options) or die "Cannot create parser\n";
+ open (OUT, '> out.tmp') or die "Cannot create out.tmp: $!\n";
+ eval { binmode (\*OUT, ':encoding(utf-8)') };
+ $parser->parse_from_file ('tmp.pod', \*OUT);
+ close OUT;
+ my $accents = 0;
+ open (TMP, 'out.tmp') or die "Cannot open out.tmp: $!\n";
+ eval { binmode (\*TMP, ':encoding(utf-8)') };
+ while (<TMP>) {
+ $accents = 1 if /Accent mark definitions/;
+ last if /^\.nh/;
+ }
+ my $output;
+ {
+ local $/;
+ $output = <TMP>;
+ }
+ close TMP;
+ unlink ('tmp.pod', 'out.tmp');
+ if (($options{utf8} && !$accents) || (!$options{utf8} && $accents)) {
+ print "ok $n\n";
+ } else {
+ print "not ok $n\n";
+ print ($accents ? "Saw accents\n" : "Saw no accents\n");
+ print ($options{utf8} ? "Wanted no accents\n" : "Wanted accents\n");
+ }
+ $n++;
+ my $expected = '';
+ while (<DATA>) {
+ last if $_ eq "###\n";
+ $expected .= $_;
+ }
+ if ($output eq $expected) {
+ print "ok $n\n";
+ } else {
+ print "not ok $n\n";
+ print "Expected\n========\n$expected\nOutput\n======\n$output\n";
+ }
+ $n++;
+}
+
+# Below the marker are bits of POD and corresponding expected text output.
+# This is used to test specific features or problems with Pod::Man. The
+# input and output are separated by lines containing only ###.
+
+__DATA__
+
+###
+utf8 1
+###
+=head1 BEYONCÉ
+
+Beyoncé! Beyoncé! Beyoncé!!
+
+ Beyoncé! Beyoncé!
+ Beyoncé! Beyoncé!
+ Beyoncé! Beyoncé!
+
+Older versions did not convert Beyoncé in verbatim.
+###
+.SH "BEYONCÉ"
+.IX Header "BEYONCÉ"
+Beyoncé! Beyoncé! Beyoncé!!
+.PP
+.Vb 3
+\& Beyoncé! Beyoncé!
+\& Beyoncé! Beyoncé!
+\& Beyoncé! Beyoncé!
+.Ve
+.PP
+Older versions did not convert Beyoncé in verbatim.
+###
+
+###
+utf8 1
+###
+=head1 SE<lt>E<gt> output with UTF-8
+
+This is S<non-breaking output>.
+###
+.SH "S<> output with UTF\-8"
+.IX Header "S<> output with UTF-8"
+This is non-breaking output.
+###
diff --git a/lib/Pod/t/pod-spelling.t b/lib/Pod/t/pod-spelling.t
index 9c6bfbd180..c13fb9d587 100644
--- a/lib/Pod/t/pod-spelling.t
+++ b/lib/Pod/t/pod-spelling.t
@@ -16,13 +16,17 @@ skip_all "Test::Pod 1.00 required for testing POD" if $@;
eval 'use Pod::Spell';
skip_all "Pod::Spell required to test POD spelling" if $@;
my @spell;
-for my $dir (split ':', $ENV{PATH}) {
- if (-x "$dir/ispell") {
- @spell = ("$dir/ispell", '-d', 'american', '-l', '-p', '/dev/null');
+my %options = (aspell => [ qw(-d en_US --home-dir=./ list) ],
+ ispell => [ qw(-d american -l -p /dev/null) ]);
+SEARCH: for my $program (qw/aspell ispell/) {
+ for my $dir (split ':', $ENV{PATH}) {
+ if (-x "$dir/$program") {
+ @spell = ("$dir/$program", @{ $options{$program} });
+ }
+ last SEARCH if @spell;
}
- last if @spell;
}
-skip_all "ispell required to test POD spelling" unless @spell;
+skip_all "aspell or ispell required to test POD spelling" unless @spell;
# Run the test, one for each POD file.
$| = 1;
@@ -35,7 +39,8 @@ for my $pod (@pod) {
if (not defined $child) {
die "Cannot fork: $!\n";
} elsif ($child == 0) {
- my $pid = open (SPELL, '|-', @spell) or die "Cannot run @spell: $!\n";
+ my $pid = open (SPELL, '|-', @spell)
+ or die "Cannot run @spell: $!\n";
open (POD, '<', $pod) or die "Cannot open $pod: $!\n";
my $parser = Pod::Spell->new;
$parser->parse_from_filehandle (\*POD, \*SPELL);
@@ -46,7 +51,7 @@ for my $pod (@pod) {
my @words = <CHILD>;
close CHILD;
if ($? != 0) {
- print "ok $n # skip - @spell failed\n";
+ print "ok $n # skip - @spell failed: $?\n";
} elsif (@words) {
for (@words) {
s/^\s+//;
diff --git a/lib/Pod/t/text-utf8.t b/lib/Pod/t/text-utf8.t
index 75728251f0..3d2904a426 100755
--- a/lib/Pod/t/text-utf8.t
+++ b/lib/Pod/t/text-utf8.t
@@ -17,6 +17,15 @@ BEGIN {
unshift (@INC, '../blib/lib');
$| = 1;
print "1..3\n";
+
+ # UTF-8 support requires Perl 5.8 or later.
+ if ($] < 5.008) {
+ my $n;
+ for $n (1..3) {
+ print "ok $n # skip -- Perl 5.8 required for UTF-8 support\n";
+ }
+ exit;
+ }
}
END {