emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Jens Schmidt <jschmidt4gnu@vodafonemail.de>
To: Nick Dokos <ndokos@gmail.com>, Ihor Radchenko <yantar92@posteo.net>
Cc: emacs-orgmode@gnu.org
Subject: Re: Or probably just fix the org-ctags hook functions?
Date: Fri, 11 Aug 2023 23:40:37 +0200	[thread overview]
Message-ID: <59ca80b4-1b38-2d1e-4cc7-ce6209dc993d@vodafonemail.de> (raw)
In-Reply-To: <87zg2xwm16.fsf@alphaville.usersys.redhat.com>

On 2023-08-11  19:01, Nick Dokos wrote:

>> Sure, but we should not reject Jens' proposal just because of this
>> argument. We can use the suggestions to improve org-ctags itself, after
>> it is explicitly loaded.
> 
> Absolutely.
> 
> My disagreement was only with the part that I quoted, in particular
> the "Probably the problem is not the side-effects done by loading
> =org-ctags= ..."  part: from my POV, that is *exactly* the problem
> which I would like to see addressed.

I was trying to provide some facts that could help deciding on this.
And to find some compromise here that would fit all users and sizes.
More notes and another compromise:

- The general discussion in that other branch about all Org libraries,
   ever, is IMO of general interest but doesn't help users that run into
   this issue in short term.  I'd focus on this single library instead to
   get a fix soon, and not only in main.

- I understand both "no-breaking-changes" and "no-side-effects"
   positions.  Personally, I'd even tend to the "no-side-effects"
   position.

- If you run into this issue, the real pain is to understand what's
   going on, since org-ctags might get loaded in surprising ways.  So
   probably we should make that easier.

How about *not* using the current functions

   `org-ctags-find-tag'
   `org-ctags-ask-rebuild-tags-file-then-find-tag'
   `org-ctags-ask-append-topic'

as default value for `org-ctags-open-link-functions', but rather only
function

   `org-ctags-warn-about-enabling-ctags'

defined as follows:

   (defun org-ctags-warn-about-enabling-ctags (&rest _)
     (warn "You enabled (on purpose or by accident) org-ctags.

   If that was not your intention, or if you really only want to open links
   as you always have been used to, use customize to disable function
   `org-ctags-warn-about-enabling-ctags' in variable
   `org-ctags-open-link-functions'.

   Otherwise, you might want to use customize to disable function
   `org-ctags-warn-about-enabling-ctags' in `org-ctags-open-link-functions'
   and instead enable the previous default functions `org-ctags-find-tag',
   `org-ctags-ask-rebuild-tags-file-then-find-tag', and
   `org-ctags-ask-append-topic'.

   Note that in a future Org version automatic enabling of org-ctags might
   be obsoleted, so consider explicitly enabling it by adding

     (require 'org-ctags)
     (org-ctags-enable)

   to your Emacs initialization file if you actually want to use it.")
     (remove-hook 'org-open-link-functions
                  #'org-ctags-warn-about-enabling-ctags))

The last line would take care about getting this warning at most once
per Emacs session.

In addition redefine function `org-ctags-enable' to add a test on
`org-ctags-open-link-functions' as follows:

   (defun org-ctags-enable ()
     (when org-ctags-open-link-functions
       (put 'org-mode 'find-tag-default-function 
'org-ctags-find-tag-at-point)
       (setq org-ctags-enabled-p t)
       (dolist (fn org-ctags-open-link-functions)
         (add-hook 'org-open-link-functions fn t))))

which makes library loading free of side-effect if variable
org-ctags-open-link-functions equals nil.

That way:

- Users who previously have customized the variable are not affected at
   all by the change.

- All others understand better what's going on and can decide either
   way.  If they decide against org-ctags, and customize the variable
   accordingly, they will have no side-effects from org-ctags in the
   future.

- Any future general solution could resolve this in a more beautiful
   and, um, general way.


  reply	other threads:[~2023-08-11 21:43 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
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 [this message]
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

  List information: https://www.orgmode.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=59ca80b4-1b38-2d1e-4cc7-ce6209dc993d@vodafonemail.de \
    --to=jschmidt4gnu@vodafonemail.de \
    --cc=emacs-orgmode@gnu.org \
    --cc=ndokos@gmail.com \
    --cc=yantar92@posteo.net \
    /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 public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).