The macro define-alternatives
can be used to define generic commands. These are interactive functions whose implementation can be selected from several alternatives, as a matter of user preference.
Define the new command command, a symbol.
When a user runs M-x command RET for the first time, Emacs prompts for which real form of the command to use, and records the selection by way of a custom variable. Using a prefix argument repeats this process of choosing an alternative.
The variable command-alternatives
should contain an alist with alternative implementations of command. Until this variable is set, define-alternatives
has no effect.
If customizations is non-nil
, it should consist of alternating defcustom
keywords (typically :group
and :version
) and values to add to the declaration of command-alternatives
.
Copyright © 1990-1996, 1998-2019 Free Software Foundation, Inc.
Licensed under the GNU GPL license.
https://www.gnu.org/software/emacs/manual/html_node/elisp/Generic-Commands.html