On 23/03/2023 17:49, Ihor Radchenko wrote:
Nick Dokos writes:

It is off until org-ctags is loaded. *When* it is loaded, it runs
`(org-ctags-enable)' and the behavior changes.

Sure. This is not by itself a big deal. A number of Elisp libraries,
including built-in Emacs libraries are loaded with side effects.

It is still violation of conventions:

(info "(elisp) Coding Conventions")
https://www.gnu.org/software/emacs/manual/html_node/elisp/Coding-Conventions.html
D.1 Emacs Lisp Coding Conventions

Simply loading a package should not change Emacs’s editing behavior.
Include a command or commands to enable and disable the feature, or to
invoke it.

This convention is mandatory for any file that includes custom
definitions. If fixing such a file to follow this convention requires an
incompatible change, go ahead and make the incompatible change; don’t
postpone it.

Notice *incompatible*.

On 23/03/2023 17:49, Ihor Radchenko wrote:
Nick Dokos writes:
As you see, `help--load-prefixes' loads `org-ctags'.
...
This sounds like Emacs bug.

I would say that it sounds like a fix for
https://debbugs.gnu.org/60085
`help-enable-autoload' is not fully obeyed

See also:

Max Nikulin to emacs-orgmode… Re: Does variable 'org-goto-interface' exist? Wed, 14 Dec 2022 21:20:07 +0700. https://lists.orgmode.org/6dd5a4fe-b99b-73a9-26dd-bb522ff1b...@gmail.com

Note that we discussed loading side effects in
https://list.orgmode.org/orgmode/tn4ql0$bu2$1...@ciao.gmane.io/

I have not responded to that thread. My opinion is that besides functions that just loads files and packages there should be counterparts that loads and activates libraries. A proof of concept may be implemented for Org and in the case of success it may be proposed for inclusion into Emacs core.



Reply via email to