Closed p5pRT closed 20 years ago
I will soon be uploading version 1.13 of PodParser to CPAN. Until it shows up at a mirror near you\, it can also be obtained from my own personal FTP site at:
ftp://ftp.enteract.com/users/bradapp/src/libs/Perl/PodParser-1.13.tar.gz
with any luck\, this version fixes the output-comparison code so that it ignores any and all OS path character differences in filenames for output from podchecker.
Here are the patches (after my signature).
This patch should be used *instead* *of* an earlier patch posted On Tue\, Mar 14\, 2000 at by Haakon Alstadheim to make PodParser-1.12 to pass all tests on Windows NT. That patch attempted to modify the comparison input source rather than the comparison method - please use this patch instead.
-- Brad Appleton \bradapp@​enteract\.com http://www.enteract.com/~bradapp/ "And miles to go before I sleep." -- Robert Frost
diff -rcN PodParser-1.12/CHANGES PodParser-1.13/CHANGES
*** PodParser-1.12/CHANGES Thu Mar 16 00:50:36 2000
--- PodParser-1.13/CHANGES Thu Mar 16 00:46:25 2000
***************
*** 1\,3 ****
--- 1\,16 ----
+ 14-Mar-2000 Marek Rouchal \marek@​saftsack\.fs\.uni\-bayreuth\.de
+ 16-Mar-2000 Brad Appleton \bradapp@​enteract\.com
+ -----------------------------------------------------------------------------
+ Version 1.13
+ + Improved support of Win32 and OS/2 platforms by using File::Spec in
+ Pod::Find
+ + strip .bat and .cmd on Win32 and OS/2\, respectively
+ + removed all tabs from Pod::Find and reviewed POD documentation
+ + finally fixed t/pod/ptestpchk.pl to ignore any and all non-word-chars
+ in pathnames. No more special casing filenames for MacOS\, NT\, VMS\, etc
+ just for the sake of passing the t/pod/poderrs.t test!
+
+
11-Mar-2000 Brad Appleton \bradapp@​enteract\.com
-----------------------------------------------------------------------------
Version 1.12
diff -rcN PodParser-1.12/Makefile.PL PodParser-1.13/Makefile.PL
*** PodParser-1.12/Makefile.PL Thu Mar 16 00:55:48 2000
--- PodParser-1.13/Makefile.PL Thu Mar 16 00:55:52 2000
***************
*** 48\,54 ****
WriteMakefile(
NAME => $DISTMOD\,
DISTNAME => $DISTNAME\,
! VERSION_FROM => 'lib/Pod/Parser.pm'\, ## Finds distribution $VERSION
PL_FILES => { map { (script("$_.PL") => script($_)) } @SCRIPTS }\,
EXE_FILES => [ @EXE_FILES ]\,
dist => { COMPRESS => 'gzip'\, SUFFIX => 'gz' }\,
--- 48\,54 ----
WriteMakefile(
NAME => $DISTMOD\,
DISTNAME => $DISTNAME\,
! VERSION => 1.13\,
PL_FILES => { map { (script("$_.PL") => script($_)) } @SCRIPTS }\,
EXE_FILES => [ @EXE_FILES ]\,
dist => { COMPRESS => 'gzip'\, SUFFIX => 'gz' }\,
diff -rcN PodParser-1.12/t/pod/testpchk.pl PodParser-1.13/t/pod/testpchk.pl
*** PodParser-1.12/t/pod/testpchk.pl Thu Mar 16 00:36:36 2000
--- PodParser-1.13/t/pod/testpchk.pl Thu Mar 16 00:42:13 2000
***************
*** 34\,64 ****
## filter out platform-dependent aspects of error messages
my ($line1\, $line2) = @_;
for ($line1\, $line2) {
! if ( /^#*\s*(\S.*?)\s+(?:has \d+\s*)?pod syntax (?:error|OK)/ ) {
! my $fname = $1;
! s/^#*\s*// if ($^O eq 'MacOS');
! s/^\s*\Q$fname\E/stripname($fname)/e;
! }
! elsif ( /^#*\s*\*+\s*(?:ERROR|Unterminated)/ ) {
! s/^#*\s*// if ($^O eq 'MacOS');
! s/of file\s+(\S.*?)\s*$/"of file ".stripname($1)/e;
! s/at\s+(\S.*?)\s+line/"at ".stripname($1)." line"/e;
! }
}
! my $x = $line1 ne $line2;
! return $x if (!$x || $^O ne 'VMS');
!
! # if not identical\, it could be because of differing file naming
! my (@a) = split(/\s/\,$line2); # 'standard'
! my (@b) = split(/\s/\,$line1); # vmsish
!
! foreach (@a) {
! $x = shift(@b);
! next if $x eq $_;
! next if lc(VMS::Filespec::unixify($x)) eq lc($_);
! return 1;
! }
! return $#b >= 0;
}
sub testpodcheck( @ ) {
--- 34\,45 ----
## filter out platform-dependent aspects of error messages
my ($line1\, $line2) = @_;
for ($line1\, $line2) {
! ## remove filenames from error messages to avoid any
! ## filepath naming differences between OS platforms
! s/(at line \S+ in file) .*\W(\w+\.[tT])\s*$/$1 \L$2\E/;
! s/.*\W(\w+\.[tT]) (has \d+ pod syntax error)/\L$1\E $2/;
}
! return ($line1 ne $line2);
}
sub testpodcheck( @ ) {
diff -rcN PodParser-1.12/lib/Pod/Find.pm PodParser-1.13/lib/Pod/Find.pm
*** PodParser-1.12/lib/Pod/Find.pm Sun Mar 12 00:51:11 2000
--- PodParser-1.13/lib/Pod/Find.pm Tue Mar 14 11:01:29 2000
***************
*** 13\,19 ****
package Pod::Find;
use vars qw($VERSION);
! $VERSION = 0.11; ## Current version of this package
require 5.005; ## requires this Perl version or later
#############################################################################
--- 13\,19 ----
package Pod::Find;
use vars qw($VERSION);
! $VERSION = 0.12; ## Current version of this package
require 5.005; ## requires this Perl version or later
#############################################################################
***************
*** 49\,61 ****
A warning is printed if more than one POD file with the same POD name
is found\, e.g. F\<CPAN.pm> in different directories. This usually
! indicates duplicate occurences of modules in the I\<@INC> search path.
The function B\<simplify_name> is equivalent to B\
Note that neither B\<pod_find> nor B\<simplify_name> are exported by
! default so be sure to specify them in the B\
Migrated from rt.perl.org#2785 (status was 'resolved')
Searchable as RT2785$