+@c -*- coding: utf-8 -*-
@c This is part of the Emacs manual.
-@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2011
-@c Free Software Foundation, Inc.
+@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2016 Free Software
+@c Foundation, Inc.
@c See file emacs.texi for copying conditions.
-@node Modes, Indentation, International, Top
+@node Modes
@chapter Major and Minor Modes
Emacs contains many @dfn{editing modes} that alter its basic
first visit a file or create a buffer (@pxref{Choosing Modes}). You
can explicitly select a new major mode by using an @kbd{M-x} command.
Take the name of the mode and add @code{-mode} to get the name of the
-command to select that mode. Thus, you can enter Lisp mode with
-@kbd{M-x lisp-mode}.
+command to select that mode (e.g., @kbd{M-x lisp-mode} enters Lisp mode).
@vindex major-mode
The value of the buffer-local variable @code{major-mode} is a symbol
-with the same name as the major mode command (e.g. @code{lisp-mode}).
+with the same name as the major mode command (e.g., @code{lisp-mode}).
This variable is set automatically; you should not change it yourself.
The default value of @code{major-mode} determines the major mode to
Customization}), or by adding a line like this to your init file
(@pxref{Init File}):
-@smallexample
+@example
(setq-default major-mode 'text-mode)
-@end smallexample
+@end example
@noindent
If the default value of @code{major-mode} is @code{nil}, the major
commonly changed are @key{TAB}, @key{DEL}, and @kbd{C-j}. Many modes
also define special commands of their own, usually bound in the prefix
key @kbd{C-c}. Major modes can also alter user options and variables;
-for instance, programming language modes typicaly set a buffer-local
+for instance, programming language modes typically set a buffer-local
value for the variable @code{comment-start}, which determines how
source code comments are delimited (@pxref{Comments}).
Every major mode, apart from Fundamental mode, defines a @dfn{mode
hook}, a customizable list of Lisp functions to run each time the mode
is enabled in a buffer. @xref{Hooks}, for more information about
-hooks. Each mode hook is named after its major mode, e.g. Fortran
+hooks. Each mode hook is named after its major mode, e.g., Fortran
mode has @code{fortran-mode-hook}. Furthermore, all text-based major
modes run @code{text-mode-hook}, and all programming language modes
run @code{prog-mode-hook}, prior to running their own mode hooks.
Auto Save mode saves the buffer contents periodically to reduce the
amount of work you can lose in case of a crash. @xref{Auto Save}.
+@item
+Electric Quote mode automatically converts quotation marks. For
+example, it requotes text typed @t{`like this'} to text @t{‘like
+this’}. You can control what kind of text it operates in, and you can
+disable it entirely in individual buffers. @xref{Quotation Marks}.
+
@item
Enriched mode enables editing and saving of formatted text.
@xref{Enriched Text}.
@findex linum-mode
@cindex Linum mode
@item
-Linum mode displays each line's line number in the window's left
-margin. Its mode command is @code{linum-mode}.
+Linum mode displays each line's line number in the window's left margin.
@item
Outline minor mode provides similar facilities to the major mode
character code, as usual.
@item
-Visual Line mode performs ``word wrapping'', causing long lines to be
+Visual Line mode performs word wrapping, causing long lines to be
wrapped at word boundaries. @xref{Visual Line Mode}.
@end itemize
@item
Icomplete mode displays an indication of available completions when
-you are in the minibuffer and completion is active. @xref{Completion
-Options}.
+you are in the minibuffer and completion is active. @xref{Icomplete}.
@item
Line Number mode enables display of the current line number in the
@code{magic-mode-alist}, described above, except that is consulted
only after @code{auto-mode-alist}. By default,
@code{magic-fallback-mode-alist} contains forms that check for image
-files, HTML/XML/SGML files, and PostScript files.
+files, HTML/XML/SGML files, PostScript files, and Unix style Conf
+files.
@findex normal-mode
If you have changed the major mode of a buffer, you can return to
a new major mode if the new file name implies a mode (@pxref{Saving}).
(@kbd{C-x C-s} does this too, if the buffer wasn't visiting a file.)
However, this does not happen if the buffer contents specify a major
-mode, and certain ``special'' major modes do not allow the mode to
+mode, and certain special major modes do not allow the mode to
change. You can turn off this mode-changing feature by setting
@code{change-major-mode-with-file-name} to @code{nil}.