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: Wed, 31 Mar 2021 10:22:29 +0000
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux)

Aaron Jensen <aaronjensen@gmail.com> writes:

> On Mon, Mar 29, 2021 at 3:15 AM Andrea Corallo <akrl@sdf.org> wrote:
>> Compares against the .elc.
>
> For some reason, I do not see this behavior. Touching the elc files
> and restarting does not trigger a recompile of the elns.

That's odd, I do.

>> Do you have a reproducer I can look at?
>
> Yes, you can follow straight.el's installation instructions. Create a
> new .emacs.d/init.el with:
>
> (defvar bootstrap-version)
> (let ((bootstrap-file
>        (expand-file-name "straight/repos/straight.el/bootstrap.el"
> user-emacs-directory))
>       (bootstrap-version 5))
>   (unless (file-exists-p bootstrap-file)
>     (with-current-buffer
>         (url-retrieve-synchronously
>          
> "https://raw.githubusercontent.com/raxod502/straight.el/develop/install.el";
>          'silent 'inhibit-cookies)
>       (goto-char (point-max))
>       (eval-print-last-sexp)))
>   (load bootstrap-file nil 'nomessage))
>
> Load emacs, let it install straight and do all native compilation.
>
> Restart emacs. It will recompile straight.el every time you restart.
>
> It will also recompile every time you do:
>
> (load "~/.emacs.d/straight/repos/straight.el/straight.elc" nil
> 'nomessage 'nosuffix)
>
> One thing of note here is that because of the way straight works there
> ends up being two straight.elc files. One in straight/build/straight
> and another in straight/repos/straight.el. The former has a
> straight.el that symlinks to the latter, but the straight.elcs are
> both concrete.

Okay I think I see what's the issue.

We have changed the `load' semantinc and now when the a .elc file is
explicitly requested for load we do not load the .eln even if present.
But at this point we don't have to trigger the native compilation for
that file.

I'll come-up with a fix.

Thanks

  Andrea





reply via email to

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