Subject: bug#46256: [feature/native-comp] AOT eln files ignored if run from build tree

From: Eli Zaretskii <[email-masked]>
Date: Wed, 10 Mar 2021 19:43:20 +0200

> Date: Wed, 10 Mar 2021 16:56:14 +0000
> Cc: [email-masked], [email-masked], [email-masked],
>   [email-masked]
> From: Alan Mackenzie <[email-masked]>
> 
> > We are not talking about compilation, we are talking about loading
> > cc-* files.
> 
> The cc-*.el files?  The cc-*.elc files simply have compiled `require's in
> them and shouldn't be reloading already loaded .elc files.  I don't know
> anything about the cc-*.eln files.

It's not realated to *.eln files, AFAIU.  Emacs was byte-compiling
cc-*.el files.  As part of byte-compiling, we load these files, right?
And when we load them, cc-require causes some CC mode files to be
loaded more than once in the same session.

Perhaps there was some trick there not to do that when we load the
*.elc files instead, and perhaps the compiled code in the
corresponding *.eln files misses that trick.

> > When we process cc-require, we end up loading the required CC mode
> > file, even though it is already loaded.
> 
> Yes, if it is processed while loading the source .el file.  This is a
> facility designed for CC Mode hackers, in particular Martin S., whose
> working style apparently led to him switching source directories
> frequently.  

If this is the intended behavior, fine.  I just was surprised by those
multiple loads and didn't expect them.