Subject: bug#58429: 29.0.50; inhibit-automatic-native-compilation does not work as expected.

From: Eli Zaretskii <[email-masked]>
Date: Thu, 13 Oct 2022 19:05:02 +0300

> From: Andrea Corallo <[email-masked]>
> Cc: Eli Zaretskii <[email-masked]>, [email-masked], [email-masked]
> Date: Thu, 13 Oct 2022 14:10:52 +0000
> 
> As Eli mentioned unfortunately we cannot disable trampolines.

Btw, Andrea, can you help me understand better what does
comp-enable-subr-trampolines do, when set to nil?  The doc string says

  If non-nil enable primitive trampoline synthesis.
  This makes primitive functions redefinable or advisable effectively.

which seems to hint that when this is nil, primitives cannot be
advised or redefined?  We set this variable to nil in startup.el if
native-comp-available-p returns nil (which currently can only happen
on MS-Windows), AFAIU with the intent to prevent Emacs from even
trying to natively-compile anything, including trampolines.  But if
Emacs cannot produce a trampoline, it means that primitives cannot be
redefined, and we silently fail that?  Because (again, AFAIU)
native-comp-available-p being nil does not prevent Emacs from loading
*.eln files that are already compiled (because just loading them
doesn't need libgccjit), is that right?

Am I confused about something here?

Thanks.