diff options
author | Basil L. Contovounesios <contovob@tcd.ie> | 2019-04-07 03:36:47 +0100 |
---|---|---|
committer | Basil L. Contovounesios <contovob@tcd.ie> | 2019-04-07 03:56:27 +0100 |
commit | 08235af38c92e95d8ec9d268916d8910ea50ab2d (patch) | |
tree | d065cbd0fcb339ddf2f2fd0b809400a54deb99ef /lisp/wid-edit.el | |
parent | 43f4c7ddd2077b2e786d069bbb9e2de32f23ffb2 (diff) | |
download | emacs-08235af38c92e95d8ec9d268916d8910ea50ab2d.tar.gz emacs-08235af38c92e95d8ec9d268916d8910ea50ab2d.tar.bz2 emacs-08235af38c92e95d8ec9d268916d8910ea50ab2d.zip |
Distinguish buttons from widgets (bug#34506)
* lisp/button.el (button-at):
* lisp/wid-edit.el (widget-at): Avoid returning a false positive
when looking for a button and finding a widget, or vice versa.
* test/lisp/button-tests.el:
* test/lisp/wid-edit-tests.el: New files.
Diffstat (limited to 'lisp/wid-edit.el')
-rw-r--r-- | lisp/wid-edit.el | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/lisp/wid-edit.el b/lisp/wid-edit.el index 52c0b5b74d2..b9f98cdc4c7 100644 --- a/lisp/wid-edit.el +++ b/lisp/wid-edit.el @@ -1163,8 +1163,9 @@ When not inside a field, signal an error." (defun widget-at (&optional pos) "The button or field at POS (default, point)." - (or (get-char-property (or pos (point)) 'button) - (widget-field-at pos))) + (let ((widget (or (get-char-property (or pos (point)) 'button) + (widget-field-at pos)))) + (and (widgetp widget) widget))) ;;;###autoload (defun widget-setup () |