Manipulating Buttons

These are functions for getting and setting properties of buttons. Often these are used by a button’s invocation function to determine what to do.

Where a button parameter is specified, it means an object referring to a specific button, either an overlay (for overlay buttons), or a buffer-position or marker (for text property buttons). Such an object is passed as the first argument to a button’s invocation function when it is invoked.

Function: button-start button

Return the position at which button starts.

Function: button-end button

Return the position at which button ends.

Function: button-get button prop

Get the property of button button named prop.

Function: button-put button prop val

Set button’s prop property to val.

Function: button-activate button &optional use-mouse-action

Call button’s action property (i.e., invoke the function that is the value of that property, passing it the single argument button). If use-mouse-action is non-nil, try to invoke the button’s mouse-action property instead of action; if the button has no mouse-action property, use action as normal. If the button-data property is present in button, use that as the argument for the action function instead of button.

Function: button-label button

Return button’s text label.

Function: button-type button

Return button’s button-type.

Function: button-has-type-p button type

Return t if button has button-type type, or one of type’s subtypes.

Function: button-at pos

Return the button at position pos in the current buffer, or nil. If the button at pos is a text property button, the return value is a marker pointing to pos.

Function: button-type-put type prop val

Set the button-type type’s prop property to val.

Function: button-type-get type prop

Get the property of button-type type named prop.

Function: button-type-subtype-p type supertype

Return t if button-type type is a subtype of supertype.

Copyright © 1990-1996, 1998-2021 Free Software Foundation, Inc.
Licensed under the GNU GPL license.
https://www.gnu.org/software/emacs/manual/html_node/elisp/Manipulating-Buttons.html