From e76f894476566b3374a9bf01c12a062c4ff1b1bb Mon Sep 17 00:00:00 2001 From: Tassilo Horn Date: Sun, 3 Jan 2021 12:41:22 +0100 Subject: [PATCH] Fix Selecting deleted buffer when quitting mu4e --- mu4e/mu4e-utils.el | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/mu4e/mu4e-utils.el b/mu4e/mu4e-utils.el index cd4d5b71..6043dd6c 100644 --- a/mu4e/mu4e-utils.el +++ b/mu4e/mu4e-utils.el @@ -856,10 +856,16 @@ When successful, call FUNC (if non-nil) afterwards." ;; kill all mu4e buffers (mapc (lambda (buf) - (with-current-buffer buf - (when (member major-mode - '(mu4e-headers-mode mu4e-view-mode mu4e-main-mode)) - (kill-buffer)))) + ;; When using mu4e-view-use-gnus, the view buffer has the kill-buffer-hook + ;; function mu4e~view-kill-buffer-hook-fn which kills the mm-* buffers + ;; created by Gnus' article mode. Those have been returned by + ;; `buffer-list' but might already be deleted in case the view buffer has + ;; been killed first. So we need a `buffer-live-p' check here. + (when (buffer-live-p buf) + (with-current-buffer buf + (when (member major-mode + '(mu4e-headers-mode mu4e-view-mode mu4e-main-mode)) + (kill-buffer))))) (buffer-list))) (defun mu4e~maildirs-with-query ()