I have set org-tag-persistent-alist. In my .org files, many of these tags do in fact appear. But then when I try to change the tags of some entry with org-set-tags-command, Org shows about double the expected number of candidate tags, because those tags that occur both in org- tag-persistent-alist and in the .org file appear twice, with different access chars. I expected no duplicates. This bug does not occur when I set org-tag-alist instead of org-tag-persistent-alist.
To ease debugging, I have created a new .emacs.d and removed all unnecessary customizations (but still included a copy of my usual ~/.emacs.d/elpa). I have also reduced the .org file to a minimum. I provide them as a compressed archive (.txz) here: https://www.dropbox.com/s/wwo63h5e4f1k347/org-bug-repeated-candidate-ta gs.txz?dl=1 I can also mail it on request (it is about 4MiB) To trigger the bug, open GNU Emacs with my .emacs.d, visit repeated-tags-bug-trigger.org and invoke org-set-tags-command. The tag "dummy" appears twice (once with access char "d" and another time with access char "a"). I am Brazilian. I apologize for possibly bad English and I welcome corrections. I use Ubuntu 15.10. Emacs : GNU Emacs 25.0.92.1 (x86_64-unknown-linux-gnu, GTK+ Version 3.18.6) of 2016-03-05 Package: Org-mode version 8.3.4 (8.3.4-31-gcb683e-elpa @ /home/jorge/.emacs.d/elpa/org-20160404/) current state: ============== (setq org-tab-first-hook '(org-hide-block-toggle-maybe org-babel-hide- result-toggle-maybe org-babel-header-arg-expand) org-speed-command-hook '(org-speed-command-default-hook org-babel- speed-command-hook) org-occur-hook '(org-first-headline-recenter) org-metaup-hook '(org-babel-load-in-session-maybe) org-confirm-shell-link-function 'yes-or-no-p org-after-todo-state-change-hook '(org-clock-out-if-current) org-src-mode-hook '(org-src-babel-configure-edit-buffer org-src-mode- configure-edit-buffer) org-agenda-before-write-hook '(org-agenda-add-entry-text) org-babel-pre-tangle-hook '(save-buffer) org-mode-hook '(#[nil "\300\301\302\303\304$\207" [org-add-hook change-major-mode-hook org-show-block-all append local] 5] #[nil "\300\301\302\303\304$\207" [org-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-archive-hook '(org-attach-archive-delete-maybe) org-ctrl-c-ctrl-c-hook '(org-babel-hash-at-point org-babel-execute- safely-maybe) org-cycle-hook '(org-cycle-hide-archived-subtrees org-cycle-hide- drawers org-cycle-show-empty-lines org-optimize-window-after-visibility-change) org-confirm-elisp-link-function 'yes-or-no-p org-metadown-hook '(org-babel-pop-to-session-maybe) org-tag-persistent-alist '(("dummy" . 100)) org-clock-out-hook '(org-clock-remove-empty-clock-drawer) )