Next: , Up: Environment


C.5.1 General Variables

Here is an alphabetical list of specific environment variables that have special meanings in Emacs, giving the name of each variable and its meaning. Most of these variables are also used by some other programs. Emacs does not require any of these environment variables to be set, but it uses their values if they are set.

CDPATH
Used by the cd command to search for the directory you specify, when you specify a relative directory name.
EMACS_UNIBYTE
Defining this environment variable with a nonempty value directs Emacs to do almost everything with single-byte buffers and strings. It is equivalent to using the ‘--unibyte’ command-line option on each invocation. See Initial Options.
EMACSDATA
Directory for the architecture-independent files that come with Emacs. This is used to initialize the Lisp variable data-directory.
EMACSDOC
Directory for the documentation string file, DOC-emacsversion. This is used to initialize the Lisp variable doc-directory.
EMACSLOADPATH
A colon-separated list of directories1 to search for Emacs Lisp files—used to initialize load-path.
EMACSPATH
A colon-separated list of directories to search for executable files—used to initialize exec-path.
ESHELL
Used for shell-mode to override the SHELL environment variable.
HISTFILE
The name of the file that shell commands are saved in between logins. This variable defaults to ~/.bash_history if you use Bash, to ~/.sh_history if you use ksh, and to ~/.history otherwise.
HOME
The location of the user's files in the directory tree; used for expansion of file names starting with a tilde (~). On MS-DOS, it defaults to the directory from which Emacs was started, with ‘/bin’ removed from the end if it was present. On Windows, the default value of HOME is the Application Data subdirectory of the user profile directory (normally, this is C:/Documents and Settings/username/Application Data, where username is your user name), though for backwards compatibility C:/ will be used instead if a .emacs file is found there.
HOSTNAME
The name of the machine that Emacs is running on.
INCPATH
A colon-separated list of directories. Used by the complete package to search for files.
INFOPATH
A colon-separated list of directories in which to search for Info files.
LC_ALL
LC_COLLATE
LC_CTYPE
LC_MESSAGES
LC_MONETARY
LC_NUMERIC
LC_TIME
LANG
The user's preferred locale. The locale has six categories, specified by the environment variables LC_COLLATE for sorting, LC_CTYPE for character encoding, LC_MESSAGES for system messages, LC_MONETARY for monetary formats, LC_NUMERIC for numbers, and LC_TIME for dates and times. If one of these variables is not set, the category defaults to the value of the LANG environment variable, or to the default ‘C’ locale if LANG is not set. But if LC_ALL is specified, it overrides the settings of all the other locale environment variables.

On MS-Windows, if LANG is not already set in the environment when Emacs starts, Emacs sets it based on the system-wide default language, which you can set in the ‘Regional Settings’ Control Panel on some versions of MS-Windows.

The value of the LC_CTYPE category is matched against entries in locale-language-names, locale-charset-language-names, and locale-preferred-coding-systems, to select a default language environment and coding system. See Language Environments.

LOGNAME
The user's login name. See also USER.
MAIL
The name of the user's system mail inbox.
MH
Name of setup file for the mh system. (The default is ~/.mh_profile.)
NAME
The real-world name of the user.
NNTPSERVER
The name of the news server. Used by the mh and Gnus packages.
ORGANIZATION
The name of the organization to which you belong. Used for setting the `Organization:' header in your posts from the Gnus package.
PATH
A colon-separated list of directories in which executables reside. This is used to initialize the Emacs Lisp variable exec-path.
PWD
If set, this should be the default directory when Emacs was started.
REPLYTO
If set, this specifies an initial value for the variable mail-default-reply-to. See Mail Headers.
SAVEDIR
The name of a directory in which news articles are saved by default. Used by the Gnus package.
SHELL
The name of an interpreter used to parse and execute programs run from inside Emacs.
SMTPSERVER
The name of the outgoing mail server. Used by the SMTP library (see Sending mail via SMTP).
TERM
The type of the terminal that Emacs is using. This variable must be set unless Emacs is run in batch mode. On MS-DOS, it defaults to ‘internal’, which specifies a built-in terminal emulation that handles the machine's own display. If the value of TERM indicates that Emacs runs in non-windowed mode from xterm or a similar terminal emulator, the background mode defaults to ‘light’, and Emacs will choose colors that are appropriate for a light background.
TERMCAP
The name of the termcap library file describing how to program the terminal specified by the TERM variable. This defaults to /etc/termcap.
TMPDIR
Used by the Emerge package as a prefix for temporary files.
TZ
This specifies the current time zone and possibly also daylight saving time information. On MS-DOS, if TZ is not set in the environment when Emacs starts, Emacs defines a default value as appropriate for the country code returned by DOS. On MS-Windows, Emacs does not use TZ at all.
USER
The user's login name. See also LOGNAME. On MS-DOS, this defaults to ‘root’.
VERSION_CONTROL
Used to initialize the version-control variable (see Backup Names).

Footnotes

[1] Here and below, whenever we say “colon-separated list of directories,” it pertains to Unix and GNU/Linux systems. On MS-DOS and MS-Windows, the directories are separated by semi-colons instead, since DOS/Windows file names might include a colon after a drive letter.