mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-02-09 09:16:02 -08:00
Fix bug#50063 when using icomplete-fido-kill with C-x p p
C-x p p utilizes a completion table "category" which is 'project-file' icomplete-fido-kill only functioned for 'buffer' and 'file', and failed with a non-informative message when something else was used. * lisp/icomplete.el (icomplete-fido-kill): Support 'project-file' class. Use cl-case, instead of pcase.
This commit is contained in:
parent
3572613550
commit
e6f3a4dc6c
1 changed files with 7 additions and 4 deletions
|
|
@ -298,18 +298,21 @@ require user confirmation."
|
|||
(call-interactively 'kill-line)
|
||||
(let* ((all (completion-all-sorted-completions))
|
||||
(thing (car all))
|
||||
(cat (icomplete--category))
|
||||
(action
|
||||
(pcase (icomplete--category)
|
||||
(`buffer
|
||||
(cl-case cat
|
||||
(buffer
|
||||
(lambda ()
|
||||
(when (yes-or-no-p (concat "Kill buffer " thing "? "))
|
||||
(kill-buffer thing))))
|
||||
(`file
|
||||
((project-file file)
|
||||
(lambda ()
|
||||
(let* ((dir (file-name-directory (icomplete--field-string)))
|
||||
(path (expand-file-name thing dir)))
|
||||
(when (yes-or-no-p (concat "Delete file " path "? "))
|
||||
(delete-file path) t)))))))
|
||||
(delete-file path) t))))
|
||||
(t
|
||||
(error "Sorry, don't know how to kill things for `%s'" cat)))))
|
||||
(when (let (;; Allow `yes-or-no-p' to work and don't let it
|
||||
;; `icomplete-exhibit' anything.
|
||||
(enable-recursive-minibuffers t)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue