elisp: Abbrev Files
35.3 Saving Abbrevs in Files
============================
A file of saved abbrev definitions is actually a file of Lisp code. The
abbrevs are saved in the form of a Lisp program to define the same
abbrev tables with the same contents. Therefore, you can load the file
with ‘load’ (How Programs Do Loading). However, the function
‘quietly-read-abbrev-file’ is provided as a more convenient interface.
Emacs automatically calls this function at startup.
User-level facilities such as ‘save-some-buffers’ can save abbrevs in
a file automatically, under the control of variables described here.
-- User Option: abbrev-file-name
This is the default file name for reading and saving abbrevs. By
default, Emacs will look for ‘~/.emacs.d/abbrev_defs’, and, if not
found, for ‘~/.abbrev_defs’; if neither file exists, Emacs will
create ‘~/.emacs.d/abbrev_defs’.
-- Function: quietly-read-abbrev-file &optional filename
This function reads abbrev definitions from a file named FILENAME,
previously written with ‘write-abbrev-file’. If FILENAME is
omitted or ‘nil’, the file specified in ‘abbrev-file-name’ is used.
As the name implies, this function does not display any messages.
-- User Option: save-abbrevs
A non-‘nil’ value for ‘save-abbrevs’ means that Emacs should offer
to save abbrevs (if any have changed) when files are saved. If the
value is ‘silently’, Emacs saves the abbrevs without asking the
user. ‘abbrev-file-name’ specifies the file to save the abbrevs
in. The default value is ‘t’.
-- Variable: abbrevs-changed
This variable is set non-‘nil’ by defining or altering any abbrevs
(except system abbrevs). This serves as a flag for various Emacs
commands to offer to save your abbrevs.
-- Command: write-abbrev-file &optional filename
Save all abbrev definitions (except system abbrevs), for all abbrev
tables listed in ‘abbrev-table-name-list’, in the file FILENAME, in
the form of a Lisp program that when loaded will define the same
abbrevs. If FILENAME is ‘nil’ or omitted, ‘abbrev-file-name’ is
used. This function returns ‘nil’.