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