* lisp/minibuffer.el (completion--message): New function.

(completion--do-completion, minibuffer-complete)
(minibuffer-force-complete, minibuffer-complete-word): Use it.
(completion--do-completion): Don't ignore completion-auto-help when in
icomplete-mode.
This commit is contained in:
Stefan Monnier 2011-05-03 22:19:32 -03:00
parent dd5a5ee08c
commit ef80fc093a
2 changed files with 23 additions and 20 deletions

View file

@ -1,5 +1,11 @@
2011-05-04 Stefan Monnier <monnier@iro.umontreal.ca>
* minibuffer.el (completion--message): New function.
(completion--do-completion, minibuffer-complete)
(minibuffer-force-complete, minibuffer-complete-word): Use it.
(completion--do-completion): Don't ignore completion-auto-help when in
icomplete-mode.
* whitespace.el (whitespace-trailing-regexp): Don't rely on the
internal encoding (e.g. tibetan zero is not whitespace).
(global-whitespace-mode): Prefer save-current-buffer.

View file

@ -558,6 +558,10 @@ candidates than this number."
(defvar completion-fail-discreetly nil
"If non-nil, stay quiet when there is no match.")
(defun completion--message (msg)
(if completion-show-inline-help
(minibuffer-message msg)))
(defun completion--do-completion (&optional try-completion-function)
"Do the completion and return a summary of what happened.
M = completion was performed, the text was Modified.
@ -585,9 +589,9 @@ E = after completion we now have an Exact match.
(cond
((null comp)
(minibuffer-hide-completions)
(when (and (not completion-fail-discreetly) completion-show-inline-help)
(unless completion-fail-discreetly
(ding)
(minibuffer-message "No match"))
(completion--message "No match"))
(minibuffer--bitset nil nil nil))
((eq t comp)
(minibuffer-hide-completions)
@ -657,15 +661,13 @@ E = after completion we now have an Exact match.
(minibuffer-hide-completions))
;; Show the completion table, if requested.
((not exact)
(if (cond (icomplete-mode t)
((null completion-show-inline-help) t)
((eq completion-auto-help 'lazy)
(eq this-command last-command))
(t completion-auto-help))
(if (case completion-auto-help
(lazy (eq this-command last-command))
(t completion-auto-help))
(minibuffer-completion-help)
(minibuffer-message "Next char not unique")))
(completion--message "Next char not unique")))
;; If the last exact completion and this one were the same, it
;; means we've already given a "Next char not unique" message
;; means we've already given a "Complete, but not unique" message
;; and the user's hit TAB again, so now we give him help.
((eq this-command last-command)
(if completion-auto-help (minibuffer-completion-help))))
@ -703,11 +705,9 @@ scroll the window of possible completions."
t)
(t (case (completion--do-completion)
(#b000 nil)
(#b001 (if completion-show-inline-help
(minibuffer-message "Sole completion"))
(#b001 (completion--message "Sole completion")
t)
(#b011 (if completion-show-inline-help
(minibuffer-message "Complete, but not unique"))
(#b011 (completion--message "Complete, but not unique")
t)
(t t)))))
@ -765,9 +765,8 @@ Repeated uses step through the possible completions."
(end (field-end))
(all (completion-all-sorted-completions)))
(if (not (consp all))
(if completion-show-inline-help
(minibuffer-message
(if all "No more completions" "No completions")))
(completion--message
(if all "No more completions" "No completions"))
(setq completion-cycling t)
(goto-char end)
(insert (car all))
@ -955,11 +954,9 @@ Return nil if there is no valid completion, else t."
(interactive)
(case (completion--do-completion 'completion--try-word-completion)
(#b000 nil)
(#b001 (if completion-show-inline-help
(minibuffer-message "Sole completion"))
(#b001 (completion--message "Sole completion")
t)
(#b011 (if completion-show-inline-help
(minibuffer-message "Complete, but not unique"))
(#b011 (completion--message "Complete, but not unique")
t)
(t t)))