From b6e25993582bfb11798c690eeeffe4de37dcafc7 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Fri, 11 May 2018 20:16:19 +0200 Subject: [PATCH] lang/org: change recentf/persp clobbering fix --- modules/lang/org/config.el | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/modules/lang/org/config.el b/modules/lang/org/config.el index 709fc382a..ad59e30df 100644 --- a/modules/lang/org/config.el +++ b/modules/lang/org/config.el @@ -319,10 +319,14 @@ between the two." (t . ,(cond (IS-MAC "open -R \"%s\"") (IS-LINUX "xdg-open \"%s\""))))) - (after! recentf - ;; Don't clobber recentf with agenda files - (defun +org-is-agenda-file (filename) - (cl-find (file-truename filename) org-agenda-files - :key #'file-truename - :test #'equal)) - (push #'+org-is-agenda-file recentf-exclude))) + ;; Don't clobber recentf or current workspace with agenda files + (defun +org|exclude-agenda-buffers-from-workspace () + (let (persp-autokill-buffer-on-remove) + (persp-remove-buffer org-agenda-new-buffers (get-current-persp) nil))) + (add-hook 'org-agenda-finalize-hook #'+org|exclude-agenda-buffers-from-workspace) + + (defun +org*exclude-agenda-buffers-from-recentf (orig-fn &rest args) + (let ((recentf-exclude (list (lambda (_file) t)))) + (apply orig-fn args))) + (advice-add #'org-get-agenda-file-buffer + :around #'+org*exclude-agenda-buffers-from-recentf))