From 902dacb9cad762ef42ebdd004d311f49c77be6c3 Mon Sep 17 00:00:00 2001 From: Anand Deopurkar Date: Sat, 2 Mar 2024 21:24:19 +1100 Subject: [PATCH] org-archive.el: Fix org-add-archive-files to correctly de-duplicate * org-archive.el (org-add-archive-files): Use `seq-uniq' with TESTFN `file-equal-p' to de-duplicate the list of gathered files. Previously, `org-uniquify' was used. This de-duplicates the file-names, but not necessarily the files. The problem occurs if the list of file-names includes distinct file-names that reference the same file (symbolic links, for example). TINYCHANGE --- lisp/org-archive.el | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lisp/org-archive.el b/lisp/org-archive.el index 20b962057..e46649fd3 100644 --- a/lisp/org-archive.el +++ b/lisp/org-archive.el @@ -157,7 +157,7 @@ archive location, but not yet deleted from the original file.") "Splice the archive FILES into the list of files. This implies visiting all these files and finding out what the archive file is." - (org-uniquify + (seq-uniq (apply 'append (mapcar @@ -166,7 +166,9 @@ archive file is." nil (with-current-buffer (org-get-agenda-file-buffer f) (cons f (org-all-archive-files))))) - files)))) + files)) + #'file-equal-p + )) (defun org-all-archive-files () "List of all archive files used in the current buffer."