1

Org 9.3.

https://orgmode.org/manual/Internal-Links.html -- "A link that does not look like a URL—i.e., does not start with a known scheme or a file name—refers to the current document. You can follow it with C-c C-o when point is on the link, or with a mouse click (see Handling Links)."

That's exactly what I was trying to do -- just link to a different part of the same document.

Following the Internal Links page's recommendation, in the target outlined, I created:

    :PROPERTIES:
    :CUSTOM_ID: xyz
    :END:

(Not really "xyz" but I don't want to include a person's name here.)

Then the link at the source: [[#xyz]].

Now, when I click on the link, or C-c C-o, I get a dialog to "visit tags table"... ???

I guess custom_id is implemented in a later org version?

How to do this? I just want to link to another node in the same document without adding junk into a system-global org-id table.

2
  • What version of Emacs are you running? I presume you are running with the bundled version of Org mode - you are not installing a different one, correct?
    – NickD
    Mar 22 at 15:20
  • Emacs 27.1 -- yes, the OS-packaged one. However, the answer below explains the situation.
    – jamshark70
    Mar 24 at 1:44

1 Answer 1

3

This is a bug IMO and you should report it with M-x org-submit-bug-report.

It is caused by org-ctags.el which unilaterally sets the value of the variable org-open-link-functions. If you do C-h v org-open-link-functions, you will see the value (org-ctags-find-tag org-ctags-ask-rebuild-tags-file-then-find-tag org-ctags-ask-append-topic). This variable is a hook that is run at the beginning of link processing, so running the hook calls these functions and you get the dialogs that you described in your question.

While waiting for the bug to be fixed, you can add the following line to your init file and restart Emacs (or just evaluate the form below in your current session with C-x C-e if you want to see whether it works) to disable this obnoxious behavior:

;;; work-around  for org-ctags obnoxious behavior
(with-eval-after-load 'org-ctags (setq org-open-link-functions nil))

Basically, this arranges for the variable to be reset to nil after org-ctags finishes with it.

EDIT: I posted an "invitation to discuss" on the Org mode ML - see the thread starting at https://lists.gnu.org/archive/html/emacs-orgmode/2023-03/msg00299.html

EDIT 2: It turns out that the story is even more complicated. See the link to the ML thread above for details.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.