Subject: bug#23219: 25.0.92; Find command cannot be customized for grep-find

From: Dmitry Gutov <[email-masked]>
Date: Tue, 5 Apr 2016 00:16:32 +0300

On 04/04/2016 11:37 PM, Eli Zaretskii wrote:
> On one of my machines, the GNU Find utility's executable file is named
> 'gfind'.  To have xref-collect-matches work, I customized
> grep-find-command to have the value "gfind", but the find-grep pipe
> used after that still tried to invoke 'find', not 'gfind'.

You need grep-find-template, not grep-find-command.

> Looking
> around, I see that grep-compute-defaults effectively ignores
> grep-find-command and uses the value of find-program instead.  Now,
> find-program is a defvar, so it wasn't supposed to be customized.  Its
> value is never changed, no matter what are your customizations.

Yes, it's a mess. Auto-computed custom variable values don't make much 
sense to me either, but maybe the idea is if you want to change the 
program to use as 'find', it'll likely have a slightly different syntax 
(not in your case, though), and grep-compute-defaults might fail to 
work, so you're better off customizing the end values.

> How am I supposed to make this stuff work in this situation?  If the
> solution is to poke find-program,

Probably.

> it should be defcustom,

*shrug*

> and I
> shouldn't need to customize 2 variables to begin with.  Why isn't
> find-program get the value from grep-find-command?

It's the other way around: grep-compute-defaults sets grep-find-command 
using the value of find-program.