Function: button--describe

button--describe is a byte-compiled function defined in button.el.gz.

Signature

(button--describe PROPERTIES)

Documentation

Describe a button's PROPERTIES (an alist) in a *Help* buffer.

This is a helper function for button-describe, in order to be possible to use help-setup-xref.

Each element of PROPERTIES should be of the form (PROPERTY . VALUE).

Source Code

;; Defined in /usr/src/emacs/lisp/button.el.gz
(defun button--describe (properties)
  "Describe a button's PROPERTIES (an alist) in a *Help* buffer.
This is a helper function for `button-describe', in order to be possible to
use `help-setup-xref'.

Each element of PROPERTIES should be of the form (PROPERTY . VALUE)."
  (help-setup-xref (list #'button--describe properties)
                   (called-interactively-p 'interactive))
  (with-help-window (help-buffer)
    (with-current-buffer (help-buffer)
      (insert (format-message "This button's type is `%s'."
                              (alist-get 'type properties)))
      (dolist (prop '(action mouse-action))
        (let ((name (symbol-name prop))
              (val (alist-get prop properties)))
          (when (functionp val)
            (insert "\n\n"
                    (propertize (capitalize name) 'face 'bold)
                    "\nThe " name " of this button is")
            (if (symbolp val)
                (progn
                  (insert (format-message " `%s',\nwhich is " val))
                  (describe-function-1 val))
              (insert "\n")
              (princ val))))))))