Subject: bug#26862: Quit Gnus prompts about unsent messages, but messages can't be saved as drafts

From: Katsumi Yamaoka <[email-masked]>
Date: Wed, 10 May 2017 18:42:33 +0900

On Wed, 10 May 2017 11:59:44 +0800, Eric Abrahamsen wrote:
> What I mean is:

> 1. With unfinished/unsent messages open, you quit Gnus.
> 2. Gnus says you have unsent messages, quit anyway?
> 3. You say no.
> 4. You go to the unsaved message, and run "C-c C-d" to save as draft.
> 5. Gnus says "selecting deleted buffer"
> 6. You can't save the draft.

> I'll probably get around to figuring this out, but I'm hanging it up
> here in the meantime.

It seems hard to make `C-c C-d' work in such a case.  Instead,
how about killing those modified message buffers unconditionally?

--- gnus-start.el~	2017-04-02 22:09:06.371709200 +0000
+++ gnus-start.el	2017-05-10 09:37:13.366771900 +0000
@@ -732,6 +732,9 @@
   (gnus-kill-buffer nntp-server-buffer)
   ;; Kill Gnus buffers.
   (dolist (buffer (gnus-buffers))
+    (when (gnus-buffer-exists-p buffer)
+      (with-current-buffer buffer
+	(set-buffer-modified-p nil)))
     (gnus-kill-buffer buffer))
   ;; Remove Gnus frames.
   (gnus-kill-gnus-frames))