Subject: Re: bug#47067: 28.0.50; [feature/native-comp] Crash while scrolling through dispnew.c

From: Eli Zaretskii <[email-masked]>
Date: Sat, 20 Mar 2021 11:52:54 +0200

A related question: what happens when a .el which was preloaded at
some point is no longer preloaded?

When it was preloaded, we had its .eln file under native/lisp/, but
when it ceases to be preloaded, its name is removed from $shortlisp
(in src/lisp.mk), and we no longer ELC+ELN it during the build.  So we
now have a stale .eln file in native-lisp, and at some future point in
time, when that file is loaded into Emacs, it will be
natively-compiled into ~/.emacs.d/eln-cache/.  At which point we have
2 versions of the .eln file.

Question #1: will Emacs load the up-to-date .eln file in eln-cache, or
could it by any chance load the outdated file in native-lisp?
Question #2: can we somehow remove the stale .eln file in these
situations?

Thanks.