Attached with TINYCHECK.

Unfortunately I don't have the time to write a test right now because
I'll be traveling from tomorrow on. (You'd to wait for at least 6
weeks..)

Here's a sketch for a test case:
 * Show an agenda with that has org-agenda-multi
 * In the agenda buffer, assert that org-todo-keywords-for-agenda and
   (org-done-keywords-for-agenda) are not nil.

Best,
Tim


On Fri, 2023-03-10 at 11:48 +0000, Ihor Radchenko wrote:
> Tim Ruffing <cry...@timruffing.de> writes:
> 
> > * org-agenda.el (org-prepare-agenda): Don't reset
> > `org-todo-keywords-for-agenda' when org-agenda-multi.
> > 
> > Fixes a bug with TODO keywords that came to light in org-modern,
> > see https://github.com/minad/org-modern/issues/26.
> > 
> > This is very similar to cd2d138883a55cad48394a3f473da8b973a99a5e,
> > which fixed the same for `org-done-keywords-for-agenda` (to fix
> > a similar styling issue).
> 
> Thanks for the patch!
> Unfortunately, it does not apply.
> Could you re-send the patch as attachment?
> 
> In addition, may you add TINYCHANGE cookie to the commit message if
> you
> don't have FSF assignment done (see
> https://orgmode.org/worg/org-contribute.html#first-patch)? And, if
> you
> can, write a test.
> 
From ec83e58d54345696b80d559145e480c2af07db6c Mon Sep 17 00:00:00 2001
From: Tim Ruffing <cry...@timruffing.de>
Date: Thu, 9 Mar 2023 13:38:28 +0100
Subject: [PATCH] Don't reset `org-todo-keywords-for-agenda' when
 org-agenda-multi

* org-agenda.el (org-prepare-agenda): Don't reset
`org-todo-keywords-for-agenda' when org-agenda-multi.

Fixes a bug with TODO keywords that came to light in org-modern,
see https://github.com/minad/org-modern/issues/26.

This is very similar to cd2d138883a55cad48394a3f473da8b973a99a5e,
which fixed the same for `org-done-keywords-for-agenda` (to fix
a similar styling issue).

TINYCHANGE
---
 lisp/org-agenda.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lisp/org-agenda.el b/lisp/org-agenda.el
index 7e54121dc..8e3cc693a 100644
--- a/lisp/org-agenda.el
+++ b/lisp/org-agenda.el
@@ -3956,7 +3956,6 @@ FILTER-ALIST is an alist of filters we need to apply when
 	  (message "Sticky Agenda buffer, use `r' to refresh")
 	  (or org-agenda-multi (org-agenda-fit-window-to-buffer))
 	  (throw 'exit "Sticky Agenda buffer, use `r' to refresh"))
-      (setq org-todo-keywords-for-agenda nil)
       (if org-agenda-multi
 	  (progn
 	    (setq buffer-read-only nil)
@@ -3969,6 +3968,7 @@ FILTER-ALIST is an alist of filters we need to apply when
 			(make-string (window-max-chars-per-line) org-agenda-block-separator))
 		      "\n"))
 	    (narrow-to-region (point) (point-max)))
+        (setq org-todo-keywords-for-agenda nil)
 	(setq org-done-keywords-for-agenda nil)
 	;; Setting any org variables that are in org-agenda-local-vars
 	;; list need to be done after the prepare call
-- 
2.39.2

Reply via email to