Hello Stefan, Stefan Monnier writes: > Any objection to the patch below? With this new version, I can no longer specify the candidate's true category through the prompt. It will always show ``multi-category'' when `icomplete-fido-kill' is used in such scenarios. I came up with a few suggestions in the patch at the end of the message. With it, the prompt is confined to another function, which allows me to do something like this in my configurations: #+begin_src emacs-lisp ;; From Embark (defun icomplete--refine-multi-category (target) "Refine `multi-category' TARGET to its actual type." (or (let ((mc (get-text-property 0 'multi-category target))) (cond ;; The `cdr' of the `multi-category' property can be a buffer object. ((and (eq (car mc) 'buffer) (buffer-live-p (cdr mc))) (cons 'buffer (buffer-name (cdr mc)))) ((stringp (cdr mc)) mc))) (cons 'general target))) (defun icomplete-kill-candidate--override (category candidate) "\"Kill\" CANDIDATE based on CATEGORY. This function calls `icomplete-kill' to perform the operation. Se it's documentation for the actual meaning of \"Kill\"." (let* ((refined (when (eql category 'multi-category) (icomplete--refine-multi-category candidate))) (category (or (car-safe refined) category)) (candidate (or (cdr-safe refined) candidate))) (when (yes-or-no-p (format "Kill %s %s? " category candidate)) (icomplete-kill category candidate)))) (advice-add 'icomplete-kill-candidate :override #'icomplete-kill-candidate--override) #+end_src Such code in my init, allows me to continue using `icomplete-fido-kill' the way I’ve been doing over the past few months. Do you think something like what's suggested in the patch below could be used? Thanks. -- Regards, Fernando de Morais.