* Keeping org-id entries updated with buffer position changes
@ 2023-09-26 23:54 Sebastian Wålinder
2023-09-29 16:47 ` Sebastian Wålinder
0 siblings, 1 reply; 3+ messages in thread
From: Sebastian Wålinder @ 2023-09-26 23:54 UTC (permalink / raw)
To: emacs-orgmode
Hello!
I often use org-id to create persistent links to headings like this:
* Foo
:PROPERTIES:
:ID: BAR
:END:
[[BAR][Link]]
However, after inserting a line above foo, following the link BAR will take me to the wrong line, because the org-id database hasn't been updated with the headline's new position.
Running `org-id-update-id-locations` fixes this issue, but takes forever to run because it goes through all my org files.
How would I keep these links updated when I make frequent edits? Is there a function that updates the IDs in a single file only? If so, I could advice the open link function to run it first and update all the positions quickly before following the link.
Thoughts?
Thanks!
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: Keeping org-id entries updated with buffer position changes
2023-09-26 23:54 Keeping org-id entries updated with buffer position changes Sebastian Wålinder
@ 2023-09-29 16:47 ` Sebastian Wålinder
2023-09-30 0:00 ` Sebastian Wålinder
0 siblings, 1 reply; 3+ messages in thread
From: Sebastian Wålinder @ 2023-09-29 16:47 UTC (permalink / raw)
To: emacs-orgmode
I have been reading through the code, and it appears that org-id doesn't store the actual positions of ids within all files.
It's instead fetched every time the link is accessed. There must be something strange going on with the org cache causing this issue.
Sebastian Wålinder <s.walinder@gmail.com> writes:
> Hello!
>
> I often use org-id to create persistent links to headings like this:
>
> * Foo
> :PROPERTIES:
> :ID: BAR
> :END:
>
> [[BAR][Link]]
>
> However, after inserting a line above foo, following the link BAR will take me to the wrong line, because the org-id database hasn't been updated with the headline's new position.
>
> Running `org-id-update-id-locations` fixes this issue, but takes forever to run because it goes through all my org files.
>
> How would I keep these links updated when I make frequent edits? Is there a function that updates the IDs in a single file only? If so, I could advice the open link function to run it first and update all the positions quickly before following the link.
>
> Thoughts?
>
> Thanks!
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: Keeping org-id entries updated with buffer position changes
2023-09-29 16:47 ` Sebastian Wålinder
@ 2023-09-30 0:00 ` Sebastian Wålinder
0 siblings, 0 replies; 3+ messages in thread
From: Sebastian Wålinder @ 2023-09-30 0:00 UTC (permalink / raw)
To: emacs-orgmode
I found the issue.
Apologies to anyone confused by this, it's not an issue with `org`, but rather with `org-roam`.
I assumed it wouldn't run any code when simply being loaded, but it turns out that `org-roam` was adding itself as a link follow parameter for ID links when loaded by Emacs.
Removing it solves my issue:
(org-link-set-parameters "id" :follow #'org-roam-id-open)
Thanks!
Sebastian Wålinder <s.walinder@gmail.com> writes:
> I have been reading through the code, and it appears that org-id doesn't store the actual positions of ids within all files.
>
> It's instead fetched every time the link is accessed. There must be something strange going on with the org cache causing this issue.
>
> Sebastian Wålinder <s.walinder@gmail.com> writes:
>
>> Hello!
>>
>> I often use org-id to create persistent links to headings like this:
>>
>> * Foo
>> :PROPERTIES:
>> :ID: BAR
>> :END:
>>
>> [[BAR][Link]]
>>
>> However, after inserting a line above foo, following the link BAR will take me to the wrong line, because the org-id database hasn't been updated with the headline's new position.
>>
>> Running `org-id-update-id-locations` fixes this issue, but takes forever to run because it goes through all my org files.
>>
>> How would I keep these links updated when I make frequent edits? Is there a function that updates the IDs in a single file only? If so, I could advice the open link function to run it first and update all the positions quickly before following the link.
>>
>> Thoughts?
>>
>> Thanks!
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2023-09-30 0:01 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-09-26 23:54 Keeping org-id entries updated with buffer position changes Sebastian Wålinder
2023-09-29 16:47 ` Sebastian Wålinder
2023-09-30 0:00 ` Sebastian Wålinder
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.