From: Junio C Hamano Date: Wed, 21 Jan 2026 16:26:24 GMT Subject: Re: [PATCH] replay: drop rev-list formatting options from manual Message-ID: In-Reply-To: Jean-Noël Avila writes: >> The original comes from f81a574f (doc: test linkgit macros for >> well-formedness, 2025-08-11); its author Cc'ed for better ideas. >> > > The initial motive for this script was to catch malformed linkgit > occurrences that were present in the docs: stray git-foo[1], without > the linkgit macro and misnamed gitlink:git-foo[1]. Not knowing what > would come next, the regex was coined very broad, with the assumed risk > of raising false positives. > > The issue here is in handling the ifdef macros which are block macros > and are more easily detected as such. I would reject preemtively lines > with '^ifn?def::' instead. Yup, that is much cleaner. Thanks! > ----- >8 ----- > Subject: [PATCH] lint-gitlink: preemptively ignore all /ifn?def|endif/ macros > > Instead of testing if the macro name is ifn?def:: as if it were a inline > macro, it is faster and safer to just ignore such block macro lines before > hand. > > Signed-off-by: Jean-Noël Avila > --- > Documentation/lint-gitlink.perl | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/Documentation/lint-gitlink.perl b/Documentation/lint-gitlink.perl > index f183a18df..b5d982e8e 100755 > --- a/Documentation/lint-gitlink.perl > +++ b/Documentation/lint-gitlink.perl > @@ -41,10 +41,11 @@ sub report { > @ARGV = $to_check; > while (<>) { > my $line = $_; > + next if $line =~ /^\s*(ifn?def|endif)::/; > while ($line =~ m/(.{,8})((git[-a-z]+|scalar)\[(\d)*\])/g) { > my $pos = pos $line; > my ($macro, $target, $page, $section) = ($1, $2, $3, $4); > - if ( $macro ne "linkgit:" && $macro !~ "ifn?def::" && $macro ne "endif::" ) { > + if ( $macro ne "linkgit:" ) { > report($pos, $line, $target, "linkgit: macro expected"); > } > }