Thanks a lot for the detailed clarification. The Elisp coding convention explicitely targets Emacs "editing behavior". The definition of a new function is not a side-effect that affects Emacs editing behavior, so Babel and export libs are OK.
Ihor Radchenko <yanta...@posteo.net> writes: > Finally, we have org-mouse.el discussed here, which modifies key > bindings and org-inlinetask.el, which modifies how Org treats headlines > in Org files, modifying syntax. org-mouse.el should not modify default Org _editing_ key bindings. Is it really the case? If so, can we fix this? Does org-inlinetask.el modifies the way non-inline headlines are edited? If so, can we fix this? IIRC org-inlinetask.el only adds editing function for inline tasks, it is an extension, not a modification of the default Org editing behavior, but the limit can be thin here. > With the current state of affairs, it is often enough to > (require 'org-library) to get things work. If we get rid of all the > possible side effects, users will have to adapt their configurations > and we will thus violate "I won't force you to update your > configuration." > > Of course, we can change babel implementation to use explicit registry > like for export backends and force users to call explicit activation > commands in addition to (require 'library). But I am not sure if we are > not crossing the line with such an approach: "I won't use software > correctness as an excuse.". Defining new functions is a desirable "side-effect" of all Elisp library, I don't think we should worry abou this. -- Bastien Guerry