GNU Emacs Lisp Reference Manual
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.
"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.
The argument name should be a string. The argument expansion should be a string, or nil to undefine the abbrev.
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.
The use count of the abbrev is initialized to zero.
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.