Bastien writes: > Some users reported an (invalid-function org-assert-version) error > when installing Org from ELPA: > > https://lists.sr.ht/~bzg/emacsfr/%3Cd091463e1615422eb00070727d6a094ec0ae3c73.camel%40adocentyn.io%3E > https://www.reddit.com/r/emacs/comments/z7qulo/comment/iyd9vam/?context=3 > > This patch autoloads `org-assert-version'.
I don't understand the rationale behind this. Every spot that calls org-assert-version is preceded by a line that requires org-macs, so isn't this error likely due to a mixed installation/load-path issue where the wrong/older org-macs is taking precedence? > It also removes the ;; generated-autoload-file: "org-loaddefs.el" > footer in all files and let Make create org-autoloads.el instead. I'm worried with how this will play with the Org bundled with Emacs. The autoloads that are now written to lisp/org/org-loaddefs.el will instead pollute the top-level lisp/loaddefs.el. When I tested this out in the Emacs repo, running `make` shows many lines of WARNING: No org-autoloads.el file could be found from where org.el is loaded. and You need to run "make" or "make autoloads" from Org lisp directory during the build. And loading/using Org shows the same. > Before the patch, installing from ELPA creates both org-loaddefs.el > and org-autoloads.el, which is confusing. Hmm, isn't this in line with the lisp/org-loaddefs.el and lisp/loaddefs.el split that happens for the Emacs repo? A similar split is used other packages in the Emacs repo as well: $ find lisp | grep '\-loaddefs.el' | head lisp/ps-print-loaddefs.elc lisp/org/org-loaddefs.el lisp/org/org-loaddefs.elc lisp/net/tramp-loaddefs.el lisp/net/tramp-loaddefs.elc lisp/calc/calc-loaddefs.el lisp/calc/calc-loaddefs.elc lisp/textmodes/reftex-loaddefs.el lisp/textmodes/reftex-loaddefs.elc lisp/textmodes/texinfo-loaddefs.elc $ find lisp | grep -c '\-loaddefs.el' 29 $ find lisp | grep -c '\-autoloads.el' 0 And with the port of Emacs's 2682ea1b3 (Org commit 19c3969e7, 2022-10-04), there's also one spot that uses ;;;###org-autoload, which tells loaddefs-gen.el to direct the autoload to org-loaddefs.el. > Unless anyone objects, I'll install this patch in the bugfix branch > tomorrow and release 9.6.1. I think as is the patch would cause issues, and more generally I'm not convinced we should be moving away from having an org-loaddefs.el file. I'm also concerned about this sort of tree-wide change in a patch release that will be synced to the emacs-29 branch. Thanks for posting this for discussion, and please let me know if I'm mistaken about the interaction with the Emacs repo.