Change 33747 by rgs@scipion on 2008/04/26 15:06:16
Subject: [PATCH] update Pod-Perldoc to version 3.14_04
From: "Adriano Ferreira" <a.r.ferreira@gmail.com>
Date: Wed, 23 Apr 2008 09:45:35 -0300
Message-ID: <73ddeb6c0804230545v75fee05dmeb849636addb14e1@mail.gmail.com>
Affected files ...
... //depot/perl/lib/Pod/Perldoc.pm#19 edit
Differences ...
==== //depot/perl/lib/Pod/Perldoc.pm#19 (text) ====
Index: perl/lib/Pod/Perldoc.pm
--- perl/lib/Pod/Perldoc.pm#18~31763~ 2007-08-30 01:51:20.000000000 -0700
+++ perl/lib/Pod/Perldoc.pm 2008-04-26 08:06:16.000000000 -0700
@@ -12,7 +12,7 @@
use vars qw($VERSION @Pagers $Bindir $Pod2man
$Temp_Files_Created $Temp_File_Lifetime
);
-$VERSION = '3.14_02';
+$VERSION = '3.14_04';
#..........................................................................
BEGIN { # Make a DEBUG constant very first thing...
@@ -824,17 +824,20 @@
#.........................................................................
-sub pod_dirs { # @dirs = pod_dirs($translator);
- my $tr = shift;
- return $tr->pod_dirs if $tr->can('pod_dirs');
-
- my $mod = ref $tr || $tr;
- $mod =~ s|::|/|g;
- $mod .= '.pm';
-
- my $dir = $INC{$mod};
- $dir =~ s/\.pm\z//;
- return $dir;
+sub new_translator { # $tr = $self->new_translator($lang);
+ my $self = shift;
+ my $lang = shift;
+
+ my $pack = 'POD2::' . uc($lang);
+ eval "require $pack";
+ if ( !$@ && $pack->can('new') ) {
+ return $pack->new();
+ }
+
+ eval { require POD2::Base };
+ return if $@;
+
+ return POD2::Base->new({ lang => $lang });
}
#.........................................................................
@@ -842,15 +845,17 @@
sub add_translator { # $self->add_translator($lang);
my $self = shift;
for my $lang (@_) {
- my $pack = 'POD2::' . uc($lang);
- eval "require $pack";
- if ( $@ ) {
- # XXX warn: non-installed translator package
+ my $tr = $self->new_translator($lang);
+ if ( defined $tr ) {
+ push @{ $self->{'translators'} }, $tr;
+ push @{ $self->{'extra_search_dirs'} }, $tr->pod_dirs;
+
+ $self->aside( "translator for '$lang' loaded\n" );
} else {
- push @{ $self->{'translators'} }, $pack;
- push @{ $self->{'extra_search_dirs'} }, pod_dirs($pack);
- # XXX DEBUG
+ # non-installed or bad translator package
+ warn "Perldoc cannot load translator package for '$lang': ignored\n";
}
+
}
return;
}
@@ -1456,13 +1461,13 @@
# Does this look like a module or extension directory?
- if (-f "Makefile.PL") {
+ if (-f "Makefile.PL" || -f "Build.PL") {
# Add "." and "lib" to @INC (if they exist)
eval q{ use lib qw(. lib); 1; } or die;
# don't add if superuser
- if ($< && $> && -f "blib") { # don't be looking too hard now!
+ if ($< && $> && -d "blib") { # don't be looking too hard now!
eval q{ use blib; 1 };
warn $@ if $@ && $self->opt_v;
}
End of Patch.