Function: org-agenda-prepare-buffers
org-agenda-prepare-buffers is an interactive and byte-compiled
function defined in org.el.gz.
Signature
(org-agenda-prepare-buffers FILES)
Documentation
Create buffers for all agenda files, protect archived trees and comments.
Key Bindings
Source Code
;; Defined in /usr/src/emacs/lisp/org/org.el.gz
(defun org-agenda-prepare-buffers (files)
"Create buffers for all agenda files, protect archived trees and comments."
(interactive)
(let ((inhibit-read-only t)
(org-inhibit-startup org-agenda-inhibit-startup)
;; Do not refresh list of agenda files in the menu when
;; opening every new file.
(org-agenda-file-menu-enabled nil))
(setq org-tag-alist-for-agenda nil
org-tag-groups-alist-for-agenda nil)
(dolist (file files)
(catch 'nextfile
(with-current-buffer
(if (bufferp file)
file
(org-check-agenda-file file)
(org-get-agenda-file-buffer file))
(org-with-wide-buffer
(org-set-regexps-and-options 'tags-only)
(or (memq 'stats org-agenda-ignore-properties)
(org-refresh-stats-properties))
(dolist (el org-todo-keywords-1)
(unless (member el org-todo-keywords-for-agenda)
(push el org-todo-keywords-for-agenda)))
(dolist (el org-done-keywords)
(unless (member el org-done-keywords-for-agenda)
(push el org-done-keywords-for-agenda)))
(setq org-todo-keyword-alist-for-agenda
(org--tag-add-to-alist
org-todo-key-alist
org-todo-keyword-alist-for-agenda))
(setq org-tag-alist-for-agenda
(org--tag-add-to-alist
org-current-tag-alist
org-tag-alist-for-agenda))
;; Merge current file's tag groups into global
;; `org-tag-groups-alist-for-agenda'.
(when org-group-tags
(dolist (alist org-tag-groups-alist)
(let ((old (assoc (car alist) org-tag-groups-alist-for-agenda)))
(if old
(setcdr old (org-uniquify (append (cdr old) (cdr alist))))
(push alist org-tag-groups-alist-for-agenda)))))))))
;; Refresh the menu once after loading all the agenda buffers.
(when org-agenda-file-menu-enabled
(org-install-agenda-files-menu))))