"Stephen J. Barr" <stev...@uw.edu> writes: > I am using org-mode 8.2.10 with helm. When I am adding tags to a > headline, the first tag offers me completions of all possible tags in > the file. However, if I go back later and add additional tags, I am > not offered completion. How can I fix this?
I can confirm that this is not just a helm problem. There is a bug with all completion backends with the the following *default* settings: (setq org-use-fast-tag-selection 'auto) ;; provided that shortcuts are ;; defined in org-tag-alist (setq org-fast-tag-selection-single-key nil) (setq org-complete-tags-always-offer-all-agenda-tags nil) Steps to replicate (without helm): M-x org-set-tags [Tab] Select via completion [Ret] [Tab] Only the most recent tab appears [Ret] The following patch should fix the problem.
>From 370ba61a4647bb97d2233ccb6ef84db033824248 Mon Sep 17 00:00:00 2001 From: Matt Lundin <m...@imapmail.org> Date: Wed, 12 Aug 2015 23:22:22 -0500 Subject: [PATCH] Fix completion when selecting more than one tag * lisp/org.el (org-fast-tag-selection): Make sure to set local variable buffer-tags to actual buffer-tags before pushing selected tag to the list; otherwise, the subsequent completion list will be limited to the one selected tag. --- lisp/org.el | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lisp/org.el b/lisp/org.el index a908d9e..d7528fc 100755 --- a/lisp/org.el +++ b/lisp/org.el @@ -15314,7 +15314,8 @@ Returns the new tags string, or nil to not change the current settings." "Tag: " (or buffer-tags (with-current-buffer buf - (org-get-buffer-tags))))) + (setq buffer-tags + (org-get-buffer-tags)))))) (quit (setq tg ""))) (when (string-match "\\S-" tg) (add-to-list 'buffer-tags (list tg)) -- 2.5.0