Subject: Re: bug#63871: 29.0.91; JIT native comp triggered to compile loaddefs repeatedly on require

From: Jimmy Wong <[email-masked]>
Date: Sat, 3 Jun 2023 15:05:06 +0100

When there’s a package or a file that should not be natively compiled, there should be a global blacklist variable that controls that instead of relying on a file local variable in order to short circuit this behavior.
On 3 Jun 2023 at 2:50 PM +0100, Eli Zaretskii <[email-masked]>, wrote:
> > From: Jimmy Yuen Ho Wong <[email-masked]>
> > Date: Sat, 03 Jun 2023 14:22:41 +0100
> >
> >
> > Reproduction:
> >
> > 1. emacs -q -nsl --eval="(require 'cl-lib)"
> > 2. C-x b TAB
> > 3. Select *Async-native-compile-log*
> > 4. The following is printed
> >
> > ```emacs-lisp
> > Compiling /opt/local/share/emacs/29.0.91/lisp/emacs-lisp/cl-loaddefs.el.gz...
> > uncompressing cl-loaddefs.el.gz...
> > uncompressing cl-loaddefs.el.gz...done
> > Compilation finished.
> > ```
> >
> > Expectation:
> >
> > This behavior is observed when any packages in ~/.emacs.d/elpa/
> > autoloads and require cl-lib, org or tramp as well.
> >
> > The simple act of requiring a built-in Emacs package should not trigger
> > a JIT native compilation on an Emacs installation built with
> > `--with-native-compilation=aot`.
>
> And it doesn't. cl-loaddefs has the "no-native-compile: t" thingy in
> the file-local variables, so the native-compilation does nothing.
>
> So I don't see any bug here, and I'm closing this bug.