@@ -1491,43 +1491,41 @@ Initializes MAN3PODS from the list of PM files.
1491
1491
sub init_MAN3PODS {
1492
1492
my $self = shift ;
1493
1493
1494
- my %manifypods = (); # we collect the keys first, i.e. the files
1495
- # we have to convert to pod
1496
-
1497
- foreach my $name (keys %{$self -> {PM }}) {
1498
- if ($name =~ / \. pod\z / ) {
1499
- $manifypods {$name } = $self -> {PM }{$name };
1500
- } elsif ($name =~ / \. p[ml]\z / ) {
1501
- if ( $self -> _has_pod($name ) ) {
1502
- $manifypods {$name } = $self -> {PM }{$name };
1503
- }
1504
- }
1505
- }
1506
-
1507
1494
my $parentlibs_re = join ' |' , @{$self -> {PMLIBPARENTDIRS }};
1508
-
1509
- # Remove "Configure.pm" and similar, if it's not the only pod listed
1510
- # To force inclusion, just name it "Configure.pod", or override
1511
- # MAN3PODS
1512
- foreach my $name ( keys %manifypods ) {
1513
- if (
1495
+ my %man ;
1496
+ foreach my $name ( sort keys %{ $self -> { PM }}) {
1497
+ # Remove "Configure.pm" and similar, if it's not the only pod listed
1498
+ # To force inclusion, just name it "Configure.pod", or override
1499
+ # MAN3PODS
1500
+ if (
1514
1501
($self -> {PERL_CORE } and $name =~ / (config|setup).*\. pm/is ) or
1515
1502
( $name eq ' README.pod' ) # don't manify top-level README.pod
1516
1503
) {
1517
- delete $manifypods {$name };
1518
- next ;
1519
- }
1520
- my ($manpagename ) = $name ;
1521
- $manpagename =~ s /\. p(od|m|l)\z // ;
1522
- # everything below lib is ok
1523
- unless ($manpagename =~ s ! ^\W *($parentlibs_re)\W +!! s ) {
1524
- $manpagename = $self -> catfile(
1525
- split (/ ::/ ,$self -> {PARENT_NAME }),$manpagename
1526
- );
1527
- }
1528
- $manpagename = $self -> replace_manpage_separator($manpagename );
1529
- $self -> {MAN3PODS }-> {$name } =
1530
- $self -> catfile(" \$ (INST_MAN3DIR)" , " $manpagename .\$ (MAN3EXT)" );
1504
+ next ;
1505
+ }
1506
+ my $man = $name ;
1507
+ $man =~ s /\. (p(?:od|m|l))\z // ;
1508
+ my $ext = $1 ;
1509
+ unless ($man =~ s ! ^\W *($parentlibs_re)\W +!! s ) {
1510
+ $man = $self -> catfile(
1511
+ split (/ ::/ ,$self -> {PARENT_NAME }),$man
1512
+ );
1513
+ }
1514
+ $man = $self -> replace_manpage_separator($man ) .' .$(MAN3EXT)' ;
1515
+ if ($ext && $ext eq ' pod' ) {
1516
+ $man {$man } = $name ;
1517
+ }
1518
+ else {
1519
+ $man {$man } ||= $name ;
1520
+ }
1521
+ }
1522
+
1523
+ foreach my $man (keys %man ) {
1524
+ my $name = $man {$man };
1525
+ next
1526
+ if $name =~ / \. p[ml]\z / && !$self -> _has_pod($name );
1527
+ $self -> {MAN3PODS }-> {$name } =
1528
+ $self -> catfile(" \$ (INST_MAN3DIR)" , $man );
1531
1529
}
1532
1530
}
1533
1531
0 commit comments