Subject: Re: bug#15658: 24.1; (wishlist) Easy way to make a file-local variable also permanent-local

From: Lars Ingebrigtsen <[email-masked]>
Date: Tue, 10 May 2022 17:14:21 +0200

yary <[email-masked]> writes:

> There are occasional needs to preserve buffer-local variables across
> major-mode changes. In the specific case of directory-local variables,
> an automated solution looks to be feasible, see "bug#15577: 24.3;
> dir-local variables not applied when switching major-mode"
>
> File-local variables on the other hand are not as easy to categorize as
> to their intent- for a particular mode, vs the file contents in general.
>
> I propose adding `permanent' as another special "variable name" (along
> the lines of `mode', `eval', `coding', and `unibyte') to let people
> mark the file variables they want to remain between mode changes. For
> example:
>
> ; mode: Lisp
> ; fill-column: 75
> ; comment-column: 50
> ; permanent: fill-column tab-width
>
> would set & keep fill-column at 75 between mode changes, and would
> preserve between major-mode switches any changes to tab-width.

(I'm going through old bug reports that unfortunately weren't resolved
at the time.)

With the following:

;; Local variables:
;; foo-var: t
;; end:

foo-var is set whenever I change the major mode.  Has the behaviour
changed here since Emacs 24.1?  (The earliest Emacs I have is Emacs
25.1.)

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no