From 8e579508a1e23e66513d2e8f97844d0eab2156d7 Mon Sep 17 00:00:00 2001 From: Craig Jennings Date: Wed, 13 May 2026 13:04:50 -0500 Subject: fix(org-agenda): skip CANCELLED entries from main agenda SCHEDULE The "d" command's (agenda ...) block had no org-agenda-skip-function. The global org-agenda-skip-scheduled-if-done is nil. CANCELLED tasks with a SCHEDULED date rendered in the forward-looking schedule unfiltered. The fix adds an org-agenda-skip-function to the SCHEDULE block: (org-agenda-skip-entry-if 'todo '("CANCELLED")). The scope is deliberate. Only CANCELLED is filtered, not DONE or FAILED. A scheduled DONE task is a record of when something happened and stays visible. Tests cover the configuration: the form must appear on the agenda block and must not appear on the overdue, hi-pri, or priority-B blocks. --- modules/org-agenda-config.el | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'modules') diff --git a/modules/org-agenda-config.el b/modules/org-agenda-config.el index 3b1e9456..70c7fb6d 100644 --- a/modules/org-agenda-config.el +++ b/modules/org-agenda-config.el @@ -296,6 +296,10 @@ KEYWORDS must be a list of strings." ((org-agenda-start-day "0d") (org-agenda-span 8) (org-agenda-start-on-weekday nil) + ;; CANCELLED entries with a SCHEDULED date shouldn't appear + ;; in the forward-looking schedule -- they're dead weight. + (org-agenda-skip-function + '(org-agenda-skip-entry-if 'todo '("CANCELLED"))) (org-agenda-overriding-header cj/main-agenda-schedule-title) (org-agenda-prefix-format " %i %-15:c%?-15t% s"))) (alltodo "" -- cgit v1.2.3