On Mon, Jun 6, 2022 at 6:39 AM Eli Zaretskii <eliz@gnu.org> wrote:
> From: Stefan Monnier <monnier@iro.umontreal.ca>
> Cc: Andrea Corallo <akrl@sdf.org>,  emacs-devel@gnu.org
> Date: Mon, 06 Jun 2022 02:12:30 -0400
>
> > That would explain the behavior I've seen.  If that's the case, shouldn't
> > batch-native-compile produce the byte-compiled file if it doesn't exist?
>
> Sounds about right, tho maybe there's a good reason for the current
> behavior, I don't know.

Of course, there is: that function is what is invoked when building a
release tarball, where the *.elc files are already present.  See
lisp/Makefile.in.

That's what I expected was the case, but the question is whether it "should"
check for those .elc files and create them only if they do not exist, as opposed
to batch-byte+native-compile, which creates both unconditionally.  Or perhaps
just note the possible hiccup in the docstring for batch-native-compile?

However, since the eln file can be generated without the elc file, it also begs the question
of why the use of the eln file is conditioned on the existence of the elc file in the
first place.  Are there situations where the eln file would be incorrect to use 
without the byte-compiled file in place?

Lynn