From: Nick Dokos <ndokos@gmail.com>
To: emacs-orgmode@gnu.org
Subject: Re: [POLL] Should we accept breaking changes to get rid of Org libraries that perform side effects when loading?
Date: Thu, 10 Aug 2023 15:50:02 -0400 [thread overview]
Message-ID: <87leeiy8wl.fsf@alphaville.usersys.redhat.com> (raw)
In-Reply-To: 10c18bbd-eff5-5421-71c8-29b078556384@gmail.com
Max Nikulin <manikulin@gmail.com> writes:
> On 08/08/2023 20:29, Bastien Guerry wrote:
>> The definition of a new function is not a side-effect
>> that affects Emacs editing behavior, so Babel and export libs are
>> OK.
>
> Function definition is not side effect when load library is
> requested. However it is a side effect of hitting TAB in Emacs help
> prompt. Completion of a variable or a function should not modify Org
> behavior. Loading of a file is not explicitly requested by the user in
> this case.
>
> I would disregard however function definitions, however changes in key
> bindings and recognized plain text links may be surprising to users
> who just tries to read help.
>
>
A big +1 from me: that's exactly what I was trying to say a few months
ago wrt org-ctags, although I said it badly. Defining functions that
are not used is not much of a problem IMO, but changing behavior behind
the user's back is most definitely a problem. IOW, it's not about
side-effects in general, it's about *specific kinds* of side-effects:
ones that are immediately visible (and confusing) to the user - things
behaving differently from a minute ago even though the only thing the
user did in-between is something as innocuous as asking for help.
One small step forward is to require libraries to have explicit
enable/disable functions[fn:1]. Even if I somehow enable a library by
mistake or misadventure, I should be able to disable it (at least in
the sense described above) without having to restart. Not every
library will need that and it's not even close to a complete solution,
but there is at least the possibility of building something better
(though more complicated) on top of it. If the library could be
organized as a minor mode, it most definitely should be so organized:
enabling/disabling would then be an automatic "requirement satisfied".
I would also recommend that the library *not* call its enable function
in general and leave it to the user to do so explicitly, but that may
be more controversial for "backward compatibility" reasons (with which
I disagree in these particular cases: I view them as bugs that need to
be fixed). And the library should document what changes it unleashes
on the environment (again in the restricted sense discussed above):
changes to "foreign" keymaps/menus/syntax tables/hooks probably
qualify for this kind of documentation, function definitions and
internal-to-the-library changes do not, plus there is probably a swath
of stuff in-between with more ambiguous requirements - all I can say
is start with the obvious things and add as necessary.
[fn:1] E.g. `org-ctags' has `org-ctags-enable' but no `org-ctags-disable', so
my "solution" is to do something like this in my init file:
;;; undo org-ctags obnoxiousness
(with-eval-after-load 'org-ctags (setq org-open-link-functions nil))
It doesn't undo everything but it gets the obnoxious bits out of my
way (at least until *I* decide to call `org-ctags-enable').
My 2-cents/pence/centimes...
--
Nick
next prev parent reply other threads:[~2023-08-10 19:51 UTC|newest]
Thread overview: 112+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-03-21 3:36 org-ctags land grab Nick Dokos
2023-03-21 16:40 ` Rudolf Adamkovič
2023-03-22 12:03 ` Ihor Radchenko
2023-03-23 5:14 ` Nick Dokos
2023-03-23 10:49 ` Ihor Radchenko
2023-03-23 14:50 ` Max Nikulin
2023-03-25 17:45 ` [POLL] Should we accept breaking changes to get rid of Org libraries that perform side effects when loading? (was: org-ctags land grab) Ihor Radchenko
2023-03-27 15:14 ` [POLL] Should we accept breaking changes to get rid of Org libraries that perform side effects when loading? Max Nikulin
2023-03-28 10:02 ` Ihor Radchenko
2023-03-27 16:10 ` [POLL] Should we accept breaking changes to get rid of Org libraries that perform side effects when loading? (was: org-ctags land grab) Dr. Arne Babenhauserheide
2023-03-28 9:55 ` Ihor Radchenko
2023-08-08 4:19 ` [POLL] Should we accept breaking changes to get rid of Org libraries that perform side effects when loading? Bastien Guerry
2023-08-08 8:48 ` Ihor Radchenko
2023-08-08 13:29 ` Bastien Guerry
2023-08-09 7:48 ` Max Nikulin
2023-08-10 19:50 ` Nick Dokos [this message]
2023-08-11 7:36 ` Ihor Radchenko
2023-08-11 9:44 ` Ihor Radchenko
2023-08-12 12:46 ` Bastien Guerry
2023-08-12 22:18 ` Samuel Wales
2023-08-13 8:59 ` Ihor Radchenko
2023-08-14 0:57 ` Samuel Wales
2023-08-14 10:34 ` Ihor Radchenko
2023-08-14 13:19 ` Fraga, Eric
2023-08-22 15:15 ` Bastien Guerry
2023-08-23 9:33 ` Ihor Radchenko
2023-08-24 11:39 ` Bastien Guerry
2023-08-24 11:44 ` Ihor Radchenko
2023-08-24 12:08 ` Bastien Guerry
2023-08-24 12:15 ` Ihor Radchenko
2023-08-24 12:36 ` Bastien Guerry
2023-08-24 12:40 ` Ihor Radchenko
2023-08-24 12:48 ` Bastien Guerry
2023-08-24 12:56 ` Ihor Radchenko
2023-08-24 13:01 ` Russell Adams
2023-08-24 13:33 ` Ihor Radchenko
2023-08-24 13:41 ` Russell Adams
2023-08-24 13:47 ` Ihor Radchenko
2023-08-24 13:02 ` Bastien Guerry
2023-08-24 13:36 ` Ihor Radchenko
2023-08-24 13:43 ` Russell Adams
2023-08-25 9:16 ` Ihor Radchenko
2023-08-24 14:08 ` Bastien Guerry
2023-08-25 2:59 ` spookygostee
2023-08-25 9:53 ` Ihor Radchenko
2023-08-25 9:44 ` [DISCUSSION] Re-design of inlinetasks (was: [POLL] Should we accept breaking changes to get rid of Org libraries that perform side effects when loading?) Ihor Radchenko
2023-08-25 17:58 ` [DISCUSSION] Re-design of inlinetasks Juan Manuel Macías
2023-08-26 10:58 ` Ihor Radchenko
2023-08-26 11:42 ` Juan Manuel Macías
2023-08-26 12:33 ` Ihor Radchenko
2023-08-26 14:21 ` Juan Manuel Macías
2023-08-26 16:33 ` Ihor Radchenko
2023-08-26 17:31 ` Juan Manuel Macías
2023-08-26 17:43 ` Ihor Radchenko
2023-08-26 19:19 ` Juan Manuel Macías
2023-08-27 9:21 ` Ihor Radchenko
2023-08-27 17:25 ` Juan Manuel Macías
2023-08-31 9:15 ` Ihor Radchenko
2023-08-26 18:01 ` Russell Adams
2023-08-29 13:00 ` Russell Adams
2023-08-30 11:49 ` Alain.Cochard
2023-08-30 12:36 ` Russell Adams
2023-08-30 14:06 ` Alain.Cochard
2023-08-30 14:31 ` Russell Adams
2023-08-30 14:39 ` Alain.Cochard
2023-08-30 15:08 ` Russell Adams
2023-08-30 15:13 ` Russell Adams
2023-08-30 18:32 ` Ihor Radchenko
2023-08-24 12:53 ` [POLL] Should we accept breaking changes to get rid of Org libraries that perform side effects when loading? Russell Adams
2023-08-24 13:04 ` Ihor Radchenko
2023-08-24 13:11 ` Russell Adams
2023-08-24 13:41 ` Ihor Radchenko
2023-08-24 13:49 ` Russell Adams
2023-08-25 9:18 ` Ihor Radchenko
2023-08-24 14:20 ` Russell Adams
2023-08-24 13:23 ` tomas
2023-08-24 13:29 ` Ihor Radchenko
2023-08-24 13:36 ` Russell Adams
2023-08-24 13:44 ` Ihor Radchenko
2023-08-24 14:00 ` Russell Adams
2023-08-25 2:48 ` spookygostee
2023-08-25 9:52 ` Ihor Radchenko
2023-08-24 13:50 ` tomas
2023-08-25 9:49 ` Ihor Radchenko
2023-08-24 12:11 ` Russell Adams
2023-08-24 12:21 ` Ihor Radchenko
2023-08-24 14:43 ` Max Nikulin
2023-08-24 23:07 ` Samuel Wales
2023-08-24 23:23 ` Samuel Wales
2023-08-24 23:24 ` Samuel Wales
2023-08-25 9:56 ` Ihor Radchenko
2023-08-25 9:56 ` Ihor Radchenko
2023-08-26 8:59 ` Fraga, Eric
2023-08-26 12:30 ` Ihor Radchenko
2023-08-27 13:16 ` Fraga, Eric
2023-08-22 15:40 ` Russell Adams
2023-08-13 8:53 ` [DISCUSSION] The future of org-mouse.el and org-inlinetask.el (was: [POLL] Should we accept breaking changes to get rid of Org libraries that perform side effects when loading?) Ihor Radchenko
2023-08-13 9:33 ` [DISCUSSION] The future of org-mouse.el and org-inlinetask.el Bastien Guerry
2023-08-13 10:29 ` Ihor Radchenko
2023-08-14 7:48 ` [POLL] Should we accept breaking changes to get rid of Org libraries that perform side effects when loading? Tom Gillespie
2023-08-15 14:10 ` Timothy
2023-08-15 14:38 ` Russell Adams
2023-08-15 15:21 ` Ihor Radchenko
2023-08-15 18:58 ` Tom Gillespie
2023-08-16 10:24 ` Ihor Radchenko
2023-08-09 22:30 ` Or probably just fix the org-ctags hook functions? (was: Should we accept breaking changes ...) Jens Schmidt
2023-08-10 19:56 ` Or probably just fix the org-ctags hook functions? Nick Dokos
2023-08-11 7:37 ` Ihor Radchenko
2023-08-11 17:01 ` Nick Dokos
2023-08-11 21:40 ` Jens Schmidt
2023-08-11 21:48 ` Ihor Radchenko
2023-08-11 22:43 ` Jens Schmidt
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87leeiy8wl.fsf@alphaville.usersys.redhat.com \
--to=ndokos@gmail.com \
--cc=emacs-orgmode@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.