emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Native compilation on as default?


From: Andrea Corallo
Subject: Re: Native compilation on as default?
Date: Wed, 25 Oct 2023 17:33:03 -0400
User-agent: Gnus/5.13 (Gnus v5.13)

Stefan Kangas <stefankangas@gmail.com> writes:

> Andrea Corallo <acorallo@gnu.org> writes:
>
>> Thinking about this...  IME *the* warning we are interested in from the
>> async compilation is the:
>>
>> "the function ‘xxx’ is not known to be defined."
>>
>> This because typically xxx is not a function but a macro and is unknown
>> due to a missing require, the file end-up misscompiled and not
>> functional.
>
> What is it specifically that makes this into a separate issue for the
> native-compiler?  Shouldn't the byte-compiler also warn about a
> situation like that?

Hi Stefan,

doing some work I just re-discovered that a good a explaination of that
was written by Eli in the 'native-comp-async-report-warnings-errors' doc
:)

"
When native compilation happens asynchronously, it can produce
warnings and errors, some of which might not be emitted by a
byte-compilation.  The typical case for that is native-compiling
a file that is missing some ‘require’ of a necessary feature,
while having it already loaded into the environment when
byte-compiling.

As asynchronous native compilation always starts from a pristine
environment, it is more sensitive to such omissions, and might be
unable to compile such Lisp source files correctly.
"

Essentially if in Emacs one has for any reason the definition of the
macro loaded before invoking the byte-compiler, this will not complain
even if the require is missing.

Bests

  Andrea



reply via email to

[Prev in Thread] Current Thread [Next in Thread]