Add some documentation for widget-describe and button-describe

* doc/emacs/help.texi (Key Help): Document button-describe and
widget-describe.

* lisp/button.el (push-button): Mention button-describe.

* lisp/cus-edit.el (Custom-newline): Mention widget-describe (bug#139).
This commit is contained in:
Lars Ingebrigtsen 2020-08-07 13:36:50 +02:00
parent 95b60c84b3
commit 1545f28a98
4 changed files with 21 additions and 4 deletions

View file

@ -220,6 +220,16 @@ documentation string of the command it runs.
command is not on any key, that means you must use @kbd{M-x} to run
it. @kbd{C-h w} runs the command @code{where-is}.
@findex button-describe
@findex widget-describe
Some modes in Emacs use various buttons (@pxref{Buttons,,,elisp, The
Emacs Lisp Reference Manual}) and widgets
(@pxref{Introduction,,,widget, Emacs Widgets}) that can be clicked to
perform some action. To find out what function is ultimately invoked
by these buttons, Emacs provides the @code{button-describe} and
@code{widget-describe} commands, that should be run with point over
the button.
@node Name Help
@section Help by Command or Variable Name

View file

@ -123,8 +123,8 @@ horizontal movements now stop at the edge of the board.
setting the variable 'auto-save-visited-mode' buffer-locally to nil.
** New commands to describe buttons and widgets have been added.
'describe-widget' (on a widget) will pop up a help buffer and give a
description of the properties. Likewise 'describe-button' does the
'widget-describe' (on a widget) will pop up a help buffer and give a
description of the properties. Likewise 'button-describe' does the
same for a button.

View file

@ -464,8 +464,12 @@ see).
POS defaults to point, except when `push-button' is invoked
interactively as the result of a mouse-event, in which case, the
mouse event is used.
If there's no button at POS, do nothing and return nil, otherwise
return t."
return t.
To get a description of what function will called when pushing a
butting, use the `button-describe' command."
(interactive
(list (if (integerp last-command-event) (point) last-command-event)))
(if (and (not (integerp pos)) (eventp pos))

View file

@ -4841,7 +4841,10 @@ The format is suitable for use with `easy-menu-define'."
(error "You can't edit this part of the Custom buffer"))
(defun Custom-newline (pos &optional event)
"Invoke button at POS, or refuse to allow editing of Custom buffer."
"Invoke button at POS, or refuse to allow editing of Custom buffer.
To see what function the widget will call, use the
`widget-describe' command."
(interactive "@d")
(let ((button (get-char-property pos 'button)))
;; If there is no button at point, then use the one at the start