From 76db4ee3e78428452a5d135a08a0352fd2d8f936 Mon Sep 17 00:00:00 2001
From: "Ryan C. Gordon" <[EMAIL REDACTED]>
Date: Thu, 18 Jun 2026 13:42:44 -0400
Subject: [PATCH] wikiheaders: Fix links in manpage generation.
Fixes #15665.
(cherry picked from commit 7134ed5c1c22f42c6938c4e7ecf5c2be57a6fcf6)
---
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 d2a1fab4cb316..e83959315b74f 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;
# <code></code> is also popular. :/
$str =~ s/\s*\<code>(.*?)<\/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;
# <code></code> is also popular. :/
$str =~ s/\s*(\S*?)\`([^\n]*?)\`(\S*)\s*/\n.BR "" "$1" "$2" "$3"\n/gms;