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

From: Ship Mints <[email-masked]>
Date: Fri, 16 May 2025 06:22:29 -0400

On Fri, May 16, 2025 at 3:12 AM Eli Zaretskii <[email-masked]> wrote:

> > From: Lynn Winebarger <[email-masked]>
> > Date: Thu, 15 May 2025 15:51:22 -0400
> > Cc: Eli Zaretskii <[email-masked]>, [email-masked]
> >
> > On Thu, May 15, 2025, 3:08 PM Spencer Baugh <[email-masked]>
> wrote:
> >
> >  Lynn Winebarger <[email-masked]> writes:
> >
> >  That's true enough, but this is not about my site - the only reason site
> >  files came up is because Eli mentioned them.  Both of the use cases I
> >  mentioned (setting load-path-filter-function, using a script to run a
> >  reduced-functionality Emacs) should work for users anywhere without
> >  requring them to compile their own Emacs.
> >
> > The only thing I can suggest is working to ensure redumping is
> functional, since (rereading the email chain)
> > you seem to be working on specialized instances of emacs.  But you don't
> even really need that.
> >
> > You can make an installation script that either redumps or just dumps,
> you don't have to recompile anything.
> >  Just install a script that calls emacs with the explicit flag for the
> dump file the installation script generates.
> > Everything necessary will already be available with the system, dumping
> just loads the stuff you specify, then
> > does a specialized garbage collection and saves the result.  Pretty much
> any reasonable package
> > management system should allow you to do what's needed at install time.
> >
> > I think you'll find that a much easier path to your goal than convincing
> Eli to add another feature to maintain.
>
> Actually, I think everything Spencer wants to do is achievable via
> site-start file, and it's the unnecessary urge to use -q that creates
> the problem he tries to solve.  I don't think anything like customized
> dumping is needed to solve this problem.
>

Perhaps I need more coffee...I just tried (on master):

  echo '(defvar BOO "BOO")' > site-start.el
  emacs -L $PWD -q

and ./site-start.el was not loaded.

I read through startup.el and it looks like this should work.  I'd use this
technique to use a script-specific site-start.el file (independent of any
system-wide site-start) for a few Emacs scripts for which I'd want to do
something similar to what Spencer is attempting.