http://pdl.cvs.sourceforge.net/pdl/PDL/Doc/Doc/Perldl.pm?view=log&sortby=date&pathrev=MAIN

The above seems to be the specific fix in upstream.  Here is the specific
patch that needs to be applied:

--- Perldl.pm   2004/03/18 06:49:04     1.20
+++ Perldl.pm   2008/06/09 20:04:34     1.21
@@ -40,7 +40,7 @@
 
 use PDL::Doc;
 use IO::File;
-use Pod::Text;
+use Pod::PlainText;
 
 $PDL::onlinedoc = undef;
 $PDL::onlinedoc = new PDL::Doc (FindStdFile());
@@ -48,23 +48,6 @@
 use PDL::Config;
 my $bvalflag = $PDL::Config{WITH_BADVAL} || 0;
 
-# pod commands are stripped from the ref string before printing.
-# How we do this depends on the version of Pod::Text installed.
-#
-# I'm guessing the difference in behaviour is between versions
-# 1 and 2 of Pod::Text (it's certainly true for 
-# version 1.0203 (perl5.005_03) and 2.03 (perl 5.6.0))
-#
-# version 1:
-#  we use a private routine from Pod::Text
-#  (prepare_for_output) in printmatch() in order
-#  to strip away pod directives from the ref
-#  string
-#
-# version 2: (Thanks to Tim Jenness)
-#  create an object and use the interpol() method
-#
-
 # Find std file
 
 sub FindStdFile {
@@ -97,9 +80,6 @@
        || 72;
 }
 
-# the $^W assignment stops Pod::Text::fill() from 
-# generating "Use of uninitialised values" errors
-#
 sub printmatch {
     my @match = @_;
     if (@match) {
@@ -113,58 +93,34 @@
 # for the given matches
 #
 sub format_ref {
-    my @match = @_;
-    my @text = ();
+  my @match = @_;
+  my @text = ();
 
-    # XXX this is NASTY
-    my $width = screen_width()-17;
-    if ( $Pod::Text::VERSION < 2 ) {
-       $Pod::Text::indent = 0;
-       $Pod::Text::SCREEN = $width;
-       local $^W = 0;
-       for my $m (@match) { 
-           $_ = $m->[1]{Ref} || 
-               ( (defined $m->[1]{CustomFile})
-                 ? "[No ref avail. for `".$m->[1]{CustomFile}."']"
-                 : "[No reference available]"
-                 );
-         Pod::Text::prepare_for_output(); # adds a '\n' to $_
-           $_ = Pod::Text::fill $_; # try and get `nice' wrapping 
-           s/\n*$//; # remove last new lines (so substitution doesn't append 
spaces 
at end of text)
-           s/\n/\n                /g;
-           my $name = $m->[0];
-           if ( length($name) > 15 ) { 
-               push @text, sprintf "%s ...\n                %s\n", $name, $_; 
-           } else {
-               push @text, sprintf "%-15s %s\n", $name, $_; 
-           }
-       }
+  my $width = screen_width()-17;
+  my $parser = new Pod::PlainText( width => $width, indent => 0, sentence => 
0 );
+
+  for my $m (@match) { 
+    my $ref = $m->[1]{Ref} || 
+      ( (defined $m->[1]{CustomFile})
+        ? "[No ref avail. for `".$m->[1]{CustomFile}."']"
+        : "[No reference available]"
+     );
+
+    $ref = $parser->interpolate( $ref );
+    $ref = $parser->reformat( $ref );
+
+    # remove last new lines (so substitution doesn't append spaces at end of 
text)
+    $ref =~ s/\n*$//;
+    $ref =~ s/\n/\n                /g;
+
+    my $name = $m->[0];
+    if ( length($name) > 15 ) { 
+      push @text, sprintf "%s ...\n                %s\n", $name, $ref;
     } else {
-       my $parser = new Pod::Text( width => $width, indent => 0, sentence => 0 
);
-       
-       for my $m (@match) { 
-           my $ref = $m->[1]{Ref} || 
-               ( (defined $m->[1]{CustomFile})
-                 ? "[No ref avail. for `".$m->[1]{CustomFile}."']"
-                 : "[No reference available]"
-                 );
-
-           $ref = $parser->interpolate( $ref );
-           $ref = $parser->reformat( $ref );
-           
-           # remove last new lines (so substitution doesn't append spaces at 
end of 
text)
-           $ref =~ s/\n*$//; 
-           $ref =~ s/\n/\n                /g;
-
-           my $name = $m->[0];
-           if ( length($name) > 15 ) { 
-               push @text, sprintf "%s ...\n                %s\n", $name, 
$ref; 
-           } else {
-               push @text, sprintf "%-15s %s\n", $name, $ref; 
-           }
-       }
+      push @text, sprintf "%-15s %s\n", $name, $ref;
     }
-    return wantarray ? @text : $text[0];
+  }
+  return wantarray ? @text : $text[0];
 
 } # sub: format_ref()
---

Cheers,
Daniel Moerner

Attachment: signature.asc
Description: This is a digitally signed message part.

Reply via email to