The button package defines functions for inserting and manipulating clickable (with the mouse, or via keyboard commands) buttons in Emacs buffers, such as might be used for help hyper-links, etc. Emacs uses buttons for the hyper-links in help text and the like.
A button is essentially a set of properties attached (via text properties or overlays) to a region of text in an Emacs buffer. These properties are called button properties.
One of these properties (
action) is a function, which will
be called when the user invokes it using the keyboard or the mouse.
The invoked function may then examine the button and use its other
properties as desired.
In some ways the Emacs button package duplicates functionality offered
by the widget package (see
*Apropos* buffer uses
buttons to make entries clickable, and may contain many thousands of