emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/org a0b21e3f1c 1/2: * lisp/org.el (org-set-tags-command


From: ELPA Syncer
Subject: [elpa] externals/org a0b21e3f1c 1/2: * lisp/org.el (org-set-tags-command): Put local tags on top
Date: Sat, 6 Aug 2022 04:57:44 -0400 (EDT)

branch: externals/org
commit a0b21e3f1c131bc6ee6398e2d3dda20944d6b358
Author: Ihor Radchenko <yantar92@gmail.com>
Commit: Ihor Radchenko <yantar92@gmail.com>

    * lisp/org.el (org-set-tags-command): Put local tags on top
    
    See https://orgmode.org/list/7AB4F327-24D0-4BA5-BD20-B329D4CBBF0A@hoowl.se
---
 lisp/org.el | 16 +++++++++++-----
 1 file changed, 11 insertions(+), 5 deletions(-)

diff --git a/lisp/org.el b/lisp/org.el
index 4b14bcbf00..602abf257e 100644
--- a/lisp/org.el
+++ b/lisp/org.el
@@ -11465,12 +11465,18 @@ in Lisp code use `org-set-tags' instead."
       (save-excursion
        (org-back-to-heading)
        (let* ((all-tags (org-get-tags))
+               (local-table (or org-current-tag-alist (org-get-buffer-tags)))
               (table (setq org-last-tags-completion-table
-                           (org--tag-add-to-alist
-                            (and org-complete-tags-always-offer-all-agenda-tags
-                                 (org-global-tags-completion-table
-                                  (org-agenda-files)))
-                            (or org-current-tag-alist (org-get-buffer-tags)))))
+                            (append
+                             ;; Put local tags in front.
+                             local-table
+                             (cl-set-difference
+                             (org--tag-add-to-alist
+                              (and 
org-complete-tags-always-offer-all-agenda-tags
+                                   (org-global-tags-completion-table
+                                    (org-agenda-files)))
+                              local-table)
+                              local-table))))
               (current-tags
                (cl-remove-if (lambda (tag) (get-text-property 0 'inherited 
tag))
                              all-tags))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]