emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
* [PATCH] org-archive.el: Fix org-add-archive-files to correctly de-duplicate
@ 2024-03-02 10:46 Anand Deopurkar
  2024-03-02 12:28 ` Ihor Radchenko
  0 siblings, 1 reply; 2+ messages in thread
From: Anand Deopurkar @ 2024-03-02 10:46 UTC (permalink / raw)
  To: emacs-orgmode

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: 0001-org-archive.el-Fix-org-add-archive-files-to-correctl.patch --]
[-- Type: text/x-patch, Size: 1449 bytes --]

From 44b681b82a23f0a475e706d4fab2a46d6aedeea5 Mon Sep 17 00:00:00 2001
From: Anand Deopurkar <anandrdeopurkar@gmail.com>
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."
-- 
2.43.0



^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH] org-archive.el: Fix org-add-archive-files to correctly de-duplicate
  2024-03-02 10:46 [PATCH] org-archive.el: Fix org-add-archive-files to correctly de-duplicate Anand Deopurkar
@ 2024-03-02 12:28 ` Ihor Radchenko
  0 siblings, 0 replies; 2+ messages in thread
From: Ihor Radchenko @ 2024-03-02 12:28 UTC (permalink / raw)
  To: Anand Deopurkar; +Cc: emacs-orgmode

Anand Deopurkar <anandrdeopurkar@gmail.com> writes:

> 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).

Thanks for the patch!
Applied, onto main.
https://git.savannah.gnu.org/cgit/emacs/org-mode.git/commit/?id=902dacb9c

I also added you to the contributor list.
https://git.sr.ht/~bzg/worg/commit/58d6aca1

-- 
Ihor Radchenko // yantar92,
Org mode contributor,
Learn more about Org mode at <https://orgmode.org/>.
Support Org development at <https://liberapay.com/org-mode>,
or support my work at <https://liberapay.com/yantar92>


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2024-03-02 12:24 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-03-02 10:46 [PATCH] org-archive.el: Fix org-add-archive-files to correctly de-duplicate Anand Deopurkar
2024-03-02 12:28 ` Ihor Radchenko

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).