From d182658510e5c8b91c49cb755aee4d94e5cb89f9 Mon Sep 17 00:00:00 2001 From: Miles Bader Date: Sat, 29 Nov 2008 18:07:15 +0000 Subject: [PATCH] Add and use minibuffer-confirm-exit-commands variable Revision: emacs@sv.gnu.org/emacs--devo--0--patch-1483 --- lisp/ChangeLog | 5 +++++ lisp/minibuffer.el | 7 ++++++- 2 files changed, 11 insertions(+), 1 deletion(-) 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 + + * minibuffer.el (minibuffer-confirm-exit-commands): New variable. + (minibuffer-complete-and-exit): Use it. + 2008-11-29 Chong Yidong * 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))) -- 2.39.2