Subject: Re: bug#78304: 31.0.50; Support --early-eval on the command line

From: Eli Zaretskii <[email-masked]>
Date: Thu, 15 May 2025 18:30:31 +0300

> From: Spencer Baugh <[email-masked]>
> Cc: [email-masked]
> Date: Thu, 15 May 2025 09:41:31 -0400
> 
> Eli Zaretskii <[email-masked]> writes:
> 
> >> From: Spencer Baugh <[email-masked]>
> >> Cc: [email-masked]
> >> Date: Wed, 14 May 2025 13:56:08 -0400
> >> 
> >> - I want to run with -q for the usual reasons of ignoring the user's
> >>   early-init.el and init.el.
> >> 
> >> - While running with -q, I want to do things which can only be done with
> >>   early-init.el, like configuring package initialization,
> >>   load-path-filter-function, or the initial frame parameters.
> >
> > Why do you want to do that under -q?
> 
> Two concrete use cases:
> 
> - Since load-path-filter-function speeds up all subsequent loads, it
>   needs to be set at early-init.el time to have maximum effect, but I
>   want to also be able to use it and test it with emacs -q.

Since early-init.el is not supposed to load anything, only set up some
variables, I don't understand why you insist on doing this in
early-init.  The site-start file is loaded right after early-init.el,
so if you set that up at the very beginning of site-start file, it
will have the same effect.

And even if that doesn't work for some reason I cannot imagine ATM,
you could do this in site-start when Emacs was invoked with -q.

> - Context: I'm developing some scripts to run Emacs in a simple
>   reduced-functionality mode, which provide access to just one buffer
>   running in a specific major mode, with the goal of making Emacs
>   features accessible to users who don't currently use Emacs.  For
>   example, vc-dir is generally useful, so a script to open Emacs running
>   vc-dir on its own.  (These scripts are similar to things like
>   https://github.com/maio/smagit and
>   https://github.com/alphapapa/magit.sh )
> 
>   These scripts run with -q, but I need to be able to configure things
>   about the initial frame, which can only be done with early-init.el.

Same question here: why cannot this be done in site-start file?  IMO,
it is even cleaner, because it doesn't require each user to do the
same in their early-init files; instead, you will do that only once
for all of them.