aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lisp/icomplete.el13
1 files changed, 13 insertions, 0 deletions
diff --git a/lisp/icomplete.el b/lisp/icomplete.el
index 102ebb9526f..67c8ef661f2 100644
--- a/lisp/icomplete.el
+++ b/lisp/icomplete.el
@@ -167,6 +167,19 @@ the default otherwise."
167 (minibuffer-force-complete-and-exit) 167 (minibuffer-force-complete-and-exit)
168 (minibuffer-complete-and-exit))) 168 (minibuffer-complete-and-exit)))
169 169
170(defun icomplete-force-complete-and-exit-unless-directory ()
171 "Complete minibuffer, don't exit if completing a directory."
172 (interactive)
173 (minibuffer-force-complete nil nil 'dont-cycle)
174 (let* ((meta (cdr (funcall minibuffer-completion-table
175 nil nil 'metadata)))
176 (category (cdr (assq 'category meta))))
177 (unless (and (eq 'file category)
178 (file-directory-p
179 (buffer-substring-no-properties (icomplete--field-beg)
180 (icomplete--field-end))))
181 (minibuffer-complete-and-exit))))
182
170(defun icomplete-force-complete-and-kill () 183(defun icomplete-force-complete-and-kill ()
171 "Complete minibuffer, kill current prospect, don't exit. 184 "Complete minibuffer, kill current prospect, don't exit.
172Killing the current prospect has different meanings according to 185Killing the current prospect has different meanings according to