@c This is part of the Emacs manual.
-@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2012
-@c Free Software Foundation, Inc.
+@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2014 Free Software
+@c Foundation, Inc.
@c See file emacs.texi for copying conditions.
@node Customization
@chapter Customization
@kindex C-x C-c @r{(customization buffer)}
@findex Custom-set
@findex Custom-save
- The command @kbd{C-c C-c} (@code{Custom-set}) is equivalent using to
+ The command @kbd{C-c C-c} (@code{Custom-set}) is equivalent to using
the @samp{[Set for Current Session]} button. The command @kbd{C-x
C-s} (@code{Custom-save}) is like using the @samp{[Save for Future
Sessions]} button.
between various collections of settings, and to transfer such
collections from one computer to another.
- A Custom theme is stored an Emacs Lisp source file. If the name of
+ A Custom theme is stored as an Emacs Lisp source file. If the name of
the Custom theme is @var{name}, the theme file is named
@file{@var{name}-theme.el}. @xref{Creating Custom Themes}, for the
format of a theme file and how to make one.
which are distributed with Emacs, which customize Emacs's faces to fit
various color schemes. (Note, however, that Custom themes need not be
restricted to this purpose; they can be used to customize variables
-too).
+too.)
@vindex custom-theme-load-path
If you want Emacs to look for Custom themes in some other directory,
@vindex custom-enabled-themes
Setting or saving Custom themes actually works by customizing the
variable @code{custom-enabled-themes}. The value of this variable is
-a list of Custom theme names (as Lisp symbols, e.g.@: @code{tango}).
+a list of Custom theme names (as Lisp symbols, e.g., @code{tango}).
Instead of using the @file{*Custom Themes*} buffer to set
@code{custom-enabled-themes}, you can customize the variable using the
-usual customization interface, e.g.@: with @kbd{M-x customize-option}.
+usual customization interface, e.g., with @kbd{M-x customize-option}.
Note that Custom themes are not allowed to set
@code{custom-enabled-themes} themselves.
@item
@code{unibyte} says to load or compile a file of Emacs Lisp in unibyte
-mode, if the value is @code{t}. @xref{Disabling Multibyte}.
+mode, if the value is @code{t}. @xref{Disabling Multibyte, ,
+Disabling Multibyte Characters, elisp, GNU Emacs Lisp Reference
+Manual}.
+
@end itemize
@noindent
@example
((nil . ((indent-tabs-mode . t)
(fill-column . 80)))
- (c-mode . ((c-file-style . "BSD")))
+ (c-mode . ((c-file-style . "BSD")
(subdirs . nil)))
("src/imported"
. ((nil . ((change-log-default-name
@findex kbd
There are several ways to write a key binding using Lisp. The
-simplest is to use the @code{kbd} macro, which converts a textual
+simplest is to use the @code{kbd} function, which converts a textual
representation of a key sequence---similar to how we have written key
sequences in this manual---into a form that can be passed as an
argument to @code{global-set-key}. For example, here's how to bind
(global-set-key (kbd "<mouse-2>") 'mouse-save-then-kill)
@end example
- Instead of using the @code{kbd} macro, you can use a Lisp string or
-vector to specify the key sequence. Using a string is simpler, but
-only works for @acronym{ASCII} characters and Meta-modified
-@acronym{ASCII} characters. For example, here's how to bind @kbd{C-x
-M-l} to @code{make-symbolic-link} (@pxref{Misc File Ops}):
+ Instead of using @code{kbd}, you can use a Lisp string or vector to
+specify the key sequence. Using a string is simpler, but only works
+for @acronym{ASCII} characters and Meta-modified @acronym{ASCII}
+characters. For example, here's how to bind @kbd{C-x M-l} to
+@code{make-symbolic-link} (@pxref{Misc File Ops}):
@example
(global-set-key "\C-x\M-l" 'make-symbolic-link)
characters case-sensitive when you customize Emacs. For instance, you
could make @kbd{M-a} and @kbd{M-A} run different commands.
- Although only the @key{Control} and @key{Meta} modifier keys are
+ Although only the @key{Control} and @key{META} modifier keys are
commonly used, Emacs supports three other modifier keys. These are
called @key{Super}, @key{Hyper} and @key{Alt}. Few terminals provide
ways to use these modifiers; the key labeled @key{Alt} on most
-keyboards usually issues the @key{Meta} modifier, not @key{Alt}. The
+keyboards usually issues the @key{META} modifier, not @key{Alt}. The
standard key bindings in Emacs do not include any characters with
these modifiers. However, you can customize Emacs to assign meanings
to them. The modifier bits are labeled as @samp{s-}, @samp{H-} and
common function keys:
@table @asis
-@item @code{left}, @code{up}, @code{right}, @code{down}
+@item @code{LEFT}, @code{UP}, @code{RIGHT}, @code{DOWN}
Cursor arrow keys.
-@item @code{begin}, @code{end}, @code{home}, @code{next}, @code{prior}
+@item @code{Begin}, @code{End}, @code{Home}, @code{next}, @code{prior}
Other cursor repositioning keys.
@item @code{select}, @code{print}, @code{execute}, @code{backtab}
used so often that they have special keys of their own. For instance,
@key{TAB} was another name for @kbd{C-i}. Later, users found it
convenient to distinguish in Emacs between these keys and the ``same''
-control characters typed with the @key{CTRL} key. Therefore, on most
+control characters typed with the @key{Ctrl} key. Therefore, on most
modern terminals, they are no longer the same: @key{TAB} is different
from @kbd{C-i}.
@samp{\C-} can be used as a prefix for a control character, as in
@samp{\C-s} for @acronym{ASCII} control-S, and @samp{\M-} can be used as a prefix for
-a Meta character, as in @samp{\M-a} for @kbd{Meta-A} or @samp{\M-\C-a} for
-@kbd{Control-Meta-A}.@refill
+a Meta character, as in @samp{\M-a} for @kbd{@key{META}-A} or
+@samp{\M-\C-a} for @kbd{@key{Ctrl}-@key{META}-A}.
@xref{Init Non-ASCII}, for information about including
non-@acronym{ASCII} in your init file.
@cindex loading Lisp libraries automatically
@cindex autoload Lisp libraries
Tell Emacs to find the definition for the function @code{myfunction}
-by loading a Lisp library named @file{mypackage} (i.e.@: a file
+by loading a Lisp library named @file{mypackage} (i.e., a file
@file{mypackage.elc} or @file{mypackage.el}):
@example
@node Terminal Init
@subsection Terminal-specific Initialization
+@vindex term-file-aliases
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
-@var{termtype}, the library is called @file{term/@var{termtype}} and it is
+@var{termtype}, the library is called @file{term/@var{termtype}}.
+(If there is an entry of the form @code{(@var{termtype} . @var{alias})}
+in the @code{term-file-aliases} association list, Emacs uses
+@var{alias} in place of @var{termtype}.) The library is
found by searching the directories @code{load-path} as usual and trying the
suffixes @samp{.elc} and @samp{.el}. Normally it appears in the
subdirectory @file{term} of the directory where most Emacs libraries are
-kept.@refill
+kept.
The usual purpose of the terminal-specific library is to map the
escape sequences used by the terminal's function keys onto more
before the first hyphen is significant in choosing the library name.
Thus, terminal types @samp{aaa-48} and @samp{aaa-30-rv} both use
the library @file{term/aaa}. The code in the library can use
-@code{(getenv "TERM")} to find the full terminal type name.@refill
+@code{(getenv "TERM")} to find the full terminal type name.
@vindex term-file-prefix
The library's name is constructed by concatenating the value of the
file can prevent the loading of the terminal-specific library by setting
@code{term-file-prefix} to @code{nil}.
-@vindex term-setup-hook
- Emacs runs the hook @code{term-setup-hook} at the end of
+@vindex tty-setup-hook
+ Emacs runs the hook @code{tty-setup-hook} at the end of
initialization, after both your @file{.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
More precisely, Emacs first determines which user's init file to use.
It gets your user name from the environment variables @env{LOGNAME} and
-@env{USER}; if neither of those exists, it uses effective user-ID.
+@env{USER}; if neither of those exists, it uses effective user-ID@.
If that user name matches the real user-ID, then Emacs uses @env{HOME};
otherwise, it looks up the home directory corresponding to that user
name in the system's data base of users.