Go to the first, previous, next, last section, table of contents.


Terminal-Specific Initialization

Each terminal type can have its own Lisp library that Emacs loads when run on that type of terminal. The library's name is constructed by concatenating the value of the variable term-file-prefix and the terminal type. Normally, term-file-prefix has the value "term/"; changing this is not recommended. Emacs finds the file in the normal manner, by searching the load-path directories, and trying the `.elc' and `.el' suffixes.

The usual function of a terminal-specific library is to enable special keys to send sequences that Emacs can recognize. It may also need to set or add to function-key-map if the Termcap entry does not specify all the terminal's function keys. See section Terminal Input.

When the name of 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 `term/aaa' library. If necessary, the library can evaluate (getenv "TERM") to find the full name of the terminal type.

Your `.emacs' file can prevent the loading of the terminal-specific library by setting the variable term-file-prefix to nil. This feature is useful when experimenting with your own peculiar customizations.

You can also arrange to override some of the actions of the terminal-specific library by setting the variable term-setup-hook. This is a normal hook which Emacs runs using run-hooks at the end of Emacs initialization, after loading both your `.emacs' file and any terminal-specific libraries. You can use this variable to define initializations for terminals that do not have their own libraries. See section Hooks.

Variable: term-file-prefix
If the term-file-prefix variable is non-nil, Emacs loads a terminal-specific initialization file as follows:

(load (concat term-file-prefix (getenv "TERM")))

You may set the term-file-prefix variable to nil in your `.emacs' file if you do not wish to load the terminal-initialization file. To do this, put the following in your `.emacs' file: (setq term-file-prefix nil).

Variable: term-setup-hook
This variable is a normal hook that Emacs runs after loading your `.emacs' file, the default initialization file (if any) and the terminal-specific Lisp file.

You can use term-setup-hook to override the definitions made by a terminal-specific file.

See window-setup-hook in section Window Systems, for a related feature.


Go to the first, previous, next, last section, table of contents.