|
From: | Max Nikulin |
Subject: | bug#62762: 'make' often errors with "Org version mismatch" after pulling a new version of the code |
Date: | Fri, 5 May 2023 22:33:48 +0700 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.10.0 |
On 05/05/2023 18:33, Eli Zaretskii wrote:
Date: Fri, 5 May 2023 18:20:09 +0700 From: Max Nikulin On 05/05/2023 17:38, Eli Zaretskii wrote:This doesn't work in Emacs, in general, due to circular dependencies.
Eli, I am still unable to associate this with particular cases of elisp code or with how it is split over several files. That is why I am again asking for examples illustrating issues you have in mind.
What do you mean by "unavoidable"?Max Nikulin Fri, 5 May 2023 11:18:17 +0700In the C and C++ world the solution for cyclic dependencies is forward declarations. Some kind of such approach I see in Org as well. lisp/org/ol.el and lisp/org/org-element.el are mutually dependent. org-element.el requires 'ol, while the latter just declares functions from 'org-element.If it's this part, then I don't see how it can be relevant to our case: our problem is to teach Make about these dependencies, not to teach a Lisp compiler about them.
I can not figure out which kind of cyclic dependencies may cause troubles with dependency generation, but I had a hope that it would be possible to reorganize code to avoid such kind of dependencies.
I don't have ready examples off the top of my head, sorry. You have the Emacs Lisp sources, so you have all the information, and can find those circular dependencies yourself if you don't believe me and Stefan.
It might be even better if you will provide a brief example unrelated to real Emacs code. I have no idea which code I should search for.
[Prev in Thread] | Current Thread | [Next in Thread] |