Sometimes, after working in Emacs for a while, file completions start behaving in a weird fashion. If the input does not reference any existing file (e.g. when I’m trying to open a new file, or just misspell existing one), an error is displayed, and minibuffer completion system stops working – I cannot select candidates, candidate list is not refreshed, etc.
This is the errors I see in Messages:
Error in post-command-hook (vertico--exhibit): (void-function nil) Error in pre-command-hook (vertico--prepare): (void-function nil)
What did you expect to happen?
I expect the completions system to behave normally, e.g. allowing me to select candidates etc.
Steps to reproduce
- Work with Emacs for a while (?)
- Try to open non-existing file
Loading data dump...
After several unsuccessful attempts to debug this, I finally found out the what causes this. For some reason, the
completion-styles-alist misses the
+vertico-basic-remote entry (which was there initially), but minibuffer-completion nevertheless tries to use that style anyway.
Adding the whole entry back to the
completion-style-alist fixes the issue.
I’m very confused about how to reproduce that in a stable way, so if anybody can give some hint, it would be great.