summaryrefslogtreecommitdiff
path: root/lisp/wid-edit.el
diff options
context:
space:
mode:
authorMauro Aranda <maurooaranda@gmail.com>2022-02-19 13:33:05 +0100
committerLars Ingebrigtsen <larsi@gnus.org>2022-02-19 13:33:32 +0100
commit8ccf9b52767c7634af1941c15198538313aaf2c0 (patch)
tree000ce8a58cd66a500fdc9a0fb96f08ac89b63d3d /lisp/wid-edit.el
parent9fff6388b4df163990e581515892f7a09c4f728e (diff)
downloademacs-8ccf9b52767c7634af1941c15198538313aaf2c0.tar.gz
Fix :match function for the key widget
* lisp/wid-edit.el (key): Calling key-valid-p directly doesn't work, because the :match function is called with the widget and the value as arguments (bug#54049).
Diffstat (limited to 'lisp/wid-edit.el')
-rw-r--r--lisp/wid-edit.el6
1 files changed, 5 insertions, 1 deletions
diff --git a/lisp/wid-edit.el b/lisp/wid-edit.el
index f00a524c0c4..29b6e13bc60 100644
--- a/lisp/wid-edit.el
+++ b/lisp/wid-edit.el
@@ -3532,13 +3532,17 @@ It reads a directory name from an editable text field."
(define-widget 'key 'editable-field
"A key sequence."
:prompt-value 'widget-field-prompt-value
- :match 'key-valid-p
+ :match #'widget-key-valid-p
:format "%{%t%}: %v"
:validate 'widget-key-validate
:keymap widget-key-sequence-map
:help-echo "C-q: insert KEY, EVENT, or CODE; RET: enter value"
:tag "Key")
+(defun widget-key-valid-p (_widget value)
+ "Non-nil if VALUE is a valid value for the key widget WIDGET."
+ (key-valid-p value))
+
(defun widget-key-validate (widget)
(unless (and (stringp (widget-value widget))
(key-valid-p (widget-value widget)))