Make the button completion predicate be more useful

* lisp/simple.el (completion-button-p): Rework from
`completion-at-point-p'.

* lisp/net/shr.el (shr-show-alt-text): It should be possible to
complete to commands that aren't bound to a key.
This commit is contained in:
Lars Ingebrigtsen 2021-02-15 04:42:32 +01:00
parent df99b17e4f
commit 2594162b23
2 changed files with 5 additions and 5 deletions

View file

@ -434,7 +434,7 @@ Value is a pair of positions (START . END) if there is a non-nil
(defun shr-show-alt-text ()
"Show the ALT text of the image under point."
(declare (completion 'completion-at-point-p))
(declare (completion (lambda (_ b) (completion-button-p 'shr b))))
(interactive)
(let ((text (get-text-property (point) 'shr-alt)))
(if (not text)

View file

@ -2005,11 +2005,11 @@ or (if one of MODES is a minor mode), if it is switched on in BUFFER."
(buffer-local-value 'minor-modes buffer)
#'eq)))
(defun completion-at-point-p (symbol buffer)
"Return non-nil if SYMBOL is in a local map at point in BUFFER."
(defun completion-button-p (category buffer)
"Return non-nil if there's a button of CATEGORY at point in BUFFER."
(with-current-buffer buffer
(when-let ((map (get-text-property (point) 'keymap)))
(where-is-internal symbol map))))
(and (get-text-property (point) 'button)
(eq (get-text-property (point) 'category) category))))
(defun read-extended-command--affixation (command-names)
(with-selected-window (or (minibuffer-selected-window) (selected-window))