From: Pedro <pinmacs@cas.cat>
To: emacs-orgmode@gnu.org
Subject: Re: After years without issues, Orgmode now fails to apply agenda filters to preset templates
Date: Thu, 30 May 2024 13:17:14 +0200 [thread overview]
Message-ID: <4ea7ae24-83a7-495b-a801-793b9b4a79bd@cas.cat> (raw)
In-Reply-To: <87ed9p7kxf.fsf@localhost>
[-- Attachment #1.1.1: Type: text/plain, Size: 2287 bytes --]
Hi Tory,
I use the same version emacs and orgmode version as you, and I have
similar needs as you: filtering org-agenda by tags, etc.
I will share my whole section of org-agenda-custom-commands as it is, I
hope you can followup it nicely. Find it attached in file:
agenda-filters.org
Cheers,
Pedro
On 5/25/24 21:26, Ihor Radchenko wrote:
> webdev@toryanderson.com (Tory S. Anderson) writes:
>
>> After years without issue where I could choose, for example, to see my
>> daily work agenda, the filters are now failing to be applied. This is
>> in org 9.6.15, as shipped with my emacs 29.3. I have verified that
>> this problem is the same in =emacs -Q= without any other packages:
>> when I choose my agenda view, such as "C-a w d" for my daily work
>> agenda, I still get an agenda buffer named "Org_Agenda(wd)", but none
>> of my preset filters have applied. I skimmed the documentation and I
>> haven't seen any changed syntax. Here is my definition from my
>> =use-package org= =:custom= section:
>>
>> #+begin_src lisp
>> (org-agenda-custom-commands
>> '(("w" . "Work")
>> ("wd" "Work Day"
>> ((agenda ""
>> ((org-agenda-span 1)
>> (org-agenda-start-on-weekday nil)
>> (org-agenda-regexp-filter-preset
>> '("+ODH\\|AGENDA\\|CONFERENCE" "-TSA\\|PRIESTHOOD")))))
>> nil)))
>> #+end_src
> According to the docstring of `org-agenda-regexp-filter-preset',
>
> ...The preset filter is a global property of
> the entire agenda view. In a block agenda, it will not work reliably to
> define a filter for one of the individual blocks. You need to set it in
> the global options and expect it to be applied to the entire view.
>
> So, you should set this variable as a part of global agenda command
> settings, not inside individual block.
>
> Not a bug.
> Canceled.
>
>> Why has this stopped applying my filter when it worked for so long? Is
>> it a bug, or do I need to change something to make it up-to-date?
> I have no idea because you did not tell which Org mode version had your
> settings working. I suspect that it could have happened around the time
> Org mode switched from dynamic binding to lexical binding, but it is
> just a blind guess.
>
[-- Attachment #1.1.2: agenda-filters.org --]
[-- Type: text/org, Size: 4549 bytes --]
(setq my/org-agenda_pro-filter ":2024_12_masked:\\|:2024_29_masked:\\|:2024_16_masked:\\|:2023_101_masked:\\|:2024_17_masked:")
(setq my/org-agenda_org-filter ":2023_47_masked:\\|:2023_53_masked:\\|:2024_8_masked:\\|:2024_9_masked:\\|:2024_13_masked:\\|:2024_20_masked:\\|:2024_10_masked:\\|:2024_11_masked:")
(setq my/org-agenda_home-filter ":2024_2_masked:\\|:2024_1_masked:\\|:2024_4_masked:\\|:2024_3_masked:\\|:2022_39_masked:")
(setq my/org-agenda_vol-filter ":2023_47_masked:\\|:2023_53_masked:\\|:2024_8_masked:\\|:2024_9_masked:\\|:2024_13_masked:\\|:2024_20_masked:\\|:2024_10_masked:\\|:2024_11_masked:")
(setq my/org-agenda_exp-filter ":2022_9_masked:\\|:2024_25_masked:\\|:2022_83_masked:\\|:2024_24_masked:\\|:2024_23_masked:\\|:2023_57_masked:\\|:2024_7_masked:\\|:2024_15_masked:\\|:2024_14_masked:")
(setq my/org-agenda_mus-filter ":2024_22_masked:\\|:2024_21_masked:")
(setq my/org-agenda_viaje-filter ":2023_114_masked:\\|:2022_74_masked:")
(defun my/org-agenda-skip-with-filter (filter)
(or
(org-agenda-skip-entry-if 'todo '("DONE" "CLOSED"))
(org-agenda-skip-entry-if 'notregexp (concat ":appt:\\|" filter))
))
;; by default I only want a list of the todo items
(setq org-agenda-custom-commands
'(("t" "list all TICKLER items" todo "TICKLER")
("n" "list all NEXT items" todo "NEXT")
("h" "list all HOLD items" todo "HOLD")
("b" "Agenda for board.org"
agenda ""
((org-agenda-span 'day)
(org-agenda-files '("~/org/board.org"))))
;; thanks chatgpt
("d" "Daily agenda without DONE and CLOSED (responde a pregunta: qué queda por hacer hoy)"
agenda ""
((org-agenda-span 'day)
(org-agenda-skip-function
(lambda ()
(or (org-agenda-skip-entry-if 'todo '("DONE" "CLOSED")))))))
;; trabajos profesionales
;; https://emacs.stackexchange.com/questions/18179/org-agenda-command-with-org-agenda-filter-by-tag-not-working/78066#78066
("w" "Context 1: pro/Work"
agenda ""
((org-agenda-span 'day)
(org-agenda-skip-function '(my/org-agenda-skip-with-filter (concat ":pro:\\|" my/org-agenda_pro-filter)))
))
("o" "Context 2: Org"
agenda ""
((org-agenda-span 'day)
(org-agenda-skip-function '(my/org-agenda-skip-with-filter (concat ":org:\\|" my/org-agenda_org-filter)))
))
;; special case, includes habitos
("c" "Context 3: home (Casa)"
agenda ""
((org-agenda-span 'day)
(org-agenda-skip-function
(lambda ()
(let ((category (org-get-category)))
;; debug
;;(print category)
(or
(org-agenda-skip-entry-if 'todo '("DONE" "CLOSED"))
(org-agenda-skip-entry-if 'notregexp (concat
":appt:\\|"
":nutricion:\\|"
":home:\\|"
my/org-agenda_home-filter))
))))))
("v" "Context 4: Vol"
agenda ""
((org-agenda-span 'day)
(org-agenda-skip-function '(my/org-agenda-skip-with-filter (concat ":vol:\\|" my/org-agenda_vol-filter)))
))
("x" "Context 5: eXp"
agenda ""
((org-agenda-span 'day)
(org-agenda-skip-function '(my/org-agenda-skip-with-filter (concat ":exp:\\|" my/org-agenda_exp-filter)))
))
("u" "Context 6: mUs"
agenda ""
((org-agenda-span 'day)
(org-agenda-skip-function '(my/org-agenda-skip-with-filter (concat ":mus:\\|" my/org-agenda_mus-filter)))
))
("v" "Context 7: Viaje"
agenda ""
((org-agenda-span 'day)
(org-agenda-skip-function '(my/org-agenda-skip-with-filter (concat ":viaje:\\|" my/org-agenda_viaje-filter)))
))
;; free: special case, negation of work filter
("f" "Freedom, no pro/work"
agenda ""
((org-agenda-span 'day)
(org-agenda-skip-function
(lambda ()
(or
(org-agenda-skip-entry-if 'todo '("DONE" "CLOSED"))
(org-agenda-skip-entry-if 'regexp (concat
":appt:\\|"
my/org-agenda_pro-filter))
)))))
))
[-- Attachment #1.1.3: OpenPGP public key --]
[-- Type: application/pgp-keys, Size: 2847 bytes --]
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 495 bytes --]
next prev parent reply other threads:[~2024-05-30 11:21 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-05-25 19:08 After years without issues, Orgmode now fails to apply agenda filters to preset templates Tory S. Anderson
2024-05-25 19:26 ` Ihor Radchenko
2024-05-30 11:17 ` Pedro [this message]
2024-05-30 16:15 ` Tory S. Anderson
2024-05-30 16:29 ` Ihor Radchenko
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.orgmode.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4ea7ae24-83a7-495b-a801-793b9b4a79bd@cas.cat \
--to=pinmacs@cas.cat \
--cc=emacs-orgmode@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).