Subject: bug#55800: using rgrep function interactively with fido-mode or fido-vertical-mode causes errors

From: Eli Zaretskii <[email-masked]>
Date: Sun, 05 Jun 2022 16:02:46 +0300

[Please use Reply All to keep the discussion recorded by the bug tracker.]

> From: Yilkal Argaw <[email-masked]>
> Date: Sun, 5 Jun 2022 15:36:37 +0300
> 
> > from:Eli Zaretskii <[email-masked]>
> > to:Yilkal Argaw <[email-masked]>
> > cc:[email-masked]
> > date:Jun 5, 2022, 12:47 PM
> >
> > The problem seems to be in grep-read-files, when fido-mode is used:
> > the prompt says "default all", but fido understands RET as selecting
> > the currently-highlighted candidate, which happens to be "./" -- and
> > that, of course, makes no sense as an argument to "-name".
> 
> Why does the completion even show file names? In counsel-rg  which
> is a command that does similar thing from in the counsel package,the
> second step shows file extension types like c,cpp,el. Can the behaviour
> of the behaviour be modified to show such completion options.

The completion shows file names because the code calls
read-file-name-internal.  Try the same without fido, and at the prompt
for the wildcard type '?' -- you will see a list of files.  That's
what fido shows.

Why that code calls read-file-name-internal, I don't know; perhaps
because it wants to support the use case of searching a single file or
files in a directory?