Each terminal type can have a Lisp library to be loaded into Emacs when
it is run on that type of terminal. For a terminal type named
termtype, the library is called term/termtype.
(If there is an entry of the form
term-file-aliases association list, Emacs uses
alias in place of termtype.) The library is
found by searching the directories
load-path as usual and trying the
suffixes ‘.elc’ and ‘.el’. Normally it appears in the
subdirectory term of the directory where most Emacs libraries are
The usual purpose of the terminal-specific library is to map the
escape sequences used by the terminal's function keys onto more
meaningful names, using
function-key-map before it). See the file
term/lk201.el for an example of how this is done. Many function
keys are mapped automatically according to the information in the
Termcap data base; the terminal-specific library needs to map only the
function keys that Termcap does not specify.
When the terminal type contains a hyphen, only the part of the name
before the first hyphen is significant in choosing the library name.
Thus, terminal types ‘aaa-48’ and ‘aaa-30-rv’ both use
the library term/aaa. The code in the library can use
(getenv "TERM") to find the full terminal type name.
The library's name is constructed by concatenating the value of the
term-file-prefix and the terminal type. Your .emacs
file can prevent the loading of the terminal-specific library by setting
Emacs runs the hook
tty-setup-hook at the end of
initialization, after both your .emacs file and any
terminal-specific library have been read in. Add hook functions to this
hook if you wish to override part of any of the terminal-specific
libraries and to define initializations for terminals that do not have a
library. See Hooks.