0
0
Fork 1
mirror of https://git.savannah.gnu.org/git/emacs/org-mode.git synced 2024-09-29 18:36:26 +00:00

Avoid error when ID is created in buffer without a file.

When ID's are created, Org tries to remember in which file the id is
located.  However, if an ID is created in a remember buffer, no file
is known.  This patch makes sure that this condition does not lead to
an error.
This commit is contained in:
Carsten Dominik 2008-11-18 08:59:39 +01:00
parent 627cc45e71
commit 9f1e6fa952
2 changed files with 13 additions and 9 deletions

View file

@ -1,5 +1,8 @@
2008-11-18 Carsten Dominik <carsten.dominik@gmail.com>
* org-id.el (org-id-add-location): Avoid error when no file is
given.
* org-remember.el (org-remember-apply-template): Fix the way how
the list of allowed properties is retrieved from the target file.

View file

@ -376,15 +376,16 @@ Store the relation between files and corresponding ID's."
(defun org-id-add-location (id file)
"Add the ID with location FILE to the database of ID loations."
(unless org-id-locations (org-id-locations-load))
(catch 'exit
(let ((locs org-id-locations) list)
(while (setq list (pop locs))
(when (equal (file-truename file) (file-truename (car list)))
(setcdr list (cons id (cdr list)))
(throw 'exit t))))
(push (list file id) org-id-locations))
(org-id-locations-save))
(when (and id file) ; don't error when called from a buffer with no file
(unless org-id-locations (org-id-locations-load))
(catch 'exit
(let ((locs org-id-locations) list)
(while (setq list (pop locs))
(when (equal (file-truename file) (file-truename (car list)))
(setcdr list (cons id (cdr list)))
(throw 'exit t))))
(push (list file id) org-id-locations))
(org-id-locations-save)))
;; Finding entries with specified id