Clarify major mode switching

* doc/emacs/modes.texi (Major Modes):
* doc/lispref/modes.texi (Modes, Major Modes): Explictly say that each
buffer has exactly one major mode and can't be "turned off", only
switched away from (Bug#25357).
This commit is contained in:
Noam Postavsky 2017-01-04 20:35:13 -05:00
parent fc38671988
commit a2a2073933
2 changed files with 19 additions and 12 deletions

View file

@ -66,7 +66,10 @@ process (@pxref{Interactive Shell}).
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 (e.g., @kbd{M-x lisp-mode} enters Lisp mode).
command to select that mode (e.g., @kbd{M-x lisp-mode} enters Lisp
mode). Since every buffer has exactly one major mode, there is no way
to ``turn off'' a major mode; instead you must switch to a different
one.
@vindex major-mode
The value of the buffer-local variable @code{major-mode} is a symbol

View file

@ -7,11 +7,12 @@
@chapter Major and Minor Modes
@cindex mode
A @dfn{mode} is a set of definitions that customize Emacs and can be
turned on and off while you edit. There are two varieties of modes:
@dfn{major modes}, which are mutually exclusive and used for editing
particular kinds of text, and @dfn{minor modes}, which provide features
that users can enable individually.
A @dfn{mode} is a set of definitions that customize Emacs behavior
in useful ways. There are two varieties of modes: @dfn{minor modes},
which provide features that users can turn on and off while editing;
and @dfn{major modes}, which are used for editing or interacting with
a particular kind of text. Each buffer has exactly one @dfn{major
mode} at a time.
This chapter describes how to write both major and minor modes, how to
indicate them in the mode line, and how they run hooks supplied by the
@ -196,12 +197,15 @@ from the buffer-local hook list instead of from the global hook list.
@cindex major mode
@cindex major mode command
Major modes specialize Emacs for editing particular kinds of text.
Each buffer has one major mode at a time. Every major mode is
associated with a @dfn{major mode command}, whose name should end in
@samp{-mode}. This command takes care of switching to that mode in the
current buffer, by setting various buffer-local variables such as a
local keymap. @xref{Major Mode Conventions}.
Major modes specialize Emacs for editing or interacting with
particular kinds of text. Each buffer has exactly one major mode at a
time. Every major mode is associated with a @dfn{major mode command},
whose name should end in @samp{-mode}. This command takes care of
switching to that mode in the current buffer, by setting various
buffer-local variables such as a local keymap. @xref{Major Mode
Conventions}. Note that unlike minor modes there is no way to ``turn
off'' a major mode, instead the buffer must be switched to a different
one.
The least specialized major mode is called @dfn{Fundamental mode},
which has no mode-specific definitions or variable settings.