GNU bug report logs - #38992
27.0.60; when enabled, fido-mode seems to break vc-git-grep

Previous Next

Package: emacs;

Reported by: waah <at> yellowfrog.io

Date: Mon, 6 Jan 2020 17:47:02 UTC

Severity: normal

Merged with 39407

Found in versions 27.0.60, 28.0.50

Done: João Távora <joaotavora <at> gmail.com>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Stefan Monnier <monnier <at> iro.umontreal.ca>
To: João Távora <joaotavora <at> gmail.com>
Cc: 38992 <at> debbugs.gnu.org, waah <at> yellowfrog.io, Dmitry Gutov <dgutov <at> yandex.ru>
Subject: bug#38992: 27.0.60; when enabled, fido-mode seems to break vc-git-grep
Date: Mon, 20 Jan 2020 18:04:35 -0500
>> I'm not very familiar with the code.  Do we really need the
>> minibuffer-force-complete call there?  I commented it out and can't see
>> the difference.

The `minibuffer-force-complete` call is the one which actually selects
the "first candidate" from the list of completions, so I do think it's necessary.

IIUC the bug under discussion is related to the `required` argument of
`completing-read` (and to `minibuffer-completion-confirm`).
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).

The problem here is probably caused by the fact that fido-mode arranges
for `minibuffer-force-complete` to choose the *default* rather than to
choose a candidate from the completion table.  It's rare for
a completion table to return candidates that don't pass
`test-completion` (tho it's by not impossible nor incorrect), but it's
much less rare for the default not to pass `test-completion`.


        Stefan





This bug report was last modified 5 years and 77 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.