[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#42101: icomplete-fido-ret doesn't always use minibuffer-default when
From: |
Andrew Schwartzmeyer |
Subject: |
bug#42101: icomplete-fido-ret doesn't always use minibuffer-default when input is empty |
Date: |
Sat, 27 Jun 2020 22:59:40 -0700 |
Hi,
Funny bug, haven’t figured out the cause. It may be hard to repro.
If you have some amount of minibuffer history, you can cause icomplete-fido-ret
to not accept the minibuffer-default. An example is having history such that
'C-h v' when point is on ‘completion-styles’ causes ‘completion-styles-alist’
to be the first history element. Since the minibuffer-default shows
‘completion-styles’ (being that it’s under point, and I’ve not entered any text
into the minibuffer), I’d expect RET to choose ‘completion-styles’, but instead
it choses ‘completion-styles-alist’ (the head of the presented candidates,
‘completion-styles’ is instead the second candidate).
This repros in fido-mode, but not icomplete-mode. I took a look at the relevant
functions called on RET for these modes but am having trouble finding the issue.
I think the root cause is that if minibuffer-default matches a candidate
exactly, that candidate should always become the first history element, but
this isn’t happening. I’m not sure why; I played around with different
completion-styles but that had no effect. Regardless, if there is no input but
there is minibuffer-default, various code in icomplete.el suggests that
'minibuffer-complete-and-exit’ should just be called, I don’t know why it’s not
happening.
Any ideas?
Thanks,
Andy