From 7de1d99d3a9f93b7e7c1cf05675f8ed480186368 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20T=C3=A1vora?= Date: Wed, 29 Apr 2026 10:06:03 +0100 Subject: [PATCH] In fido-vertical-mode, let C-s and C-r recover their original use Fido-mode is meant for ido-mode emulation, so it makes some sense C-r and C-s moves forward and backward in the list as ido-mode once did. The price to pay is losing easy access to isearch-backward/forward in completions. In fido-vertical-mode, this price is unreasonably high given C-p and C-n are the natural bindings for moving about in the vertical list. * lisp/icomplete.el (icomplete-fido-mode-map): Disable C-s and C-r in fido-vertical-mode. --- lisp/icomplete.el | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lisp/icomplete.el b/lisp/icomplete.el index 875c41bd841..9a1202c30af 100644 --- a/lisp/icomplete.el +++ b/lisp/icomplete.el @@ -489,8 +489,10 @@ if that doesn't produce a completion match." "C-m" #'icomplete-fido-ret "DEL" #'icomplete-fido-backward-updir "M-j" #'icomplete-fido-exit - "C-s" #'icomplete-forward-completions - "C-r" #'icomplete-backward-completions + "C-s" `(menu-item "" icomplete-forward-completions + :filter ,(lambda (x) (unless fido-vertical-mode x))) + "C-r" `(menu-item "" icomplete-backward-completions + :filter ,(lambda (x) (unless fido-vertical-mode x))) "" #'icomplete-forward-completions "" #'icomplete-backward-completions "C-." #'icomplete-forward-completions