From 7134ed5c1c22f42c6938c4e7ecf5c2be57a6fcf6 Mon Sep 17 00:00:00 2001 From: "Ryan C. Gordon" Date: Thu, 18 Jun 2026 13:42:44 -0400 Subject: [PATCH] wikiheaders: Fix links in manpage generation. Fixes #15665. --- build-scripts/wikiheaders.pl | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/build-scripts/wikiheaders.pl b/build-scripts/wikiheaders.pl index e7074c959a..a129d5b83c 100755 --- a/build-scripts/wikiheaders.pl +++ b/build-scripts/wikiheaders.pl @@ -396,6 +396,19 @@ sub wikify { return $retval; } +sub gen_manpage_url { + my $url = shift; + my $desc = shift; + + # We have to unmangle some mangling we just did. :/ + $url =~ s/\\\[char46\]/./g; + + # can't have newlines in this. + $desc =~ s/\n/ /g; + + return "\n.URL \"$url\" \"$desc\"\n"; +} + my $dewikify_mode = 'md'; my $dewikify_manpage_code_indent = 1; @@ -459,7 +472,7 @@ sub dewikify_chunk { } # links - $str =~ s/\[(https?\:\/\/.*?)\s+(.*?)\]/\n.URL "$1" "$2"\n/g; + $str =~ s/\[(https?\:\/\/.*?)\s+(.*?)\]\s*/gen_manpage_url($1, $2)/ge; # is also popular. :/ $str =~ s/\s*\(.*?)<\/code>\s*/\n.BR $1\n/gms; @@ -496,7 +509,7 @@ sub dewikify_chunk { } # links - $str =~ s/\[(.*?)]\((https?\:\/\/.*?)\)/\n.URL "$2" "$1"\n/g; + $str =~ s/\[([^\]]*?)]\((https?\:\/\/.*?)\)\s*/gen_manpage_url($2, $1)/ge; # is also popular. :/ $str =~ s/\s*(\S*?)\`([^\n]*?)\`(\S*)\s*/\n.BR "" "$1" "$2" "$3"\n/gms;