Subject: Re: bug#58509: 29.0.50; Synchronous nativecomp

From: Eli Zaretskii <[email-masked]>
Date: Fri, 14 Oct 2022 15:54:53 +0300

> From: Lars Ingebrigtsen <[email-masked]>
> Cc: [email-masked],  [email-masked]
> Date: Fri, 14 Oct 2022 14:20:24 +0200
> 
> You missed that the --native-compile there is in no way related to the
> -l that follows.  I.e., for instance:
> 
> emacs --batch --native-compile --eval '(gnus)'

(There was no "--eval '(gnus)" in the original report.)

> should native-compile all parts of running Gnus.

Gnus is an interactive program, and I'm quite sure what exactly is
loaded as side effect of "M-x gnus RET" depends on what you do next,
after Gnus starts up.  So the above could perhaps compile everything
that just starting Gnus loads, but it cannot compile anything else.

Besides, what is the semantics of

  emacs --batch --eval '(gnus)

?  IOW, what does it mean to run Gnus in batch mode?

So I still don't understand the request and its semantics.  I also
don't understand how it differs from just starting Gnus interactively
and having whatever is needed compiled asynchronously.  But since my
questions seem to annoy you, I will stop asking them; I'm sorry I
started.  Just one last thing: if the intent is to tell Emacs "compile
natively, but do that in the same Emacs session instead of in
subprocesses", then how is this different from

  emacs --batch --batch-native-compile lisp/gnus/gnus*.el --eval '(gnus)

which is what I had in mind?