else {
@args = split /\s*\|\s*/, $_;
}
+ s/\b(NN|NULLOK)\b\s+//g for @args;
print $F $function->(@args);
}
print $F $trailer if $trailer;
my %apidocs;
my %gutsdocs;
my %docfuncs;
+my %seenfuncs;
my $curheader = "Unknown section";
sub docout ($$$) { # output the docs for one function
my($fh, $name, $docref) = @_;
my($flags, $docs, $ret, $file, @args) = @$docref;
+ $name =~ s/\s*$//;
$docs .= "NOTE: this function is experimental and may change or be
removed without notice.\n\n" if $flags =~ /x/;
$docs .= "NOTE: the perl_ form of this function is deprecated.\n\n"
if $flags =~ /p/;
- print $fh "=item $name\n$docs";
+ print $fh "=item $name\nX<$name>\n$docs";
if ($flags =~ /U/) { # no usage
# nothing
die "Can't create pod/perlapi.pod: $!\n";
binmode DOC;
-walk_table { # load documented functions into approriate hash
+walk_table { # load documented functions into appropriate hash
if (@_ > 1) {
my($flags, $retval, $func, @args) = @_;
return "" unless $flags =~ /d/;
$func =~ s/\t//g; $flags =~ s/p//; # clean up fields from embed.pl
$retval =~ s/\t//;
my $docref = delete $docfuncs{$func};
+ $seenfuncs{$func} = 1;
if ($docref and @$docref) {
if ($flags =~ /A/) {
$docref->[0].="x" if $flags =~ /M/;
- $apidocs{$docref->[4]}{$func} =
- [$docref->[0] . 'A', $docref->[1], $retval,
- $docref->[3], @args];
+ $apidocs{$docref->[4]}{$func} =
+ [$docref->[0] . 'A', $docref->[1], $retval, $docref->[3],
+ @args];
} else {
- $gutsdocs{$docref->[4]}{$func} =
+ $gutsdocs{$docref->[4]}{$func} =
[$docref->[0], $docref->[1], $retval, $docref->[3], @args];
}
}
else {
- warn "no docs for $func\n" unless $docref and @$docref;
+ warn "no docs for $func\n" unless $seenfuncs{$func};
}
}
return "";
perlapi - autogenerated documentation for the perl public API
=head1 DESCRIPTION
+X<Perl API> X<API> X<api>
This file contains the documentation of the perl public API generated by
embed.pl, specifically a listing of functions, macros, flags, and variables
Perl functions
=head1 DESCRIPTION
+X<internal Perl functions> X<interpreter functions>
This file is the autogenerated documentation of functions in the
Perl interpreter that are documented using Perl's internal documentation