Fix: Inherit org-file-tags
Fixes #55. Closes #57. Thanks to Mikhail Skorzhinskiy (@mskorzhinskiy).
This commit is contained in:
parent
dadbbe4a87
commit
9f5bbeb3f2
5 changed files with 84 additions and 32 deletions
35
org-ql.el
35
org-ql.el
|
|
@ -392,22 +392,25 @@ Returns cons (INHERITED-TAGS . LOCAL-TAGS)."
|
|||
'org-ql-nil))
|
||||
(inherited-tags (or (when org-use-tag-inheritance
|
||||
(save-excursion
|
||||
(when (org-up-heading-safe)
|
||||
(-let* (((inherited local) (org-ql--tags-at (point)))
|
||||
(tags (when (or inherited local)
|
||||
(cond ((and (listp inherited)
|
||||
(listp local))
|
||||
(->> (append inherited local)
|
||||
-non-nil -uniq))
|
||||
((listp inherited) inherited)
|
||||
((listp local) local)))))
|
||||
(cl-typecase org-use-tag-inheritance
|
||||
(list (setf tags (-intersection tags org-use-tag-inheritance)))
|
||||
(string (setf tags (--select (string-match org-use-tag-inheritance it)
|
||||
tags))))
|
||||
(pcase org-tags-exclude-from-inheritance
|
||||
('nil tags)
|
||||
(_ (-difference tags org-tags-exclude-from-inheritance)))))))
|
||||
(if (org-up-heading-safe)
|
||||
;; Return parent heading's tags.
|
||||
(-let* (((inherited local) (org-ql--tags-at (point)))
|
||||
(tags (when (or inherited local)
|
||||
(cond ((and (listp inherited)
|
||||
(listp local))
|
||||
(->> (append inherited local)
|
||||
-non-nil -uniq))
|
||||
((listp inherited) inherited)
|
||||
((listp local) local)))))
|
||||
(cl-typecase org-use-tag-inheritance
|
||||
(list (setf tags (-intersection tags org-use-tag-inheritance)))
|
||||
(string (setf tags (--select (string-match org-use-tag-inheritance it)
|
||||
tags))))
|
||||
(pcase org-tags-exclude-from-inheritance
|
||||
('nil tags)
|
||||
(_ (-difference tags org-tags-exclude-from-inheritance))))
|
||||
;; Top-level heading: use file tags.
|
||||
org-file-tags)))
|
||||
'org-ql-nil))
|
||||
(all-tags (list inherited-tags local-tags)))
|
||||
;; Check caches again, because they may have been set now.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue