Make `org-make-tags-matcher' lexical binding friendly
* lisp/org.el (org-make-tags-matcher): Return a function instead of a sexp. Refactor code. (org--matcher-tags-todo-only): New variable. Replace `todo-only' dynamic binding. (org-scan-tags): Apply changes to `org-make-tags-matcher'. (org-match-sparse-tree): (org-map-entries): Use new variable. * lisp/org-crypt.el (org-encrypt-entries): (org-decrypt-entries): Use new variable. * lisp/org-clock.el (org-clock-get-table-data): Apply changes to `org-make-tags-matcher'. * lisp/org-agenda.el (org-tags-view): Use new variable.
This commit is contained in:
parent
2ec03e18b8
commit
60339bd55f
1 changed files with 5 additions and 7 deletions
|
@ -252,9 +252,8 @@ to dead or no buffer."
|
|||
|
||||
(defun org-contacts-db ()
|
||||
"Return the latest Org Contacts Database."
|
||||
(let* (todo-only
|
||||
(contacts-matcher
|
||||
(cdr (org-make-tags-matcher org-contacts-matcher)))
|
||||
(let* ((org--matcher-tags-todo-only nil)
|
||||
(contacts-matcher (cdr (org-make-tags-matcher org-contacts-matcher)))
|
||||
result)
|
||||
(when (org-contacts-db-need-update-p)
|
||||
(let ((progress-reporter
|
||||
|
@ -288,10 +287,9 @@ to dead or no buffer."
|
|||
(error "File %s is not in `org-mode'" file))
|
||||
(setf result
|
||||
(append result
|
||||
(org-scan-tags
|
||||
'org-contacts-at-point
|
||||
(org-scan-tags 'org-contacts-at-point
|
||||
contacts-matcher
|
||||
todo-only)))))
|
||||
org--matcher-tags-todo-only)))))
|
||||
(progress-reporter-update progress-reporter (setq i (1+ i))))
|
||||
(setf org-contacts-db result
|
||||
org-contacts-last-update (current-time))
|
||||
|
|
Loading…
Reference in a new issue