Attached is a patch to fix this. It's essentially just the patch from No 
Wayman. I've added the reported by link. Not sure how if it should also be 
credited somehow. It's only a very little thing though.

>>> Ihor Radchenko <[email protected]> writes:
>>>>
>>>> I think we can make separator a variable (not a custom option).
>>>> This way, if someone absolutely wants to change it, they could.
>>>
>>> Okay. I'll do that when I get a chance.
>>
>> It has been a while. Any update here?
>
> Not yet. It's only a little thing but I'm rather behind on
> everything. Hopefully I'll do it before the next bump :)

--
Paul
>From c8d41be0b18da80cd53437061af3f2a3da766329 Mon Sep 17 00:00:00 2001
From: Paul Bryan <[email protected]>
Date: Tue, 13 Oct 2026 21:50:45 +1100
Subject: [PATCH] org.el, org-capture.el: Introduce variable for completing
 read separator reg when reading tags.

* lisp/org.el org-tag-crm-separator: Introduce variable for regex
determining completing read separator when reading tags.
(org-capture-fill-template): Use completing read separator variable
when reading tags.
* lisp/org-capture.el: (org-capture-fill): Use completing read
separator variable when reading tags.

Separator now includes commas "," and colons ":".

Reported by: "No Wayman" <[email protected]>
Link: https://list.orgmode.org/[email protected]/
---
 lisp/org-capture.el | 2 +-
 lisp/org.el         | 5 ++++-
 2 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/lisp/org-capture.el b/lisp/org-capture.el
index 7654f74f9..429db76c7 100644
--- a/lisp/org-capture.el
+++ b/lisp/org-capture.el
@@ -1981,7 +1981,7 @@ buffers."
 			          (org-add-colon-after-tag-completion t)
 			          (ins (mapconcat
 				        #'identity
-				        (let ((crm-separator "[ \t]*:[ \t]*"))
+				        (let ((crm-separator org-tag-crm-separator))
                                           (completing-read-multiple
 				           (if prompt (concat prompt ": ") "Tags: ")
 				           org-last-tags-completion-table nil nil nil
diff --git a/lisp/org.el b/lisp/org.el
index 6f46078f1..e5ff913da 100644
--- a/lisp/org.el
+++ b/lisp/org.el
@@ -705,6 +705,9 @@ This is the base pattern for tag matching regex.")
 (defconst org-tag-re (format "[%s]+" org-tag--valid-char-set)
   "Regexp matching a single tag.")
 
+(defconst org-tag-crm-separator "[ \t]*[:,][ \t]*"
+  "Regexp used to determine `crm-separator' when reading multiple tags.")
+
 (defconst org-tag--group-enclosed-re
   (format "\\(:\\([%s:]+\\):\\)" org-tag--valid-char-set)
   "Regex pattern for a colon-enclosed group of tags.
@@ -12415,7 +12418,7 @@ in Lisp code use `org-set-tags' instead."
 		      table
 		      (and org-fast-tag-selection-include-todo org-todo-key-alist))
 		   (let ((org-add-colon-after-tag-completion (< 1 (length table)))
-                         (crm-separator "[ \t]*:[ \t]*"))
+                         (crm-separator org-tag-crm-separator))
 		     (mapconcat #'identity
                                 (completing-read-multiple
 			         "Tags: "
-- 
2.55.0

Reply via email to