[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] Autoload `org-assert-version' and remove org-loaddefs.el
From: |
Kyle Meyer |
Subject: |
Re: [PATCH] Autoload `org-assert-version' and remove org-loaddefs.el |
Date: |
Thu, 01 Dec 2022 22:38:03 -0500 |
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.
Re: [PATCH] Autoload `org-assert-version' and remove org-loaddefs.el, David Masterson, 2022/12/05