Subject: bug#45857: 28.0.50; Not possible to set package-user-dir in early-init.el

From: Eli Zaretskii <[email-masked]>
Date: Fri, 15 Jan 2021 20:25:49 +0200

> From: Stefan Monnier <[email-masked]>
> Cc: [email-masked],  [email-masked],  [email-masked]
> Date: Fri, 15 Jan 2021 11:08:52 -0500
> 
> >> > Basically, some variables can only be usefully initialized after some
> >> > part(s) of startup have happened already.  One way of dealing with
> >> > this is to have the variables record this information (e.g., in a
> >> > plist of their symbol) that would allow us evaluate each variable only
> >> > once, at the earliest opportunity where the prerequisites are
> >> > fulfilled.
> [...]
> > I say we should get ready for the future now.  Introducing the
> > infrastructure I mentioned is not a big deal.
> 
> Hmm... maybe I misunderstood what you meant by that infrastructure, then.
> Could you outline more concretely what it would look like?

In a nutshell: record the startup phase for each variable in a plits
of its symbol.

> Also, would it currently result in a behavior that's different from:
> 
> - initialize all delayed vars before early-init
> - re-initialize blink-cursor-mode after early-init
> 
> ?

With my proposal, blink-cursor-mode will not be mentioned by name in
any of these places.