Commit 5461867181 for perl
commit 5461867181eb44e082c7f62ce1ec2c86f2530d78
Author: Karl Williamson <khw@cpan.org>
Date: Mon Oct 26 10:26:06 2026 -0600
autodoc.pl: Add separate perl(intern/api) headings
perlapi/perlintern have the same sections, and prior to this commit the
heading for each section was identical in both. This commit allows for
a different heading to be specified for a given section between perlapi
and perlintern.
And it changes the perlintern heading for the "Character classification"
section, as the perlapi heading really describes just the publicly
available elements.
diff --git a/autodoc.pl b/autodoc.pl
index 153df3e8e6..fb79a5accf 100644
--- a/autodoc.pl
+++ b/autodoc.pl
@@ -293,7 +293,14 @@ my %valid_sections = (
$callback_scn => {},
$casting_scn => {},
$casing_scn => {},
- $classification_scn => {},
+ $classification_scn => {
+ intern_header => <<~'EOT',
+ Some of these internal macros and functions are helpers for public
+ API elements that classify characters. Others are used for
+ checking if the characters passed to them require special handling
+ of some sort.
+ EOT
+ },
$scope_scn => {},
$compiler_scn => {},
$directives_scn => {},
@@ -2640,8 +2647,21 @@ sub output ($destpod) { # Output a complete pod file
my $has_entries = $section_info && keys $section_info->%*;
if ($has_entries || $has_list) {
- print $fh "\n", $valid_sections{$section_name}{header}, "\n"
- if defined $valid_sections{$section_name}{header};
+ my $which_header;
+ if ($podname =~ /api/) {
+ $which_header = $valid_sections{$section_name}{api_header};
+ }
+ elsif ($podname =~ /intern/) {
+ $which_header = $valid_sections{$section_name}{intern_header};
+ }
+ else {
+ die "Unexpected destination pod '$podname'";
+ }
+
+ $which_header = $valid_sections{$section_name}{header}
+ unless defined $which_header;
+
+ print $fh "\n", $which_header, "\n" if defined $which_header;
# Output any heading-level documentation and delete so won't get in
# the way later