forked from mirrors/org-mode
Fix bug when building sparse tree: ignore non-buffer tags
* lisp/org.el (org-make-tags-matcher): Add a parameter to make it optional to include non-buffer tags. (org-match-sparse-tree): Use the new parameter. TINYCHANGE
This commit is contained in:
parent
00a782112a
commit
f2d41de3ed
10
lisp/org.el
10
lisp/org.el
|
@ -11945,7 +11945,7 @@ are also TODO tasks."
|
|||
(interactive "P")
|
||||
(org-agenda-prepare-buffers (list (current-buffer)))
|
||||
(let ((org--matcher-tags-todo-only todo-only))
|
||||
(org-scan-tags 'sparse-tree (cdr (org-make-tags-matcher match))
|
||||
(org-scan-tags 'sparse-tree (cdr (org-make-tags-matcher match t))
|
||||
org--matcher-tags-todo-only)))
|
||||
|
||||
(defalias 'org-tags-sparse-tree 'org-match-sparse-tree)
|
||||
|
@ -11986,7 +11986,7 @@ instead of the agenda files."
|
|||
(if (car-safe files) files
|
||||
(org-agenda-files))))))))
|
||||
|
||||
(defun org-make-tags-matcher (match)
|
||||
(defun org-make-tags-matcher (match &optional only-local-tags)
|
||||
"Create the TAGS/TODO matcher form for the selection string MATCH.
|
||||
|
||||
Returns a cons of the selection string MATCH and a function
|
||||
|
@ -12004,6 +12004,9 @@ This function sets the variable `org--matcher-tags-todo-only' to
|
|||
a non-nil value if the matcher restricts matching to TODO
|
||||
entries, otherwise it is not touched.
|
||||
|
||||
When ONLY-LOCAL-TAGS is non-nil, ignore the global tag completion
|
||||
table, only get buffer tags.
|
||||
|
||||
See also `org-scan-tags'."
|
||||
(unless match
|
||||
;; Get a new match request, with completion against the global
|
||||
|
@ -12011,7 +12014,8 @@ See also `org-scan-tags'."
|
|||
(let ((org-last-tags-completion-table
|
||||
(org--tag-add-to-alist
|
||||
(org-get-buffer-tags)
|
||||
(org-global-tags-completion-table))))
|
||||
(unless only-local-tags
|
||||
(org-global-tags-completion-table)))))
|
||||
(setq match
|
||||
(completing-read
|
||||
"Match: "
|
||||
|
|
Loading…
Reference in New Issue