org.el/org--get-local-tags: Add cache support
This commit is contained in:
parent
7159ec0be0
commit
38b632d2ea
13
lisp/org.el
13
lisp/org.el
|
@ -12472,10 +12472,15 @@ TAGS is a list of strings."
|
|||
(defun org--get-local-tags ()
|
||||
"Return list of tags for the current headline.
|
||||
Assume point is at the beginning of the headline."
|
||||
(and (looking-at org-tag-line-re)
|
||||
(split-string (match-string-no-properties 2) ":" t)))
|
||||
|
||||
(defun org-get-tags (&optional pos local)
|
||||
(let* ((cached (and (org-element--cache-active-p) (org-element-at-point nil 'cached)))
|
||||
(cached-tags (org-element-property :tags cached)))
|
||||
(if cached
|
||||
;; If we do not wrap result into `cl-copy-list', reference would
|
||||
;; be returned and cache element might be modified directly.
|
||||
(cl-copy-list cached-tags)
|
||||
;; Parse tags manually.
|
||||
(and (looking-at org-tag-line-re)
|
||||
(split-string (match-string-no-properties 2) ":" t)))))
|
||||
"Get the list of tags specified in the current headline.
|
||||
|
||||
When argument POS is non-nil, retrieve tags for headline at POS.
|
||||
|
|
Loading…
Reference in New Issue