>From a269ee1d657ea11f998d294169cd9a88618409fb Mon Sep 17 00:00:00 2001
From: Anand Deopurkar <anandrdeopur...@gmail.com>
Date: Sun, 3 Mar 2024 16:38:43 +1100
Subject: [PATCH] org-agenda.el: Fix org-agenda-write to avoid duplicates

* lisp/org-agenda.el (org-agenda-write): Make sure headlines are not
duplicated when writing to an `org' file, even if they are repeated in
the agenda view.

For example, a headline may appear multiple times in the agenda
view (for example, if it has multiple time stamps).  But
org-agenda-write should write it only once to the output `org' file.

TINYCHANGE
---
 lisp/org-agenda.el | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/lisp/org-agenda.el b/lisp/org-agenda.el
index 8cb3496ca..798ef1a10 100644
--- a/lisp/org-agenda.el
+++ b/lisp/org-agenda.el
@@ -3641,11 +3641,12 @@ the agenda to write."
 		  (goto-char p)
 		  (setq m (get-text-property (point) 'org-hd-marker))
 		  (when m
-		    (push (with-current-buffer (marker-buffer m)
-			    (goto-char m)
-			    (org-copy-subtree 1 nil t t)
-			    org-subtree-clip)
-			  content)))
+		    (cl-pushnew (with-current-buffer (marker-buffer m)
+			          (goto-char m)
+			          (org-copy-subtree 1 nil t t)
+			          org-subtree-clip)
+			        content
+                                :test #'equal)))
 		(find-file file)
 		(erase-buffer)
 		(dolist (s content) (org-paste-subtree 1 s))
-- 
2.43.0


Reply via email to