Subject: bug#62762: 'make' often errors with "Org version mismatch" after pulling a new version of the code

From: Stefan Monnier <[email-masked]>
Date: Fri, 05 May 2023 14:17:40 -0400

> I have no ideas how to make `org-assert-version' better.

`my-require-with-shadow-check' is a suggestion to make it better.
And this sub-thread of the bug report was presumably your answer to the
question by Ihor:

    Max, do you see any obvious downsides in Stefan's idea about consulting
    `load-history' vs. `load-path'?

So are you saying that you don't think it's better?
If so, do you also think it's worse, and if so, in which respect?

> I had a hope that dependency generation may solve compiling issue,

It won't solve the mixed-version problem.

Incremental recompilation (i.e. `git pull; make`) is a qualitatively
different problem from the mixed-version problem, and by now, I'm pretty
much convinced that there just isn't a solution that fixes both: they
may look somewhat similar from a distance, but they're fundamentally
quite different.

Currently `org-assert-version` has no effect for `git pull; make` in
Emacs sources, so it's presumably focused on the mixed-version problem.
And I think that for this problem `my-require-with-shadow-check' is
a better check (e.g. it will also work when none of the files are
compiled).

> but I can not figure out what sort of circular dependencies is
> troublesome.  I just must believe you and Eli.

I'll refrain from discussing this here.  Incremental recompilation
problems should be discussed in another bug report, IMO.

        Stefan