From 6ffa23a01acad2d5cd37bafa11a57cf7a0c13cec Mon Sep 17 00:00:00 2001 Message-ID: <6ffa23a01acad2d5cd37bafa11a57cf7a0c13cec.1702304402.git.yantar92@posteo.net> From: Ihor Radchenko Date: Mon, 11 Dec 2023 15:17:41 +0100 Subject: [PATCH] org-agenda-to-appt: Do not hard-code not-done todo keywords * lisp/org-agenda.el (org-agenda-to-appt): Use org-todo-regexp and org-not-done-regexp to determine whether an even is already done. Reported-by: Raffael Stocker Link: https://orgmode.org/list/yplmsf4ac6va.fsf@mnet-mail.de --- lisp/org-agenda.el | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/lisp/org-agenda.el b/lisp/org-agenda.el index ac8adda7a..6a9b1cc5a 100644 --- a/lisp/org-agenda.el +++ b/lisp/org-agenda.el @@ -11141,10 +11141,16 @@ (defun org-agenda-to-appt (&optional refresh filter &rest args) (string-match cat-filter cat)) (and (stringp evt-filter) (string-match evt-filter evt))))))) - (wrn (get-text-property 1 'warntime x))) + (wrn (get-text-property 1 'warntime x)) + (todo-regexp (get-text-property 1 'org-todo-regexp x)) + (not-done-regexp (get-text-property 1 'org-not-done-regexp x))) ;; FIXME: Shall we remove text-properties for the appt text? ;; (setq evt (set-text-properties 0 (length evt) nil evt)) - (when (and ok tod (not (string-match "\\`DONE\\|CANCELLED" evt))) + (when (and ok tod + ;; Exclude done items unconditionally. + (or (not (and todo-regexp (string-match-p todo-regexp evt))) ; no todo keyword + (and not-done-regexp (string-match-p not-done-regexp evt)) ; or not done + )) (setq tod (concat "00" (number-to-string tod))) (setq tod (when (string-match "\\([0-9]\\{1,2\\}\\)\\([0-9]\\{2\\}\\)\\'" tod) -- 2.42.0