Subject: bug#48079: Temporary files while building after native-comp merge

From: Eli Zaretskii <[email-masked]>
Date: Wed, 05 May 2021 17:01:34 +0300

> From: Lars Ingebrigtsen <[email-masked]>
> Cc: [email-masked],  [email-masked],  [email-masked]
> Date: Wed, 05 May 2021 14:47:43 +0200
> 
> Eli Zaretskii <[email-masked]> writes:
> 
> >> I guess we can't set up a signal trap to delete the temp file if we're
> >> being interrupted?
> >
> > You mean, in the Makefile?  That won't handle the cases where the
> > compilation is manually invoked (e.g., from a running Emacs).
> 
> I'm not actually sure -- I don't know what the possibilities at our
> disposal are here, really.  If we can catch this in Emacs, that'd be
> nicer...  but can we?

With complicated enough code, sure, we could.

> Another thing I'm wondering about is why we write the subr.elc0EdJIV
> file at all, and then apparently don't rename it to .elc immediately?
> It seems to linger on in that name for a very long time?  But I haven't
> actually looked at the code here.

AFAIR, we rename it atomically when we are done with it.  I guess with
native-compilation it takes longer to "be done with it".

> So is it writing the subr.elc0EdJIV file, then doing the .eln
> compilation, and then moving subr.elc0EdJIV to subr.elc?

Yes, I think so.