summaryrefslogtreecommitdiff
path: root/lisp/icomplete.el
diff options
context:
space:
mode:
authorDmitry Gutov <dgutov@yandex.ru>2020-03-05 01:58:32 +0200
committerJoão Távora <joaotavora@gmail.com>2020-03-07 13:51:03 +0000
commite734961d4cb8f67ab677b97b9bb70c5e2e2cfb6d (patch)
tree548b0adfda429f92f83f8a1bfe5757cbc17f6ab3 /lisp/icomplete.el
parent335a9bd2157300266614a9ef5e5f106a10b3218a (diff)
downloademacs-e734961d4cb8f67ab677b97b9bb70c5e2e2cfb6d.tar.gz
icomplete-fido-exit: New command for the M-j binding
* lisp/icomplete.el (icomplete-fido-exit): New command. (icomplete-fido-mode-map): Use it (bug#38992).
Diffstat (limited to 'lisp/icomplete.el')
-rw-r--r--lisp/icomplete.el9
1 files changed, 8 insertions, 1 deletions
diff --git a/lisp/icomplete.el b/lisp/icomplete.el
index efe64d855a2..0a655d1e9e9 100644
--- a/lisp/icomplete.el
+++ b/lisp/icomplete.el
@@ -284,6 +284,13 @@ require user confirmation."
(t
(icomplete-force-complete-and-exit)))))
+(defun icomplete-fido-exit ()
+ "Exit minibuffer properly honoring the REQUIRE-MATCH argument."
+ (interactive)
+ (if minibuffer--require-match
+ (minibuffer-complete-and-exit)
+ (exit-minibuffer)))
+
(defun icomplete-fido-backward-updir ()
"Delete char before or go up directory, like `ido-mode'."
(interactive)
@@ -299,7 +306,7 @@ require user confirmation."
(define-key map (kbd "RET") 'icomplete-fido-ret)
(define-key map (kbd "C-m") 'icomplete-fido-ret)
(define-key map (kbd "DEL") 'icomplete-fido-backward-updir)
- (define-key map (kbd "M-j") 'exit-minibuffer)
+ (define-key map (kbd "M-j") 'icomplete-fido-exit)
(define-key map (kbd "C-s") 'icomplete-forward-completions)
(define-key map (kbd "C-r") 'icomplete-backward-completions)
(define-key map (kbd "<right>") 'icomplete-forward-completions)