GNU bug report logs -
#43120
28.0.50; fido-mode: M-j before completions appear selects wrong choice
Previous Next
Reported by: Sean Whitton <spwhitton <at> spwhitton.name>
Date: Sun, 30 Aug 2020 21:01:01 UTC
Severity: normal
Tags: fixed
Merged with 43083
Found in version 28.0.50
Fixed in version 28.1
Done: Lars Ingebrigtsen <larsi <at> gnus.org>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
Hello Lars,
On Fri 04 Sep 2020 at 05:27AM +02, Lars Ingebrigtsen wrote:
> Sean Whitton <spwhitton <at> spwhitton.name> writes:
>
>> Unfortunately it does not, so I guess icomplete-fido-exit is not exiting
>> the minibuffer through that path.
>
> Hm. Am I misreading the code here? So the else branch definitely calls
> exit-minibuffer...
>
> (defun icomplete-fido-exit (force)
> [...]
> (if (and (not force) minibuffer--require-match)
> (minibuffer-complete-and-exit)
> (exit-minibuffer)))
>
> And the "then" branch ends up here:
>
> (defun minibuffer-complete-and-exit ()
> [...]
> (completion-complete-and-exit (minibuffer-prompt-end) (point-max)
> #'exit-minibuffer))
>
> Hm... which then calls completion--complete-and-exit, which should then
> end up calling the exit function in... hm. Perhaps not all the
> branches? There's a bunch of callbacks, but I thought I followed them
> all to the end and they all ended up calling the exit function, but
> perhaps not? Would it be possible for you to edebug through
> completion-complete-and-exit?
I think I see what the problem is. I was doing the following to
generate a test case: C-h f comp [wait for completions to appear] C-g
This leaves completion-content-when-empty populated to interfere with
the next run, as getting out of the minibuffer that way does not clear
the variable, but it should.
Might it work to set the variable buffer-local to the minibuffer? Then
we can be sure it would always be cleared.
--
Sean Whitton
This bug report was last modified 4 years and 311 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.