Subject: bug#55016: 28.1; xref-find-references finds no matches if project dir contains a space

From: Peter Povinec <[email-masked]>
Date: Tue, 19 Apr 2022 10:06:28 -0700

On Tue, Apr 19, 2022 at 12:13 AM Eli Zaretskii <[email-masked]> wrote:
>
> I'm running half-blind here, because you didn't tell which Xref
> backend is being used for this (do you have ID Utils or GNU Global or
> Cscope installed and used for the above recipe?).  My guess is that

Sorry, should have mentioned that the recipe is with 'emacs -Q',
no special backends.
I believe it is just doing find+grep underneath.

> Emacs uses the default "find | grep" to do the search, in which case
> the patch below should help; does it?
>
> diff --git a/lisp/cedet/semantic/symref/grep.el b/lisp/cedet/semantic/symref/grep.el
> index 27ea80f..bc96505 100644
> --- a/lisp/cedet/semantic/symref/grep.el
> +++ b/lisp/cedet/semantic/symref/grep.el
> @@ -124,7 +124,7 @@ semantic-symref-grep-use-template
>                   grep-find-template)
>                 pattern
>                 filepattern
> -               rootdir)))
> +               (shell-quote-argument rootdir))))
>      cmd))
>
>  (defcustom semantic-symref-grep-shell shell-file-name

The patch actually makes it worse. Now even the 'nospacedir' case fails
the same way (steps 6 and 7 in my recipe).