summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLars Ingebrigtsen <larsi@gnus.org>2021-02-15 04:42:32 +0100
committerLars Ingebrigtsen <larsi@gnus.org>2021-02-15 04:42:32 +0100
commit2594162b23f64dc394e8fe4035ea651ed54661ac (patch)
tree159b0dce50f16771d8d5a28fbb2ba55cfc690979
parentdf99b17e4fe7f6ee0c09ac990117ffea6ee3b695 (diff)
downloademacs-2594162b23f64dc394e8fe4035ea651ed54661ac.tar.gz
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.
-rw-r--r--lisp/net/shr.el2
-rw-r--r--lisp/simple.el8
2 files changed, 5 insertions, 5 deletions
diff --git a/lisp/net/shr.el b/lisp/net/shr.el
index 2596a348384..739b56b88c6 100644
--- a/lisp/net/shr.el
+++ b/lisp/net/shr.el
@@ -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)
diff --git a/lisp/simple.el b/lisp/simple.el
index ed0e753ee06..8d27cf8d625 100644
--- a/lisp/simple.el
+++ b/lisp/simple.el
@@ -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))