1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-11-24 07:20:37 +00:00

Fix usage of `setq-default' and offer more suggestions

cd61af0 changed from default-major-mode to major-mode in the first
code sample but didn't change the rest.  This patch fixes this and add
some explanations of why use `setq-default' instead of `setq'.  In
addition, it gives background on suggesting using text-mode as default
mode and suggest other alternatives.

* doc/lispintro/emacs-lisp-intro.texi (Text and Auto-fill): Fix usage
of `setq-default' and offer more suggestions.  (Bug#67848)
This commit is contained in:
Xiyue Deng 2023-12-23 16:12:44 -08:00 committed by Eli Zaretskii
parent 2701da0eee
commit ceacf75395

View File

@ -16892,8 +16892,12 @@ remember to look here to remind myself.
@node Text and Auto-fill
@section Text and Auto Fill Mode
Now we come to the part that turns on Text mode and
Auto Fill mode.
Now we come to the part that turns on Text mode and Auto Fill
mode.@footnote{This section suggests settings that are more suitable
for writers. For programmers, the default mode will be set to the
corresponding prog-mode automatically based on the type of the file.
And it's perfectly fine if you want to keep the fundamental mode as
the default mode.}
@smallexample
@group
@ -16945,15 +16949,19 @@ Here is the line again; how does it work?
@cindex Text Mode turned on
@smallexample
(setq major-mode 'text-mode)
(setq-default major-mode 'text-mode)
@end smallexample
@noindent
This line is a short, but complete Emacs Lisp expression.
We are already familiar with @code{setq}. It sets the following
variable, @code{major-mode}, to the subsequent value, which is
@code{text-mode}. The single-quote before @code{text-mode} tells
We are already familiar with @code{setq}. We use a similar macro
@code{setq-default} to set the following variable,
@code{major-mode}@footnote{We use @code{setq-default} because
@code{text-mode} is buffer local. If we use @code{setq} it will only
apply to the current buffer, and using @code{setq-default} will also
apply this to newly created buffers.}, to the subsequent value, which
is @code{text-mode}. The single-quote before @code{text-mode} tells
Emacs to deal directly with the @code{text-mode} symbol, not with
whatever it might stand for. @xref{setq, , Setting the Value of
a Variable}, for a reminder of how @code{setq} works. The main point