Створення сьогоднішнього порядку денного в Org-Mode ( C-c a a
) відкриває файли в org-agenda-files
. Я не хочу, щоб Emacs відкривав ці додаткові буфери.
Чи є простий спосіб сказати Emacs не відкривати ці буфери? (чи те саме, що автоматично закривати їх, якщо вони не були відкриті перед тим, як викликати порядок денний?).
ОНОВЛЕННЯ:
Це більш компактна версія рішення, надана @lawlist:
(require 'dash)
(defun my-org-keep-quiet (orig-fun &rest args)
(let ((buffers-pre (-filter #'get-file-buffer (org-agenda-files))))
(apply orig-fun args)
(let* ((buffers-post (-filter #'get-file-buffer (org-agenda-files)))
(buffers-new (-difference buffers-post buffers-pre)))
(mapcar (lambda (file) (kill-buffer (get-file-buffer file))) buffers-new))))
(advice-add 'org-agenda-list :around #'my-org-keep-quiet)
(advice-add 'org-search-view :around #'my-org-keep-quiet)
(advice-add 'org-tags-view :around #'my-org-keep-quiet)
На жаль, це все ще не ідеально, оскільки зараз натискання на подію в порядку денному не відкриває відповідний файл org.