emacs: Terminal Init

 
 51.4.3 Terminal-specific Initialization
 ---------------------------------------
 
 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 ‘(TERMTYPE . ALIAS)’ in the ‘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 kept.
 
    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 ‘input-decode-map’ (or ‘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
 variable ‘term-file-prefix’ and the terminal type.  Your ‘.emacs’ file
 can prevent the loading of the terminal-specific library by setting
 ‘term-file-prefix’ to ‘nil’.
 
    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.