Subject: Re: bug#58318: 28.2; Emacs installed from package won't work with MinGW

From: Lars Ingebrigtsen <[email-masked]>
Date: Fri, 07 Oct 2022 14:04:57 +0200

Eli Zaretskii <[email-masked]> writes:

>> I'm sorry, I don't follow you.  If trampolines can't be installed, then
>> Emacs isn't fully functional, because you can't say
>> 
>> (fset 'yes-or-no-p 'y-or-n-p)
>> 
>> and have that be respected.  I.e., the non-functional bit is about
>> redefinitions of built-in functions, which is pretty basic functionality
>> in Emacs.
>
> Maybe there's a misunderstanding of what you meant by "if a compiler
> isn't present".  By "the compiler" do you mean libgccjit, or is it GCC
> and Binutils (or maybe all 3 together)?  IOW, are you talking about
> the ability to load existing *.eln files, or are you talking about the
> ability to both load existing *.eln files and produce new ones?

I'm talking about trampolines, nothing else.

> The startup code currently detects that libgccjit is unavailable or
> cannot be loaded, and if so, disables all the aspects of
> native-compilation: both JIT compilation of *.el and production of the
> trampolines.  I'm not aware that when we disable those two, we get
> Emacs that is not "fully functional".

If native compilation is disabled in a native-compiled Emacs, then 

(fset 'yes-or-no-p 'y-or-n-p)

doesn't work (for calls to `yes-or-no-p' in native-compiled code).
That's what I meant by "not fully functional".