changeset 100016:92d948bc8621

(PC-do-complete-and-exit): Synch to 2008-11-24 change to minibuffer.el; recognize `confirm' and `confirm-after-completion' values for minibuffer-completion-confirm.
author Chong Yidong <cyd@stupidchicken.com>
date Fri, 28 Nov 2008 19:11:58 +0000
parents 57fc0e782532
children 545b78accbad
files lisp/complete.el
diffstat 1 files changed, 10 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/complete.el	Fri Nov 28 19:10:40 2008 +0000
+++ b/lisp/complete.el	Fri Nov 28 19:11:58 2008 +0000
@@ -330,13 +330,22 @@
    ((= (point-max) (minibuffer-prompt-end))
     ;; Duplicate the "bug" that Info-menu relies on...
     (exit-minibuffer))
-   ((eq minibuffer-completion-confirm 'confirm-only)
+   ((eq minibuffer-completion-confirm 'confirm)
     (if (or (eq last-command this-command)
             (test-completion (field-string)
                              minibuffer-completion-table
                              minibuffer-completion-predicate))
         (exit-minibuffer)
       (PC-temp-minibuffer-message " [Confirm]")))
+   ((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 (and (memq last-command '(PC-complete minibuffer-complete))
+	     (not (test-completion (field-string)
+				   minibuffer-completion-table
+				   minibuffer-completion-predicate)))
+	(PC-temp-minibuffer-message " [Confirm]")
+      (exit-minibuffer)))
    (t
     (let ((flag (PC-do-completion 'exit)))
       (and flag