|
@@ -11488,7 +11488,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)
|
|
@@ -11529,7 +11529,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
|
|
@@ -11547,6 +11547,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
|
|
@@ -11554,7 +11557,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: "
|