torys.ander...@gmail.com (Tory S. Anderson) writes:

> I've previously had success with using 
> `org-agenda-tag-filter-preset` in `org-agenda-custom-commands` but 
> I wanted to include OR logic on two different tags, which seemed 
> beyond th tag-filter (which seems to use AND logic). In my agenda 
> view I can use `=` to use a conditional on two tags, but I can't 
> seem to duplicate that behavior in a custom command. With no 
> errors it simply doesn't seem to work, and googling around has 
> proved fruitless for giving examples; I've tried a number of 
> different syntax without effect.
>
> (setq org-agenda-custom-commands
>       '(("w"."Work")
>       ("wd" "Work Day"
>        ((agenda "" ((org-agenda-span 1) 
>        (org-agenda-start-on-weekday nil) 
>        (org-agenda-filter-by-regexp 
>        '(":\\(ODH\)\\|\\(AGENDA\\):"))))))))
>
>
> What's the proper way to get a working regexp filter in my 
> custom-command? Thanks!

I think the regexp above is not correct. It's missing a backward slash
after ODH (and contains an redundant set of parentheses).

But even the regexp were correct, it wouldn't work, since
org-agenda-filter-by-regexp is designed to be used interactively. Its
parameter is a prefix argument, not a list or string.

I think you need a skip function here:

(setq org-agenda-custom-commands
      '(("w"."Work")
        ("wd" "Work Day"
         ((agenda "" ((org-agenda-span 1) 
         (org-agenda-start-on-weekday nil) 
         (org-agenda-skip-function
          '(org-agenda-skip-entry-if 'notregexp ":\\(ODH\\|AGENDA\\):"))))))))

Matt

Reply via email to