emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH] Allow tags containing capital letters in org-agenda-filter


From: Ihor Radchenko
Subject: [PATCH] Allow tags containing capital letters in org-agenda-filter
Date: Thu, 11 Feb 2021 12:12:02 +0800

Hi,

I recently noticed that org-agenda-filter does not match tags with
capital letters because all the stored tags in agenda are downcased. The
attached patch is fixing the issue. Though, ideally, it would be better
if agenda filter were case-sensitive for tags.

Best,
Ihor
>From 9d7a966497458bdb0ab5e5171d2bab1fa8612bc5 Mon Sep 17 00:00:00 2001
From: Ihor Radchenko <yantar92@gmail.com>
Date: Thu, 11 Feb 2021 12:03:15 +0800
Subject: [PATCH] Allow tags containing capital letters in org-agenda-filter

* lisp/org-agenda.el (org-agenda-filter): Downcase tags in the search
string provided by user.  This is needed because all the tags stored
in 'tags text property are downcased.

Example when old code did not work is a tag like COMMON.  The user
would not expect a need to input +|-common in the agenda filter
instead of +|-COMMON.  The latter would only result in
"COMMON filter ignored because tag/category is not represented".
---
 lisp/org-agenda.el | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/lisp/org-agenda.el b/lisp/org-agenda.el
index 90920ef41..0845d0ca6 100644
--- a/lisp/org-agenda.el
+++ b/lisp/org-agenda.el
@@ -7767,8 +7767,8 @@ the variable `org-agenda-auto-exclude-function'."
          (setq s (replace-regexp-in-string ; Remove the temporary special 
string.
                   "~~~" "-" (match-string 3 f-string)))
          (cond
-          ((member s tag-list)
-           (add-to-list 'ft (concat pm s) 'append 'equal))
+          ((member (downcase s) tag-list)
+           (add-to-list 'ft (concat pm (downcase s)) 'append 'equal))
           ((member s category-list)
            (add-to-list 'fc (concat pm ; Remove temporary double quotes.
                                     (replace-regexp-in-string "\"\\(.*\\)\"" 
"\\1" s))
-- 
2.26.2


reply via email to

[Prev in Thread] Current Thread [Next in Thread]