Function: org-agenda-fix-displayed-tags
org-agenda-fix-displayed-tags is a byte-compiled function defined in
org-agenda.el.gz.
Signature
(org-agenda-fix-displayed-tags TXT TAGS ADD-INHERITED HIDE-RE)
Documentation
Remove tags string from TXT, and add a modified list of tags.
The modified list may contain inherited tags, and tags matched by
org-agenda-hide-tags-regexp will be removed.
Source Code
;; Defined in /usr/src/emacs/lisp/org/org-agenda.el.gz
(defun org-agenda-fix-displayed-tags (txt tags add-inherited hide-re)
"Remove tags string from TXT, and add a modified list of tags.
The modified list may contain inherited tags, and tags matched by
`org-agenda-hide-tags-regexp' will be removed."
(when (or add-inherited hide-re)
(when (string-match org-tag-group-re txt)
(setq txt (substring txt 0 (match-beginning 0))))
(setq tags
(delq nil
(mapcar (lambda (tg)
(if (or (and hide-re (string-match hide-re tg))
(and (not add-inherited)
(get-text-property 0 'inherited tg)))
nil
tg))
tags)))
(when tags
(let ((have-i (get-text-property 0 'inherited (car tags)))
i)
(setq txt (concat txt " :"
(mapconcat
(lambda (x)
(setq i (get-text-property 0 'inherited x))
(if (and have-i (not i))
(progn
(setq have-i nil)
(concat ":" x))
x))
tags ":")
(if have-i "::" ":"))))))
txt)