Subject: bug#38992: 27.0.60; when enabled, fido-mode seems to break vc-git-grep

From: Stefan Monnier <[email-masked]>
Date: Tue, 21 Jan 2020 11:32:18 -0500

>> If `required` was nil (as is the case in `grep-read-files` which
>> I believe is the relevant function here), then when `test-completion`
>> fails, we should probably just call `exit-minibuffer` (rather than tell
>> the user that they should do that).
>
> Ido added an extra prompt in situations like this, I think. What you're
> saying was my first suggestion, but it would require a more invasive change.

I haven't thought about what the code would look like, admittedly.
Not sure why it would be particularly invasive, tho.

> And icomplete-force-complete-and-exit, as implemented, calls
> minibuffer-force-complete-and-exit which doesn't seem to care (or know?) 
> that REQUIRED was nil.

Good point: `minibuffer-force-complete-and-exit` probably needs to be
changed accordingly (i.e. to just `exit-minibuffer` when `required` was
nil).

> BTW, I now see that my patch changes a function belonging to icomplete,
> whileas the intention was only to fix fido-mode's behavior. Do you think 
> the change fits icomplete-mode as well?

I haven't kept track of icomplete-mode in enough detail to be sure, but
I guess so.

> Um, not sure I understand. The problem here is that typing 'all'
> (unless it matches some of the local files names) or '*.el' and typing
> RET doesn't work.

I thought in the reported case, the user just selected the default
(which happened to be a glob pattern).

In any case I was just pointing out that adding the default to the head
of the "completion candidates" increases the cases where the current
problem shows up.

        Stefan