]> git.eshelyaron.com Git - emacs.git/commitdiff
(PC-do-complete-and-exit): Add support for the new
authorStefan Monnier <monnier@iro.umontreal.ca>
Thu, 5 Jul 2007 19:42:43 +0000 (19:42 +0000)
committerStefan Monnier <monnier@iro.umontreal.ca>
Thu, 5 Jul 2007 19:42:43 +0000 (19:42 +0000)
`confirm-only' confirmation mode.

lisp/ChangeLog
lisp/complete.el

index 30badf7f8566184286ef4e0c51301218b11bf75b..653dd2944529ee11374dbdd7b5ca51fff001cf58 100644 (file)
@@ -1,3 +1,8 @@
+2007-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * complete.el (PC-do-complete-and-exit): Add support for the new
+       `confirm-only' confirmation mode.
+
 2007-07-05  Chong Yidong  <cyd@stupidchicken.com>
 
        * cus-edit.el (custom-commands): New variable.
index 3f83296474de38e96b259fb980e1abcdd0b18684..b90553b18160be7ff6fd4c583979cedefd97037b 100644 (file)
@@ -328,14 +328,24 @@ See `PC-complete' for details."
     (PC-do-complete-and-exit)))
 
 (defun PC-do-complete-and-exit ()
-  (if (= (point-max) (minibuffer-prompt-end))  ; Duplicate the "bug" that Info-menu relies on...
-      (exit-minibuffer)
+  (cond
+   ((= (point-max) (minibuffer-prompt-end))
+    ;; Duplicate the "bug" that Info-menu relies on...
+    (exit-minibuffer))
+   ((eq minibuffer-completion-confirm 'confirm-only)
+    (if (or (eq last-command this-command)
+            (test-completion (field-string)
+                             minibuffer-completion-table
+                             minibuffer-completion-predicate))
+        (exit-minibuffer)
+      (PC-temp-minibuffer-message " [Confirm]")))
+   (t
     (let ((flag (PC-do-completion 'exit)))
       (and flag
           (if (or (eq flag 'complete)
                   (not minibuffer-completion-confirm))
               (exit-minibuffer)
-            (PC-temp-minibuffer-message " [Confirm]"))))))
+            (PC-temp-minibuffer-message " [Confirm]")))))))
 
 
 (defun PC-completion-help ()