From mboxrd@z Thu Jan 1 00:00:00 1970 From: Nicolas Goaziou Subject: Re: Mutually-exclusive Org tags still inherit each other Date: Sat, 09 Feb 2019 19:03:41 +0100 Message-ID: <874l9cdeki.fsf@nicolasgoaziou.fr> References: Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([209.51.188.92]:59681) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gsWym-0007F3-E4 for emacs-orgmode@gnu.org; Sat, 09 Feb 2019 13:03:53 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gsWyl-0003BS-K2 for emacs-orgmode@gnu.org; Sat, 09 Feb 2019 13:03:52 -0500 Received: from relay8-d.mail.gandi.net ([217.70.183.201]:50423) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1gsWyl-00039S-Ce for emacs-orgmode@gnu.org; Sat, 09 Feb 2019 13:03:51 -0500 In-Reply-To: (Tina Russell's message of "Thu, 7 Feb 2019 16:42:22 -0800") List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: "Emacs-orgmode" To: Tina Russell Cc: emacs-orgmode@gnu.org Hello, Tina Russell writes: > So, according to the Org documentation: =E2=80=9CYou can also group toget= her tags > that are mutually exclusive by using braces =E2=80=A6 Selecting a tag in = a group of > mutually exclusive tags will turn off any other tags from that group. > > But, if I do this=E2=80=A6 > > #+TAGS: { place(c) container(c) object(o) } > > * Room :place: > ** Box :container: > *** Toy :object: > > =E2=80=A6and then use (org-get-tags) on =E2=80=9CToy,=E2=80=9D it reports= that it has the tags > =E2=80=9Cplace=E2=80=9D, =E2=80=9Ccontainer=E2=80=9D, and =E2=80=9Cobject= =E2=80=9D, even though these tags are all defined > to be mutually exclusive! This is a problem, Not really. `org-get-tags' is a low-level function, i.e., it has no knowledge about tag groups or mutually exclusive tags. > 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: > > =E2=80=A6and then search for all headings with the tag =E2=80=9Cplace,=E2= =80=9D either (with tag > inheritance) everything, including =E2=80=9CBox=E2=80=9D and =E2=80=9CToy= ,=E2=80=9D will be returned, or > (without tag inheritance) only =E2=80=9CRoom=E2=80=9D 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.) You don't need to use mutually exclusive tags for this example. You could search for "place-container", assuming tag inheritance. Regards, --=20 Nicolas Goaziou