Update minibuffer-show-help based on minibuffer-visible-completions

minibuffer-visible-completions makes some more convenient bindings
available, but the help shown by minibuffer-show-help wasn't
suggesting them.  Now it is.

* lisp/simple.el (completion-setup-function): Change help text when
minibuffer-visible-completions is non-nil. (bug#68689)
This commit is contained in:
Spencer Baugh 2024-01-24 11:10:40 -05:00 committed by Juri Linkov
parent 28c9c7cf46
commit b5d36efa57

View file

@ -10335,13 +10335,27 @@ Called from `temp-buffer-show-hook'."
;; Maybe insert help string.
(when completion-show-help
(goto-char (point-min))
(insert (substitute-command-keys
(if (display-mouse-p)
"Click or type \\[minibuffer-choose-completion] on a completion to select it.\n"
"Type \\[minibuffer-choose-completion] on a completion to select it.\n")))
(insert (substitute-command-keys
"Type \\[minibuffer-next-completion] or \\[minibuffer-previous-completion] \
to move point between completions.\n\n"))))))
(if minibuffer-visible-completions
(let ((helps
(with-current-buffer (window-buffer (active-minibuffer-window))
(list
(substitute-command-keys
(if (display-mouse-p)
"Click or type \\[minibuffer-choose-completion-or-exit] on a completion to select it.\n"
"Type \\[minibuffer-choose-completion-or-exit] on a completion to select it.\n"))
(substitute-command-keys
"Type \\[minibuffer-next-completion], \\[minibuffer-previous-completion], \
\\[minibuffer-next-line-completion], \\[minibuffer-previous-line-completion] \
to move point between completions.\n\n")))))
(dolist (help helps)
(insert help)))
(insert (substitute-command-keys
(if (display-mouse-p)
"Click or type \\[minibuffer-choose-completion] on a completion to select it.\n"
"Type \\[minibuffer-choose-completion] on a completion to select it.\n")))
(insert (substitute-command-keys
"Type \\[minibuffer-next-completion] or \\[minibuffer-previous-completion] \
to move point between completions.\n\n")))))))
(add-hook 'completion-setup-hook #'completion-setup-function)