]> git.eshelyaron.com Git - emacs.git/commitdiff
icomplete-fido-exit: New command for the M-j binding
authorDmitry Gutov <dgutov@yandex.ru>
Wed, 4 Mar 2020 23:58:32 +0000 (01:58 +0200)
committerJoão Távora <joaotavora@gmail.com>
Sat, 7 Mar 2020 13:51:03 +0000 (13:51 +0000)
* lisp/icomplete.el (icomplete-fido-exit): New command.
(icomplete-fido-mode-map): Use it (bug#38992).

lisp/icomplete.el

index efe64d855a252d2c59f77ea12faf204d8ea34f8b..0a655d1e9e98e73f9f39a14727bcd42a72850c1c 100644 (file)
@@ -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)