From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp11.migadu.com ([2001:41d0:403:478a::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms9.migadu.com with LMTPS id eNX+JkhbCGVwMAAA9RJhRA:P1 (envelope-from ) for ; Mon, 18 Sep 2023 16:14:32 +0200 Received: from aspmx1.migadu.com ([2001:41d0:403:478a::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp11.migadu.com with LMTPS id eNX+JkhbCGVwMAAA9RJhRA (envelope-from ) for ; Mon, 18 Sep 2023 16:14:32 +0200 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 5C6055D574 for ; Mon, 18 Sep 2023 16:14:32 +0200 (CEST) Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=LtOL54iW; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (aspmx1.migadu.com: domain of "emacs-orgmode-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="emacs-orgmode-bounces+larch=yhetil.org@gnu.org" ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1695046472; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type:list-id:list-help:list-unsubscribe: list-subscribe:list-post:dkim-signature; bh=2nWyHVrfxf+VGXzRTqt+RVxg8vVbOlvat4hxxnw7R+c=; b=NVfZPqQDmfuA1cVbcYiQEfB33w3dSZdu3wBV6sKfK84GRI/HDqTSeiQAzESu5om/aKy0d4 HLuBM6x/clSU4CsNgDqhdQdYEl67T3jdTOTDpj4f3zVQwAdMtRf3lFxEmBcI/q7odGCilq y3241xY/DposUObV44kCQMO3qSaAJNqgnyoljzdK4P1E9jJDuUXszqtz4ED2jZED1oQeJ/ r3HdWJnfgLpnqoy+TcnAYYyW9nIBYuZYi3lZIKAh9WHtse+LDgF1kWLfdCtEjZ4Qn75dQx I3ZH1QNIgJxQXVjDKycxA8XEXqGEmc2/JCRVt9Jc48lhYhio/HsuRNe5xGgrsA== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1695046472; a=rsa-sha256; cv=none; b=TMMxz6uOz0RdkwZc34LEt4Stl3dQKNU3szPkSsIGNiOQ1E00LPbfm+kMF7q0MKK7wVEK8P oKvXTHJ5iJQTpTmBVONFbhbUg/Aw0dUvjQ1xrXS3HbF6+H50xJW08pXAOUlT3gUC8tYD2I 5TXk1hpA6XTOdvotwchGKZg84ZqrckEcFbXFrfxBuWF1U5y1AD9JclH+x7vaouAg2a4IhF /8MmeCVQtGbsglc0IsPPo8uJv8GKJB68L2HI62ipfxX1YfZQ4kpXIYQbGX9Zouo20cStBA 19G/wpKXrY0fXA577Ef6FRkvKJxv9OYiiLmgTVmPClsACB+6ciNqzm4hKcFfsw== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=LtOL54iW; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (aspmx1.migadu.com: domain of "emacs-orgmode-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="emacs-orgmode-bounces+larch=yhetil.org@gnu.org" Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qiF0N-0002TA-9i; Mon, 18 Sep 2023 10:13:39 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qiF0M-0002T2-Ah for emacs-orgmode@gnu.org; Mon, 18 Sep 2023 10:13:38 -0400 Received: from mail-pg1-x529.google.com ([2607:f8b0:4864:20::529]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qiF0K-0005Uu-9s for emacs-orgmode@gnu.org; Mon, 18 Sep 2023 10:13:38 -0400 Received: by mail-pg1-x529.google.com with SMTP id 41be03b00d2f7-5779055a474so3806013a12.0 for ; Mon, 18 Sep 2023 07:13:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1695046414; x=1695651214; darn=gnu.org; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=2nWyHVrfxf+VGXzRTqt+RVxg8vVbOlvat4hxxnw7R+c=; b=LtOL54iWGvQD2QqpOOoKRcYb/7r6iPDglKM6d/RxjWs32EI+Va4FtIhi5RBkr/2JRL S68bazsGdEu+dsU1VXmkVzUYvB9HNe7I+hU3oGY043ghMjHF0VRnZdtbnO76qY+Ta7Zx gAyNr8HTmLOMSOxQhZJGqFEfE4csyUHJilmWkonniTnhgPPEuumlbFla/v/YGHq7MEBv pBLdHc0XP9vqraxODFt+1ruVkubrB3D9ySp6ksq87ZDkrw9SlbGmTM/UCvs5qoUNSG88 bkbOLpkvYCwqfpqXfYZThZN/KMMpD6tV1iAQMmt8MF9kQBZ12YQaRNcps9U6JssHVxDO YySA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1695046414; x=1695651214; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=2nWyHVrfxf+VGXzRTqt+RVxg8vVbOlvat4hxxnw7R+c=; b=eiTZuxXMBLwWduyIx/SKJAHIaZSk22R5mIVW9Phr87A9784JS2idvUW0AikE1OJxxC 0W9fwwPDUgcJdSCG50XrdlJQjCEMglKP2HtrZqQN0wl0oRSuhG+Y43/+B1M4pZFFOjc2 ngQdz6P1fyG950JHPdE+peuT6nJtwQVIwHuzfj7cJKW2I/6LWgU0mShG54K9/ttI7GVx FVLciBdzfqBn9cfSFS8bbewSDuclG+VvR8stZT0evRv7uAfEssxm22WcYgJUuen7FdHm vhbwMc+7bdgf72O2kxWSOGUjz1Z3gnKf1YPNfnI+c7f62H47Di6GA/xTcAFo/d5WdHOS oQ3Q== X-Gm-Message-State: AOJu0Yzhcg3nr4jBiqlPF+WCZV+Ddjow1OVGXf5viQlXSpJwHgpukege j5VY3YJYSlKc4lKupRYD6Wys27DBWpB5JrJQqbVKM2EkdQCKUA== X-Google-Smtp-Source: AGHT+IGCAvIjVfPhzGAINdK+k61y4P9sWYxvTkULu4K//5V/TIlZT6QmWBSUTUzUNt/b3+2qWr9i7S8iB4EQB6seGgI= X-Received: by 2002:a17:90a:3ea2:b0:274:9871:b4b9 with SMTP id k31-20020a17090a3ea200b002749871b4b9mr8194647pjc.16.1695046413690; Mon, 18 Sep 2023 07:13:33 -0700 (PDT) MIME-Version: 1.0 From: sreenivas sumadithya Date: Mon, 18 Sep 2023 19:43:22 +0530 Message-ID: Subject: [BUG] Feature request: Add group checks for manual tag setting (not just fast tags) [9.6.6 (release_9.6.6 @ /usr/share/emacs/29.1/lisp/org/)] To: emacs-orgmode@gnu.org Content-Type: multipart/alternative; boundary="0000000000005dae870605a2bfe9" Received-SPF: pass client-ip=2607:f8b0:4864:20::529; envelope-from=sumadithya@gmail.com; helo=mail-pg1-x529.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-orgmode@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+larch=yhetil.org@gnu.org Sender: emacs-orgmode-bounces+larch=yhetil.org@gnu.org X-Migadu-Flow: FLOW_IN X-Migadu-Country: US X-Migadu-Spam-Score: -9.59 X-Spam-Score: -9.59 X-Migadu-Queue-Id: 5C6055D574 X-Migadu-Scanner: mx0.migadu.com X-TUID: IckKfH2IMaN3 --0000000000005dae870605a2bfe9 Content-Type: text/plain; charset="UTF-8" Currently, tag groups/ mutually exclusive tags can be set when tags are set manually (without shortcuts being assigned to the tags / fast tags). Need the behavior seen in fast tags in manual tagging for tag groups. Reproduction: - Create an org file - "#+tags: {dog cat} mat" - Save the file after setting this. - Close buffer - Open file - Make a heading - C-c C-q dog - C-c C-q cat Result: - Both 'cat' and 'dog' are assigned to the heading. Desired behavior: - One of the tags should be replaced by the other. Emacs : GNU Emacs 29.1 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.38, cairo version 1.17.8) Package: Org mode version 9.6.6 (release_9.6.6 @ /usr/share/emacs/29.1/lisp/org/) current state: ============== (setq org-link-elisp-confirm-function 'yes-or-no-p org-bibtex-headline-format-function #[257 "\300 \236A\207" [:title] 3 "\n\n(fn ENTRY)"] org-persist-after-read-hook '(org-element--cache-persist-after-read) org-export-before-parsing-hook '(org-attach-expand-links) org-cycle-tab-first-hook '(org-babel-hide-result-toggle-maybe org-babel-header-arg-expand) org-archive-hook '(org-attach-archive-delete-maybe) org-cycle-hook '(org-cycle-hide-archived-subtrees org-cycle-show-empty-lines org-cycle-optimize-window-after-visibility-change org-cycle-display-inline-images) org-persist-before-read-hook '(org-element--cache-persist-before-read) org-mode-hook '(#[0 "\300\301\302\303\304$\207" [add-hook change-major-mode-hook org-fold-show-all append local] 5] #[0 "\300\301\302\303\304$\207" [add-hook change-major-mode-hook org-babel-show-result-all append local] 5] org-babel-result-hide-spec org-babel-hide-all-hashes) org-confirm-shell-link-function 'yes-or-no-p outline-isearch-open-invisible-function 'outline-isearch-open-invisible org-agenda-before-write-hook '(org-agenda-add-entry-text) org-src-mode-hook '(org-src-babel-configure-edit-buffer org-src-mode-configure-edit-buffer) org-confirm-elisp-link-function 'yes-or-no-p org-speed-command-hook '(org-speed-command-activate org-babel-speed-command-activate) org-persist-directory "/tmp/org-persist-yxcGf7" org-fold-core-isearch-open-function 'org-fold--isearch-reveal org-persist-before-write-hook '(org-element--cache-persist-before-write) org-tab-first-hook '(org-babel-hide-result-toggle-maybe org-babel-header-arg-expand) org-link-shell-confirm-function 'yes-or-no-p org-babel-pre-tangle-hook '(save-buffer) org-agenda-loop-over-headlines-in-active-region nil org-occur-hook '(org-first-headline-recenter) org-metadown-hook '(org-babel-pop-to-session-maybe) org-link-parameters '(("attachment" :follow org-attach-follow :complete org-attach-complete-link) ("id" :follow org-id-open) ("eww" :follow org-eww-open :store org-eww-store-link) ("rmail" :follow org-rmail-open :store org-rmail-store-link) ("mhe" :follow org-mhe-open :store org-mhe-store-link) ("irc" :follow org-irc-visit :store org-irc-store-link :export org-irc-export) ("info" :follow org-info-open :export org-info-export :store org-info-store-link :insert-description org-info-description-as-command) ("gnus" :follow org-gnus-open :store org-gnus-store-link) ("docview" :follow org-docview-open :export org-docview-export :store org-docview-store-link) ("bibtex" :follow org-bibtex-open :store org-bibtex-store-link) ("bbdb" :follow org-bbdb-open :export org-bbdb-export :complete org-bbdb-complete-link :store org-bbdb-store-link) ("w3m" :store org-w3m-store-link) ("doi" :follow org-link-doi-open :export org-link-doi-export) ("file+sys") ("file+emacs") ("shell" :follow org-link--open-shell) ("news" :follow #[514 "\301\300\302 Q \"\207" ["news" browse-url ":"] 6 "\n\n(fn URL ARG)"]) ("mailto" :follow #[514 "\301\300\302 Q \"\207" ["mailto" browse-url ":"] 6 "\n\n(fn URL ARG)"]) ("https" :follow #[514 "\301\300\302 Q \"\207" ["https" browse-url ":"] 6 "\n\n(fn URL ARG)"]) ("http" :follow #[514 "\301\300\302 Q \"\207" ["http" browse-url ":"] 6 "\n\n(fn URL ARG)"]) ("ftp" :follow #[514 "\301\300\302 Q \"\207" ["ftp" browse-url ":"] 6 "\n\n(fn URL ARG)"]) ("help" :follow org-link--open-help :store org-link--store-help) ("file" :complete org-link-complete-file) ("elisp" :follow org-link--open-elisp)) org-metaup-hook '(org-babel-load-in-session-maybe) ) --0000000000005dae870605a2bfe9 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Currently, tag groups/ mutually exclusive tags can be= set when tags are set manually (without shortcuts being assigned to the ta= gs / fast tags). Need the behavior seen in fast tags in manual tagging for = tag groups.

Reproduction:
- Create an or= g file
- "#+tags: {dog cat} mat"
- Save the file= after setting this.
- Close buffer
- Open file
- Make a heading- C-c C-q dog
- C-c C-q cat

Result:
- Both 'cat' and 'dog' are assigned to the heading.
<= div>
Desired behavior:
- One of the tags should be = replaced by the other.


Emacs =C2=A0= : GNU Emacs 29.1 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.38, cairo= version 1.17.8)
Package: Org mode version 9.6.6 (release_9.6.6 @ /usr/s= hare/emacs/29.1/lisp/org/)

current state:
=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D
(setq
=C2=A0org-link-elisp-confirm-function = 9;yes-or-no-p
=C2=A0org-bibtex-headline-format-function #[257 "\300= \236A\207" [:title] 3 "\n\n(fn ENTRY)"]
=C2=A0org-persis= t-after-read-hook '(org-element--cache-persist-after-read)
=C2=A0org= -export-before-parsing-hook '(org-attach-expand-links)
=C2=A0org-cyc= le-tab-first-hook '(org-babel-hide-result-toggle-maybe org-babel-header= -arg-expand)
=C2=A0org-archive-hook '(org-attach-archive-delete-mayb= e)
=C2=A0org-cycle-hook '(org-cycle-hide-archived-subtrees org-cycle= -show-empty-lines
=C2=A0org-cycle-optimize-window-after-visibility-ch= ange org-cycle-display-inline-images)
=C2=A0org-persist-before-read-hook= '(org-element--cache-persist-before-read)
=C2=A0org-mode-hook '= (#[0 "\300\301\302\303\304$\207" [add-hook change-major-mode-hook= org-fold-show-all append local]
=C2=A0 5]
#[0 "\300\301\3= 02\303\304$\207"
=C2=A0 [add-hook change-major-mode-hook org-bab= el-show-result-all append local] 5]
org-babel-result-hide-spec org-ba= bel-hide-all-hashes)
=C2=A0org-confirm-shell-link-function 'yes-or-n= o-p
=C2=A0outline-isearch-open-invisible-function 'outline-isearch-o= pen-invisible
=C2=A0org-agenda-before-write-hook '(org-agenda-add-en= try-text)
=C2=A0org-src-mode-hook '(org-src-babel-configure-edit-buf= fer org-src-mode-configure-edit-buffer)
=C2=A0org-confirm-elisp-link-fun= ction 'yes-or-no-p
=C2=A0org-speed-command-hook '(org-speed-comm= and-activate org-babel-speed-command-activate)
=C2=A0org-persist-directo= ry "/tmp/org-persist-yxcGf7"
=C2=A0org-fold-core-isearch-open-= function 'org-fold--isearch-reveal
=C2=A0org-persist-before-write-ho= ok '(org-element--cache-persist-before-write)
=C2=A0org-tab-first-ho= ok '(org-babel-hide-result-toggle-maybe org-babel-header-arg-expand)=C2=A0org-link-shell-confirm-function 'yes-or-no-p
=C2=A0org-babel-= pre-tangle-hook '(save-buffer)
=C2=A0org-agenda-loop-over-headlines-= in-active-region nil
=C2=A0org-occur-hook '(org-first-headline-recen= ter)
=C2=A0org-metadown-hook '(org-babel-pop-to-session-maybe)
= =C2=A0org-link-parameters '(("attachment" :follow org-attach-= follow :complete org-attach-complete-link)
=C2=A0 =C2=A0 =C2=A0 (&quo= t;id" :follow org-id-open) ("eww" :follow org-eww-open :stor= e org-eww-store-link)
=C2=A0 =C2=A0 =C2=A0 ("rmail" :follow= org-rmail-open :store org-rmail-store-link)
=C2=A0 =C2=A0 =C2=A0 (&q= uot;mhe" :follow org-mhe-open :store org-mhe-store-link)
=C2=A0 = =C2=A0 =C2=A0 ("irc" :follow org-irc-visit :store org-irc-store-l= ink :export org-irc-export)
=C2=A0 =C2=A0 =C2=A0 ("info" :f= ollow org-info-open :export org-info-export :store org-info-store-link
= :insert-description org-info-description-as-command)
=C2=A0 =C2=A0 = =C2=A0 ("gnus" :follow org-gnus-open :store org-gnus-store-link)<= br> =C2=A0 =C2=A0 =C2=A0 ("docview" :follow org-docview-open :e= xport org-docview-export :store
org-docview-store-link)
=C2=A0 = =C2=A0 =C2=A0 ("bibtex" :follow org-bibtex-open :store org-bibtex= -store-link)
=C2=A0 =C2=A0 =C2=A0 ("bbdb" :follow org-bbdb-= open :export org-bbdb-export :complete org-bbdb-complete-link
:store = org-bbdb-store-link)
=C2=A0 =C2=A0 =C2=A0 ("w3m" :store org= -w3m-store-link)
=C2=A0 =C2=A0 =C2=A0 ("doi" :follow org-li= nk-doi-open :export org-link-doi-export) ("file+sys") ("file= +emacs")
=C2=A0 =C2=A0 =C2=A0 ("shell" :follow org-lin= k--open-shell)
=C2=A0 =C2=A0 =C2=A0 ("news" :follow
#= [514 "\301\300\302 Q \"\207" ["news" browse-url &q= uot;:"] 6 "\n\n(fn URL ARG)"])
=C2=A0 =C2=A0 =C2=A0 (&= quot;mailto" :follow
#[514 "\301\300\302 Q \"\207"= ; ["mailto" browse-url ":"] 6 "\n\n(fn URL ARG)&qu= ot;])
=C2=A0 =C2=A0 =C2=A0 ("https" :follow
#[514 &qu= ot;\301\300\302 Q \"\207" ["https" browse-url ":&q= uot;] 6 "\n\n(fn URL ARG)"])
=C2=A0 =C2=A0 =C2=A0 ("ht= tp" :follow
#[514 "\301\300\302 Q \"\207" ["= http" browse-url ":"] 6 "\n\n(fn URL ARG)"])
= =C2=A0 =C2=A0 =C2=A0 ("ftp" :follow #[514 "\301\300\302 Q \= "\207" ["ftp" browse-url ":"] 6 "\n\n(fn= URL ARG)"])
=C2=A0 =C2=A0 =C2=A0 ("help" :follow org-= link--open-help :store org-link--store-help)
=C2=A0 =C2=A0 =C2=A0 (&q= uot;file" :complete org-link-complete-file) ("elisp" :follow= org-link--open-elisp))
=C2=A0org-metaup-hook '(org-babel-load-in-se= ssion-maybe)
=C2=A0)


--0000000000005dae870605a2bfe9--