Subject: bug#71179: [PATCH] In rgrep, check matching files before excluding files

From: Dmitry Gutov <[email-masked]>
Date: Sun, 26 May 2024 15:56:13 +0300

On 26/05/2024 09:50, Juri Linkov wrote:
>>> A grep-find-template that doesn't include <X> will indeed start seeing
>>> ignores based on grep-find-ignored-files in rgrep.  But, such a user can
>>> just set grep-find-ignored-files to nil and then they'll stop seeing
>>> ignores again.
>> Yeah, that sounds like a good enough solution for such cases.
>>
>> I recall that Juri experimented with customizing grep-find-template (to use
>> ripgrep? and perhaps other things). I wonder what he thinks about this
>> patch.
> I'm using such configuration for ripgrep that hopefully should continue working:
> 
>    (setq grep-find-template "find <D> <X> -type f <F> -print0 | sort -z | xargs -0 -e rg <C> -nH --no-heading --null -j8 --sort path -M 200 --max-columns-preview -e <R>")

AFAICT it will continue to work fine.

I think you can drop the 'sort -z' step, though: the sorting at the end 
of xref-matches-in-files covers the results' order, and adding a 
synchronizing step like this slows down the overall process a little 
(see bug#71094).