]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix usage of `setq-default' and offer more suggestions
authorXiyue Deng <manphiz@gmail.com>
Sun, 24 Dec 2023 00:12:44 +0000 (16:12 -0800)
committerEli Zaretskii <eliz@gnu.org>
Sun, 24 Dec 2023 08:38:46 +0000 (10:38 +0200)
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)

doc/lispintro/emacs-lisp-intro.texi

index 4a0e8dfa1fce3429816ad4919184bd33ae002939..26a405361ded03ea19cca9e2488b64c9caf803f6 100644 (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