[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/org bc33c0133d: lisp/org.el: Save restrictions in all a
From: |
ELPA Syncer |
Subject: |
[elpa] externals/org bc33c0133d: lisp/org.el: Save restrictions in all agenda file buffers |
Date: |
Sun, 10 Jul 2022 06:57:44 -0400 (EDT) |
branch: externals/org
commit bc33c0133d1e8761a439c34c378ca929391cfa62
Author: Al Haji-Ali <abdo.haji.ali@gmail.com>
Commit: Ihor Radchenko <yantar92@gmail.com>
lisp/org.el: Save restrictions in all agenda file buffers
* lisp/org.el (org-agenda-prepare-buffers): Call
`org-with-wide-buffer' for every buffer in the agenda, instead of
calling `save-excursion'/'`save-restrictions' just for the current
buffer, to save restrictions in all buffers. Use
`with-current-buffer' instead of `save-excursion'/'`set-buffer'.
See
https://list.orgmode.org/orgmode/87y1x588rs.fsf@thinkpad.mail-host-address-is-not-set/
TINYCHANGE
---
lisp/org.el | 78 +++++++++++++++++++++++++++++--------------------------------
1 file changed, 37 insertions(+), 41 deletions(-)
diff --git a/lisp/org.el b/lisp/org.el
index 661efeb9c9..3d4de5b4f6 100644
--- a/lisp/org.el
+++ b/lisp/org.el
@@ -15031,49 +15031,45 @@ When a buffer is unmodified, it is just killed. When
modified, it is saved
"Create buffers for all agenda files, protect archived trees and comments."
(interactive)
(let ((inhibit-read-only t)
- (org-inhibit-startup org-agenda-inhibit-startup)
- pos)
+ (org-inhibit-startup org-agenda-inhibit-startup))
(setq org-tag-alist-for-agenda nil
org-tag-groups-alist-for-agenda nil)
- (save-excursion
- (save-restriction
- (dolist (file files)
- (catch 'nextfile
- (if (bufferp file)
- (set-buffer file)
- (org-check-agenda-file file)
- (set-buffer (org-get-agenda-file-buffer file)))
- (widen)
- (org-set-regexps-and-options 'tags-only)
- (setq pos (point))
- (or (memq 'category org-agenda-ignore-properties)
- (org-refresh-category-properties))
- (or (memq 'stats org-agenda-ignore-properties)
- (org-refresh-stats-properties))
- (or (memq 'effort org-agenda-ignore-properties)
- (unless org-element-use-cache
- (org-refresh-effort-properties)))
- (or (memq 'appt org-agenda-ignore-properties)
- (org-refresh-properties "APPT_WARNTIME" 'org-appt-warntime))
- (setq org-todo-keywords-for-agenda
- (append org-todo-keywords-for-agenda org-todo-keywords-1))
- (setq org-done-keywords-for-agenda
- (append org-done-keywords-for-agenda org-done-keywords))
- (setq org-todo-keyword-alist-for-agenda
- (append org-todo-keyword-alist-for-agenda org-todo-key-alist))
- (setq org-tag-alist-for-agenda
- (org--tag-add-to-alist
- org-tag-alist-for-agenda
- org-current-tag-alist))
- ;; 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)))))
- (goto-char pos)))))
+ (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 'category org-agenda-ignore-properties)
+ (org-refresh-category-properties))
+ (or (memq 'stats org-agenda-ignore-properties)
+ (org-refresh-stats-properties))
+ (or (memq 'effort org-agenda-ignore-properties)
+ (unless org-element-use-cache
+ (org-refresh-effort-properties)))
+ (or (memq 'appt org-agenda-ignore-properties)
+ (org-refresh-properties "APPT_WARNTIME" 'org-appt-warntime))
+ (setq org-todo-keywords-for-agenda
+ (append org-todo-keywords-for-agenda org-todo-keywords-1))
+ (setq org-done-keywords-for-agenda
+ (append org-done-keywords-for-agenda org-done-keywords))
+ (setq org-todo-keyword-alist-for-agenda
+ (append org-todo-keyword-alist-for-agenda org-todo-key-alist))
+ (setq org-tag-alist-for-agenda
+ (org--tag-add-to-alist
+ org-tag-alist-for-agenda
+ org-current-tag-alist))
+ ;; 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)))))))))
(setq org-todo-keywords-for-agenda
(org-uniquify org-todo-keywords-for-agenda))
(setq org-todo-keyword-alist-for-agenda
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [elpa] externals/org bc33c0133d: lisp/org.el: Save restrictions in all agenda file buffers,
ELPA Syncer <=