[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Keeping org-id entries updated with buffer position changes
From: |
Sebastian Wålinder |
Subject: |
Re: Keeping org-id entries updated with buffer position changes |
Date: |
Sat, 30 Sep 2023 10:00:28 +1000 |
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!