diff --git a/lisp/minibuffer.el b/lisp/minibuffer.el index a06986fdb7..fbb72f3d32 100644 --- a/lisp/minibuffer.el +++ b/lisp/minibuffer.el @@ -1342,24 +1342,22 @@ completion--do-completion (setq completed t exact t) (completion--cache-all-sorted-completions beg end comps) (minibuffer-force-complete beg end)) - (completed - ;; We could also decide to refresh the completions, - ;; if they're displayed (and assuming there are - ;; completions left). - (minibuffer-hide-completions) - (if exact - ;; If completion did not put point at end of field, - ;; it's a sign that completion is not finished. - (completion--done completion - (if (< comp-pos (length completion)) - 'exact 'unknown)))) ;; Show the completion table, if requested. ((not exact) (if (pcase completion-auto-help ('lazy (eq this-command last-command)) (_ completion-auto-help)) (minibuffer-completion-help beg end) + (minibuffer-hide-completions) (completion--message "Next char not unique"))) + (completed + ;; We could also decide to refresh the completions, + ;; if they're displayed (and assuming there are + ;; completions left). + (minibuffer-hide-completions) + (completion--done completion + (if (< comp-pos (length completion)) + 'exact 'unknown))) ;; If the last exact completion and this one were the same, it ;; means we've already given a "Complete, but not unique" message ;; and the user's hit TAB again, so now we give him help.