* more issues with setq-local
@ 2021-04-20 15:10 Emanuel Berg via Users list for the GNU Emacs text editor
2021-04-20 15:48 ` Thibaut Verron
0 siblings, 1 reply; 2+ messages in thread
From: Emanuel Berg via Users list for the GNU Emacs text editor @ 2021-04-20 15:10 UTC (permalink / raw)
To: help-gnu-emacs
So, how do you do set `fill-column' to 62 everywhere in Emacs?
`setq' sets it buffer-locally.
And `setq-default' sets it where it isn't set!
But do I set it where it is set? I am to hunt down these
buffers manually?
Observe the below [last] Elisp. We see/understand that
fill-column isn't of the "buffer instance metadata" use case.
It is just normal data. If one wants that different in
different parts of Emacs, why don't you do as `message-mode'
and get your own variable?
So yeah, what do you do if you just want to set it to
something, everywhere?
(require 'message)
(let ((fill-col 62))
(setq fill-column fill-col) ; only sets it in this buffer since "Automatically becomes buffer-local when set."
(setq-default fill-column fill-col) ; sets it where it isn't set
(setq message-fill-column fill-col) ; no problem since not auto buffer-local
)
--
underground experts united
https://dataswamp.org/~incal
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: more issues with setq-local
2021-04-20 15:10 more issues with setq-local Emanuel Berg via Users list for the GNU Emacs text editor
@ 2021-04-20 15:48 ` Thibaut Verron
0 siblings, 0 replies; 2+ messages in thread
From: Thibaut Verron @ 2021-04-20 15:48 UTC (permalink / raw)
To: help-gnu-emacs
On 2021-04-20 5:10 p.m., Emanuel Berg via Users list for the GNU Emacs
text editor wrote:
> So, how do you do set `fill-column' to 62 everywhere in Emacs?
>
> `setq' sets it buffer-locally.
>
> And `setq-default' sets it where it isn't set!
>
> But do I set it where it is set? I am to hunt down these
> buffers manually?
You could write a loop going over all buffers and doing setq in each of
them, if that's really what you want.
But if all you want is to use the default value everywhere, isn't it
easier not to set it locally in the first place?
> Observe the below [last] Elisp. We see/understand that
> fill-column isn't of the "buffer instance metadata" use case.
> It is just normal data.
Which might need to be different in different buffers.
The alternative, as you say, is a global variable which users would make
local when necessary. I think that the current setting is less
destructively dangerous. Imagine for instance someone with a
before-save-hook function using fill-column, and accidentally changing
the global value...
> If one wants that different in
> different parts of Emacs, why don't you do as `message-mode'
> and get your own variable?
What do you mean? I strongly suspect that what message-mode does is
(setq fill-column message-fill-column) at mode initialization.
The variable message-fill-column is given for convenience, ie, so that
you can set the fill column for *Messages* by just setting that variable
(instead of using, say, a hook). But internally, a buffer-local version
of fill-column is created for the *Messages* buffer.
If that's what you mean by "it is set", that some mode is setting the
variable, then yes, I suspect that you have no choice but to investigate
how to bypass that setting for each mode which gets an incorrect value
(or override it manually with a hook).
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2021-04-20 15:48 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-04-20 15:10 more issues with setq-local Emanuel Berg via Users list for the GNU Emacs text editor
2021-04-20 15:48 ` Thibaut Verron
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).