Hello,

First of all, thank you for org-mode.  Without it, I literally would find
it much more difficult to do my job.

I am having a problem with group tags.  I reproduced it using the latest
org-mode from the org package archive, 20181022.  The minimal example is
this: say I have a group tag that looks like this:

(setq org-tag-alist
      '((:startgrouptag)
      ("parentTag")
      (:grouptags)
      ("childTag1")
      ("childTag2")
      (:endgrouptag)))

with a org-todo-keywords like so:

(setq org-todo-keywords '((type "TODO" "NEXT" "|" "DONE" "CANCELLED")))

And then an org file that looks like this:

* Parent heading 1 :childTag1:
** NEXT child 1 of parent 1
** TODO child 2 of parent 1

* Parent heading 2
** NEXT child 1 of parent 2
** TODO child 2 of parent 2

Then when I hit C-c a M, I use this match string:

parentTag&TODO="NEXT"|-parentTag&TODO="TODO"

I would expect the resulting agenda to have exactly two items: "child 1 of
parent 1", and "child 2 of parent 2".  However, I get three items: "child 1
of parent 1", "child 2 of parent 1", and "child 2 of parent 2".  I don't
understand why "child 2 of parent 1" is in there.

This only arises when using the "|" operator.  That is, if I do an agenda
with just

parentTag&TODO="NEXT"

then I get just "child 1 of parent 1", as expected.  If I do an agenda with

-parentTag&TODO="TODO"

then I get just "child 2 of parent 2", as expected.  But when I combine
them with "|", I get three items.

I also did some other tests showing that at least for me this problem
arises only with group tags.  In particular, here if I do

childTag1&TODO="NEXT"|-childTag1&TODO="TODO"

I get just the two items I would expect.

Is there a bug here?  Or am I doing something wrong?  Thanks.  --Omari

Reply via email to