diff options
Diffstat (limited to 'lisp')
-rw-r--r-- | lisp/ChangeLog | 5 | ||||
-rw-r--r-- | lisp/minibuffer.el | 7 |
2 files changed, 11 insertions, 1 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index e87c543b3a3..40d8cda4d2f 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,8 @@ +2008-11-29 Miles Bader <miles@gnu.org> + + * minibuffer.el (minibuffer-confirm-exit-commands): New variable. + (minibuffer-complete-and-exit): Use it. + 2008-11-29 Chong Yidong <cyd@stupidchicken.com> * term/x-win.el (x-gtk-stock-cache): New hash table. diff --git a/lisp/minibuffer.el b/lisp/minibuffer.el index 84d8e658a72..aab35a2814b 100644 --- a/lisp/minibuffer.el +++ b/lisp/minibuffer.el @@ -542,6 +542,11 @@ Repeated uses step through the possible completions." ;; through the previous possible completions. (setq completion-all-sorted-completions (cdr all))))) +(defvar minibuffer-confirm-exit-commands + '(minibuffer-complete minibuffer-complete-word) + "A list of commands which cause an immediately following +`minibuffer-complete-and-exit' to ask for extra confirmation.") + (defun minibuffer-complete-and-exit () "Exit if the minibuffer contains a valid completion. Otherwise, try to complete the minibuffer contents. If @@ -595,7 +600,7 @@ If `minibuffer-completion-confirm' is `confirm-after-completion', ((eq minibuffer-completion-confirm 'confirm-after-completion) ;; Similar to the above, but only if trying to exit immediately ;; after typing TAB (this catches most minibuffer typos). - (if (eq last-command 'minibuffer-complete) + (if (memq last-command minibuffer-confirm-exit-commands) (progn (minibuffer-message "Confirm") nil) (exit-minibuffer))) |