help-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: fill-column setq-default and add-hook


From: Heime
Subject: Re: fill-column setq-default and add-hook
Date: Wed, 04 Dec 2024 12:39:07 +0000





Sent with Proton Mail secure email.

On Thursday, December 5th, 2024 at 12:00 AM, Joel Reicher 
<joel.reicher@gmail.com> wrote:

> Heime via Users list for the GNU Emacs text editor
> help-gnu-emacs@gnu.org writes:
> 
> > I want to understand the setting of fill-column. It is a buffer
> > local variable.
> > 
> > But then there the following possibilities
> > 
> > (setq-default fill-column 72)
> > 
> > and
> > 
> > (add-hook 'prog-mode-hook (lambda () (setq fill-column 72)))
> > 
> > The first sets fill-column globally.
> 
> 
> It sets a default value, which is a different instance than any of
> the buffer local instances. ("Instance" is not strictly the
> correct term, but I'm trying it on.)
> 
> > What does that mean? I interpret that the value is set globally
> > but only to those buffers for which there is no local binding.
> 
> 
> It doesn't set anything for a buffer. It sets the default
> instance. Any buffer that lacks a local instance will use that
> default instance. Any local instance created after that will
> default to the value of that default instance.
> 
> > This setting the value (setq-default fill-column 72) does not
> > always work for the current buffer.
> 
> 
> It's not really doing anything to any buffer. It's doing something
> to the default instance. The question of which buffers (if any)
> use that instance is separate.
> 
> > How can one solve this problem?
> 
> 
> If you want to set the current buffer's value, use setq.
> 
> > What does the mode hook do exactly?
> 
> 
> When you enter a mode derived from prog-mode, it will set
> fill-column to 72, which for that variable creates a buffer local
> instance of it (and sets that instance). - Joel

It acts like a global setting for all prog-mode derived buffers,
rather than having to use setq on the buffer.

To have the local value for emacs-lisp-mode, one would do

(add-hook 'emacs-lisp-mode-hook (lambda () (setq fill-column 72)))

Is this how the local values for emacs-lisp-mode is set by emacs?

How can one make fill-column be 72 for all modes?  Is this possible?

  




reply via email to

[Prev in Thread] Current Thread [Next in Thread]