From f15ca9448322563c50e70e81d62c31eb57df0ae3 Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Thu, 5 Jul 2007 19:42:43 +0000 Subject: [PATCH] (PC-do-complete-and-exit): Add support for the new `confirm-only' confirmation mode. --- lisp/ChangeLog | 5 +++++ lisp/complete.el | 16 +++++++++++++--- 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 30badf7f856..653dd294452 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,8 @@ +2007-07-05 Stefan Monnier + + * complete.el (PC-do-complete-and-exit): Add support for the new + `confirm-only' confirmation mode. + 2007-07-05 Chong Yidong * cus-edit.el (custom-commands): New variable. 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 () -- 2.39.5