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
@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
@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.