> #+begin_src emacs-lisp > (progn > (package-initialize) > (load-library "consult") > (icomplete-vertical-mode t) > (keymap-set icomplete-minibuffer-map "C-k" 'icomplete-fido-kill)) > #+end_src > > - Then, ``M-x consult-buffer''; > - Type *M (this should turn the `*Messages*' buffer the current > candidate); > - Then ``C-k'' > > The following message should appear in the minibuffer: > > [Sorry, don’t know how to kill things for ‘multi-category’] Oh, I see, so the issue is that `consult-buffer` lists not just actual buffers but also recently visited files and other sources, so it specifies as `category` the symbol `multi-category` and then it uses some internal convention about how each completion candidate is annotated with its type. > Follows attached! This is my first patch, so I might have made > mistakes, but I'm here to adjust whatever you deem necessary. And your patch adds support to `icomplete.el` for this specific convention. There are a few too many things that are "ad-hoc" in that approach for my taste, but I agree that there's a good justification for adding support for completion tables that can use a mix of different types and thus need to offer some way to know further details about the category of any given completion candidate. Maybe a better option would be something like the patch below, so `consult` could define its own method for its own category, which could even extend the semantics to do thing like delete bookmarks when applied to bookmarks, etc... Stefan