From dd671f8c18d1e6d739bb668fa3c2482af9c3f81a Mon Sep 17 00:00:00 2001 From: Craig Jennings Date: Sat, 23 May 2026 03:53:10 -0500 Subject: docs(mail): clarify message-kill-buffer-on-exit ownership mail-config.el set message-kill-buffer-on-exit to t in mu4e's config and nil in org-msg's, with no note on which wins. org-msg-mode runs in every compose buffer, so org-msg's nil is the effective policy: compose buffers are kept, not killed. The org-msg comment said "always kill buffers on exit", which is backwards. I rewrote both comments. The mu4e t is the plain-mu4e fallback that only matters if org-msg is ever disabled, and org-msg owns the live policy of keeping a draft buffer on exit so an in-progress HTML message isn't lost. No behavior change. --- modules/mail-config.el | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'modules') diff --git a/modules/mail-config.el b/modules/mail-config.el index 4dbd6fb2..6702adb7 100644 --- a/modules/mail-config.el +++ b/modules/mail-config.el @@ -131,7 +131,11 @@ Prompts user for the action when executing." (setq mail-user-agent 'mu4e-user-agent) ;; default to mu4e for email (setq message-citation-line-format "On %a %d %b %Y at %R, %f wrote:\n") ;; helps show up properly in Outlook/Gmail threads (setq message-citation-line-function 'message-insert-formatted-citation-line) - (setq message-kill-buffer-on-exit t) ;; don't keep message buffers around + ;; Plain-mu4e default: kill the compose buffer on send/exit. org-msg is the + ;; active composer (org-msg-mode is enabled in every compose buffer), and its + ;; :config overrides this to nil. So this value only takes effect if org-msg + ;; is ever disabled. + (setq message-kill-buffer-on-exit t) (setq mu4e-change-filenames-when-moving t) ;; avoid gmail dup UID issues: https://goo.gl/RTCgVa (setq mu4e-completing-read-function 'completing-read) ;; use generic completing read, rather than ido (setq mu4e-compose-context-policy 'ask) ;; ask for context if no context matches @@ -436,7 +440,9 @@ Prompts user for the action when executing." ;; enforce css usage; default renders too small (setq org-msg-enforce-css t) - ;; always kill buffers on exit + ;; org-msg owns the final compose-buffer policy: keep the buffer on exit + ;; (nil = don't kill) so an in-progress HTML draft isn't lost when it's buried + ;; or switched away from. This overrides the plain-mu4e default set above. (setq message-kill-buffer-on-exit nil) ;; Override just the problematic styles with important tags -- cgit v1.2.3