On 04/11/2021 03:07, John Kitchin wrote:
In a basically vanilla emacs, if I have a target like <<test>> with my point on it, and I run org-store-link (via C-c l), and then somewhere else do org-isnert-link (via C-c C-l) I get a link like

[[file:~/s/f.org::test]]

If I define a link now like this:

#+BEGIN_SRC emacs-lisp
(org-link-set-parameters "jump"
:store (lambda ()
  (org-link-store-props
   :type "jump"
   :link (format "jump:%s::%s"
(buffer-file-name)
(line-number-at-pos)))))
#+END_SRC

and do that again, all I can insert with C-c C-l is something like:

[[jump:~/s/f.org::9]]

and the file link is not an option anymore. Should the file link still be there?

It seems `org-store-link' is designed to store a single link. You can make :store for "jump" links more selective by returning nil in some cases or to hit C-u C-u before `org-store-link' to bypass custom :store functions.

P.S. There is a piece of code to store #CUSTOM_ID link in addition to search heading link, but the latter part is broken, so if #CUSTOM_ID is present, it is saved twice.


Reply via email to