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.