Subject: bug#53644: 29.0.50; xref-search-program breaks if programm not installed on a remote host

From: Michael Albinus <[email-masked]>
Date: Fri, 04 Feb 2022 09:15:15 +0100

Dmitry Gutov <[email-masked]> writes:

> Hi Philip,

Hi Dmitry,

>> When invoking a command that respects xref-search-program via TRAMP,
>> e.g. on a remote system that doesn't have (in my case ripgrep)
>> installed, an error is signalled indicating that the search query
>> couldn't be executed.
>
> One way to work around this will probably involve an addition to
> find-file-hook and some code which checks (file-remote-p
> buffer-file-name) and sets xref-search-program to a particular value
> buffer-locally depending on the result.
>
> Or an around-advice for xref-matches-in-files.

There are connection-local variables exactly for this use case.

> A proper solution would probably look more similar to
> grep-host-defaults-alist and grep-compute-defaults.

On my wishlist, there is moving grep-*-defaults to connection-local
variables. But I fear it will break too many existing configurations.

Best regards, Michael.