diff options
| author | Craig Jennings <c@cjennings.net> | 2026-05-13 13:04:50 -0500 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2026-05-13 13:04:50 -0500 |
| commit | 84738f8e7ce2d570688b36455ce7db145efa246c (patch) | |
| tree | d85766205b0138deb4e536349bfe48347fb8ba7f /modules | |
| parent | 375df77ae87688efc4ec49ab185ee605178eb7cc (diff) | |
| download | dotemacs-84738f8e7ce2d570688b36455ce7db145efa246c.tar.gz dotemacs-84738f8e7ce2d570688b36455ce7db145efa246c.zip | |
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.
Diffstat (limited to 'modules')
| -rw-r--r-- | modules/org-agenda-config.el | 4 |
1 files changed, 4 insertions, 0 deletions
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 "" |
