Subject: bug#57003: 28.1.90; Can local variables be loaded before loading major mode?

From: Stefan Monnier <[email-masked]>
Date: Sat, 29 Oct 2022 10:40:06 -0400

>> The problem is not that the variables are set too late,it's that you
>> fold too early: the folding should not to take place from within
>> `org-mode` but instead `org-mode` should add the folding function to
>> `hack-local-variables-hook`.
>>
>> What you request is a common need, and `hack-local-variables-hook` is
>> the standard answer.
>
> I guess that it can be an option. Though such hook will also need to be
> guarded against repetitive execution (if `hack-local-variables' is
> called by some minor mode or a command).
>
> However, pretty much all the BODY in Org major mode definition will need
> to go into the hook. It feels awkward.

The body of a major mode should usually be limited to setting some
variables.  All the font-lock highlighting, the imenu scanning, the
syntax-propertizing, etc... is done afterwards (the later the better).

The act of folding is not part of "defining" the major mode in my
book :-)

> Will moving the whole major mode definition into
> `hack-local-variables-hook' be safe?

Define "safe".  I'm sure it'll cause problems in corner cases.
If those problems come down to the fact that `hack-local-variables-hook'
doesn't fit the bill, then we can look at fixing that.

        Stefan