splitpod broken in 5.004_01
Tim Bunce [Thu, 7 Aug 1997 00:00:00 +0000 (00:00 +0000)]
> From: Hans Mulder <hansmu@xs4all.nl>
>
> Splitpod is broken in 5.004_01.

Darn, my fault.

Thanks for this and your other bug reports. I guess _02 will be
sooner rather than later.

p5p-msgid: 9706241612.AA09119@toad.ig.co.uk

pod/splitpod

index 889dfa2..fd38e51 100755 (executable)
@@ -12,23 +12,29 @@ while (<>) {
 
     if (s/=item (\S+)/$1/) {
        #$cur = "POSIX::" . $1;
+       $next{$cur} = $1;
        $cur = $1;
        $syn{$cur} .= $_;
        next;
     } else { 
        #s,L</,L<POSIX/,g;
        s,L</,L<perlfunc/,g;
-       push @{$pod{$cur} ||= []}, $_ if $cur;
+       push @{$pod{$cur}}, $_ if $cur;
     }
 } 
 
 for $f ( keys %syn ) {
-    $type = $Type{$f} || next;
+    next unless $Type{$f};
     $flavor = $Flavor{$f};
     $orig = $f;
     ($name = $f) =~ s/\W//g;
+
+    # deal with several functions sharing a description
+    $func = $orig;
+    $func = $next{$func} until $pod{$func};
+    my $body = join "", @{$pod{$func}};
+
     # deal with unbalanced =over and =back cause by the split
-    my $body = $pod{$orig};
     my $has_over = $body =~ /^=over/;
     my $has_back = $body =~ /^=back/;
     $body =~ s/^=over\s*//m if $has_over and !$has_back;