changeset 100044:f42890851326

Add and use minibuffer-confirm-exit-commands variable Revision: emacs@sv.gnu.org/emacs--devo--0--patch-1483
author Miles Bader <miles@gnu.org>
date Sat, 29 Nov 2008 18:07:15 +0000
parents 40a45069dd91
children 3ec2cc2d35c1
files lisp/ChangeLog lisp/minibuffer.el
diffstat 2 files changed, 11 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/ChangeLog	Sat Nov 29 17:06:11 2008 +0000
+++ b/lisp/ChangeLog	Sat Nov 29 18:07:15 2008 +0000
@@ -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.
--- a/lisp/minibuffer.el	Sat Nov 29 17:06:11 2008 +0000
+++ b/lisp/minibuffer.el	Sat Nov 29 18:07:15 2008 +0000
@@ -542,6 +542,11 @@
       ;; 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 @@
      ((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)))