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

From: Eli Zaretskii <[email-masked]>
Date: Fri, 05 May 2023 20:48:03 +0300

> Date: Fri, 5 May 2023 23:46:36 +0700
> Cc: [email-masked], [email-masked], [email-masked],
>  [email-masked], [email-masked], [email-masked]
> From: Max Nikulin <[email-masked]>
> 
> >    . require
> >    . eval-when-compile
> >    . eval-and-compile
> 
> I was aware of these forms before you mentioned them first time in this 
> discussion.
> 
> > etc.  When fileA.el does any of that to load fileB.el, and fileB.el
> > does something to load fileA.el (whether directly or indirectly, via
> > other files), you have a circular dependency.
> 
> I am sorry, but it is far from a complete example. I still have no idea 
> how to combine it in a such way that there would be no problem to 
> compile and load files, but attempt to create build dependencies would 
> fail due to a cycle.
> 
> Perhaps editing some Emacs files you will notice the pattern you are 
> writing about. I will be grateful if you provide names of files 
> demonstrating cyclic dependency issue.

You seem to think it's easy to find these examples and provide them,
and I just stubbornly refuse to reveal them to you?

It isn't easy.  You need to actively find these references and chase
their chains, to find those cases.  I just know they exist because I
bumped into them in the past.

If you want to find them, you will have to write the code to detect
those dependencies, and then look at the graph produced from them.
There's no other way (unless Stefan happens to remember some by
heart, by some luck).