[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: feature/native-comp, comp-deferred-compilation: no recompilation whe
From: |
Gregor Zattler |
Subject: |
Re: feature/native-comp, comp-deferred-compilation: no recompilation when .elc newer than .eln? |
Date: |
Fri, 15 May 2020 23:57:01 +0200 |
Hi Andrea,
* Andrea Corallo <address@hidden> [2020-05-15; 19:43]:
> Gregor Zattler <address@hidden> writes:
>> I gave feature/native-comp in combination with
>> `comp-deferred-compilation` a try. I use org-mode from git
>> master and it's .elc files eventually were compiled to .eln
>> files. Works like a charm.
>>
>> Then I updated org-mode (make update) since there was a (for
>> me) important bug fix. Now org.elc is newer than org.el
>> which in turn is newer than org.eln.
>>
>> But nonetheless the org.eln file does not get re-created
>> according from the newer org.elc file.
>>
>> Is this on purpose?
> I'm not sure the sequence of events is clear to me, especially how the
> the new org was loaded after it was compiled calling make.
I use org-mode from git. Org-mode has a build system and
esypecially `make up1` does a git pull, compile , builds
documentation and runs checks. I do this from time to time.
The relevant part of the git repo is in my emacs load-path:
(add-to-list 'load-path (expand-file-name "~/src/org-mode/lisp"))
(setq load-path (cons "~/src/org-mode/contrib/lisp/" load-path))
> Deferred compilation logic to date works as follow: if an elc is being
> loaded, is lexical and the corresponding source is found, then an async
> compilation is queued. No file date is taken in account.
>
> Is it possible that the old eln is still being loaded because
> load-prefer-newer is nil?
load-prefer-newer is t in my case. The stale org.eln file
was loaded instead of the newer org.elc and the newer
org.elc wasn't compiled to a newer org.eln file. I realized
because I experienced a specific bug although there was a
patch with a fix in the repo.
Thanks, Gregor