Next: Abbrev Files, Previous: Abbrev Tables, Up: Abbrevs
These functions define an abbrev in a specified abbrev table.
define-abbrev
is the low-level basic function, while
add-abbrev
is used by commands that ask for information from the
user.
This function adds an abbreviation to abbrev table table based on information from the user. The argument type is a string describing in English the kind of abbrev this will be (typically,
"global"
or"mode-specific"
); this is used in prompting the user. The argument arg is the number of words in the expansion.The return value is the symbol that internally represents the new abbrev, or
nil
if the user declines to confirm redefining an existing abbrev.
This function defines an abbrev named name, in table, to expand to expansion and call hook. The value of count, if specified, initializes the abbrev's usage-count. If count is not specified or
nil
, the use count is initialized to zero. The return value is a symbol that represents the abbrev inside Emacs; its name is name.The argument name should be a string. The argument expansion is normally the desired expansion (a string), or
nil
to undefine the abbrev. If it is anything but a string ornil
, then the abbreviation “expands” solely by running hook.The argument hook is a function or
nil
. If hook is non-nil
, then it is called with no arguments after the abbrev is replaced with expansion; point is located at the end of expansion when hook is called.If hook is a non-nil symbol whose
no-self-insert
property is non-nil
, hook can explicitly control whether to insert the self-inserting input character that triggered the expansion. If hook returns non-nil
in this case, that inhibits insertion of the character. By contrast, if hook returnsnil
,expand-abbrev
also returnsnil
, as if expansion had not really occurred.
If this variable is non-
nil
, it means that the user plans to use global abbrevs only. This tells the commands that define mode-specific abbrevs to define global ones instead. This variable does not alter the behavior of the functions in this section; it is examined by their callers.