summaryrefslogtreecommitdiff
path: root/lisp/complete.el
diff options
context:
space:
mode:
authorStefan Monnier <monnier@iro.umontreal.ca>2007-07-05 19:42:43 +0000
committerStefan Monnier <monnier@iro.umontreal.ca>2007-07-05 19:42:43 +0000
commitf15ca9448322563c50e70e81d62c31eb57df0ae3 (patch)
tree28b431ccc7a90a91c5d566548387b11d3ca31a7c /lisp/complete.el
parent9db1942d9a0b5e3fe69d585c1ce52d97e9376fce (diff)
downloademacs-f15ca9448322563c50e70e81d62c31eb57df0ae3.tar.gz
(PC-do-complete-and-exit): Add support for the new
`confirm-only' confirmation mode.
Diffstat (limited to 'lisp/complete.el')
-rw-r--r--lisp/complete.el16
1 files changed, 13 insertions, 3 deletions
diff --git a/lisp/complete.el b/lisp/complete.el
index 3f83296474d..b90553b1816 100644
--- a/lisp/complete.el
+++ b/lisp/complete.el
@@ -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 ()