bug-gnu-emacs
[Top][All Lists]
Advanced

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

bug#46617: 28.0.50; nativecomp: native compile cache is not invalidated


From: Andrea Corallo
Subject: bug#46617: 28.0.50; nativecomp: native compile cache is not invalidated when file is re-byte compiled and changes
Date: Mon, 29 Mar 2021 08:14:55 +0000
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux)

Aaron Jensen <aaronjensen@gmail.com> writes:

> On Fri, Mar 26, 2021 at 2:54 AM Andrea Corallo <akrl@sdf.org> wrote:
>>
>> Andrea Corallo via "Bug reports for GNU Emacs, the Swiss army knife of
>> text editors" <bug-gnu-emacs@gnu.org> writes:
>>
>> > Aaron Jensen <aaronjensen@gmail.com> writes:
>> >
>> >> On Sun, Mar 21, 2021 at 3:54 PM Andrea Corallo <akrl@sdf.org> wrote:
>> >>>
>> >>> Andrea Corallo via "Bug reports for GNU Emacs, the Swiss army knife of
>> >>> text editors" <bug-gnu-emacs@gnu.org> writes:
>> >>>
>> >>>
>> >>> Okay I've added `comp-lookup-eln' son now the user can search if a
>> >>> certain .eln is in reach in `comp-eln-load-path' for a given .el.
>> >>>
>> >>> So now one can use the following to force a native load.
>> >>>
>> >>> (load (comp-lookup-eln ".../foo.el"))
>> >>
>> >> Okay, and that would return nil if it's not native compiled, which
>> >> would be their cue to native compile it, yes?
>> >
>> > Yes `comp-lookup-eln' will return nil if the eln is not found.
>> >
>> >> That's nice to be able
>> >> to force load it.
>> >>
>> >> Without doing the modification date stuff you mentioned or purge
>> >> before byte compile, native compilation ends up having to be a concern
>> >> of anything that's doing byte compiling, which is unfortunate.
>> >
>> > Say anything that's doing byte compiling deliberately capturing
>> > environment values yes.
>> >
>> >   Andrea
>>
>> I've reintroduced the file timestamp check on the eln files being loaded
>> with 79b8b6ca45.  This should protect us from loading stale eln that
>> captured some stale env during compilation.
>
> What does it compare the timestamp of the eln to? It doesn't appear
> that it's the elc, which I believe is the only thing that would help
> with the issue we're seeing in straight.el. Is it the el or something
> else?

Compares against the .elc.

> A related issue I've found is that now when you load an elc
> explicitly, it triggers a native compile for that file regardless of
> whether or not one has already been done.

Do you have a reproducer I can look at?

> One general question is, is the eln a compilation of the elc or the
> el?

Native compilation uses as input always the source (.el) file.

Thanks

  Andrea





reply via email to

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