Re: [PATCH] replay: drop rev-list formatting options from manual
Jean-Noël Avila <jn.avila@free.fr> writes:
Show 13 quoted lines
>> 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!
Show 29 quoted lines
> ----- >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 <jn.avila@free.fr>
> ---
> 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");
> }
> }