emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Anand Deopurkar <anandrdeopurkar@gmail.com>
To: emacs-orgmode@gnu.org
Subject: [PATCH] org-archive.el: Fix org-add-archive-files to correctly de-duplicate
Date: Sat, 02 Mar 2024 21:46:56 +1100	[thread overview]
Message-ID: <87wmqkap27.fsf@gmail.com> (raw)

[-- 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



             reply	other threads:[~2024-03-02 10:48 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-03-02 10:46 Anand Deopurkar [this message]
2024-03-02 12:28 ` [PATCH] org-archive.el: Fix org-add-archive-files to correctly de-duplicate Ihor Radchenko

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.orgmode.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87wmqkap27.fsf@gmail.com \
    --to=anandrdeopurkar@gmail.com \
    --cc=emacs-orgmode@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).