From 1ee429406bc24055d18ab0dfaee5f29b8fbc301d Mon Sep 17 00:00:00 2001 From: Tim Ruffing Date: Tue, 9 Jan 2024 23:14:40 +0100 Subject: [PATCH] fix(org): restart org-mode before indirect buffer Fix: #5714 --- modules/lang/org/config.el | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/modules/lang/org/config.el b/modules/lang/org/config.el index 9f614017b..6d162f428 100644 --- a/modules/lang/org/config.el +++ b/modules/lang/org/config.el @@ -852,6 +852,17 @@ can grow up to be fully-fledged org-mode buffers." (add-hook 'doom-switch-buffer-hook #'+org--restart-mode-h nil 'local)))))) + (defadvice! +org--restart-mode-before-indirect-buffer-a (base-buffer &rest _) + "Restart `org-mode' in buffers in which the mode has been deferred (see +`+org-defer-mode-in-agenda-buffers-h') before they become the base buffer for an +indirect buffer. This ensures that the buffer is fully functional not only when +the *user* visits it, but also when some code interacts with it via an indirect +buffer as done, e.g., by `org-capture'." + :before #'make-indirect-buffer + (with-current-buffer base-buffer + (when (memq #'+org--restart-mode-h doom-switch-buffer-hook) + (+org--restart-mode-h)))) + (defvar recentf-exclude) (defadvice! +org--optimize-backgrounded-agenda-buffers-a (fn file) "Prevent temporarily opened agenda buffers from polluting recentf."