First of all, I want to say that I really appreciate Org Mode, I wouldn’t
be using Emacs without it, and it’s where I spend the vast majority of my
time in Emacs. Thank you all!

So, according to the Org documentation: “You can also group together tags
that are mutually exclusive by using braces … Selecting a tag in a group of
mutually exclusive tags will turn off any other tags from that group.

But, if I do this…

#+TAGS: { place(c) container(c) object(o) }

* Room :place:
** Box :container:
*** Toy :object:

…and then use (org-get-tags) on “Toy,” it reports that it has the tags
“place”, “container”, and “object”, even though these tags are all defined
to be mutually exclusive! This is a problem, since turning off tag
inheritance (for a document or for specific tags) seems to be an
all-or-nothing affair. That means if I wanted to do this:

* Room :place:
** Bookcase
** Dresser
** Desk
** Nightstand
** Closet
*** Box :container:
**** Toy :object:

…and then search for all headings with the tag “place,” either (with tag
inheritance) everything, including “Box” and “Toy,” will be returned, or
(without tag inheritance) only “Room” would be returned. (I could put a tag
on every heading where I want it inherited, but that would both defeat the
purpose of inheritance and make it difficult to manage large trees.)

I can’t find any solutions to this online, so I’m posting this here. I hope
it can get fixed. Thank you!

—Tina

Reply via email to