Hello!

I'm trying to collect all the information about mixed installation bugs into this one report.

Resources I've skimmed:
- bug#62762
- https://orgmode.org/list/[email protected]
- bug#62576
- https://codeberg.org/guix/guix/issues/1055


The overarching cause of this is that Org Mode is bundled with Emacs. This means users that install Org mode from ELPA have two installations on their system. This can cause multiple symptoms.


1. Wrong macro expansions in ".elc" files.


This problem is pretty insidious. Should a user install a package that depends on Org while using the builtin version, then install Org at a later date, then all their ".elc" that depend on Org macros should be recompiled as they will contain outdated macro expansions.

This problem could be made pretty bad if there is an issue with icalendar. icalendar is a builtin Emacs package that does not have any other distribution. This means it is compiled when Emacs is compiled. If we update the macros that icalendar relies on in an incompatible way, we will be forced to revert our macro changes as we can't expect users to recompile their core Emacs files.

icalendar uses stuff defined with defsubst or define-inline (org-element-contents, org-element-property, org-element-set-contents, org-element-put-property). If that can trigger this error then we should be very concerned.


2. Having multiple versions of Org loaded at the same time


I don't believe this can actually happen at the moment since every file starts with "(org-assert-version)" but I'm not sure. It looks like this problem is only possible if the `load-path' gets modified after org is loaded.

Apparently eglot ran into this issue and has some work arounds. See the top of eglot.el and bug#62576

Reply via email to