summaryrefslogtreecommitdiff
path: root/lisp
diff options
context:
space:
mode:
Diffstat (limited to 'lisp')
-rw-r--r--lisp/icomplete.el12
1 files changed, 8 insertions, 4 deletions
diff --git a/lisp/icomplete.el b/lisp/icomplete.el
index 0a655d1e9e9..66bc731f67f 100644
--- a/lisp/icomplete.el
+++ b/lisp/icomplete.el
@@ -284,10 +284,14 @@ 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
+(defun icomplete-fido-exit (force)
+ "Attempt to exit minibuffer immediately with current input.
+Unless FORCE is non-nil (interactively with a prefix argument),
+honour a non-nil REQUIRE-MATCH argument to `completing-read' by
+trying to complete as much as possible and disallowing the exit
+if that doesn't produce a completion match."
+ (interactive "P")
+ (if (and (not force) minibuffer--require-match)
(minibuffer-complete-and-exit)
(exit-minibuffer)))