Hello,
I an mot sure if this is a bug or "feature".
1. emacs -Q (using emacs-28.0.50, org-version 9.3)
2. C-x C-f test.org (new file)
3. Enter * Test (A new heading is created with name Test)
4. M-x org-id-get-create
5. M-x org-id-update-id-locations
Echo buffer: "1 files scanned, 1 files contains IDs and in total 1 IDs found."
The id is created in ~/.emacs.d/.org-id-locations as expected.
5. Visit test.org again and delete the properties, including the ID.
6. Save the file
7. M-x org-id-update-id-locations
Echo buffer: "1 files scanned, 0 files contains IDs and in total 0 IDs found."
However, the file ~/.emacs.d/.org-id-locations still contains the ID and
does not read nil as I would have expected. The ID is only removed when
emacs is closed and then the file ~/.emacs.d/.org-id-locations reads
nil.
Best wishes,
Colin Baxter.