summaryrefslogtreecommitdiff
path: root/lisp/gnus
diff options
context:
space:
mode:
authorKatsumi Yamaoka <yamaoka@jpl.org>2017-05-11 05:49:45 +0000
committerKatsumi Yamaoka <yamaoka@jpl.org>2017-05-11 05:49:45 +0000
commit4b35dd653d35ba95c4d304bee69b69d41301ec3b (patch)
tree140c5307d64b48e17c939e6262715be154cffd1d /lisp/gnus
parent7df0777945efbab390cad0e87b92dd92e0d1853f (diff)
downloademacs-4b35dd653d35ba95c4d304bee69b69d41301ec3b.tar.gz
emacs-4b35dd653d35ba95c4d304bee69b69d41301ec3b.tar.bz2
emacs-4b35dd653d35ba95c4d304bee69b69d41301ec3b.zip
Kill modified buffers silently when quitting (bug#26862)
* lisp/gnus/gnus-start.el (gnus-clear-system): Run do-auto-save to make sure that latest drafts are saved, and kill modified buffers silently.
Diffstat (limited to 'lisp/gnus')
-rw-r--r--lisp/gnus/gnus-start.el6
1 files changed, 6 insertions, 0 deletions
diff --git a/lisp/gnus/gnus-start.el b/lisp/gnus/gnus-start.el
index 90f3cb48c27..aaa8ab9a888 100644
--- a/lisp/gnus/gnus-start.el
+++ b/lisp/gnus/gnus-start.el
@@ -731,7 +731,13 @@ the first newsgroup."
(kill-buffer (get-file-buffer (gnus-newsgroup-kill-file nil))))
(gnus-kill-buffer nntp-server-buffer)
;; Kill Gnus buffers.
+ (do-auto-save t)
(dolist (buffer (gnus-buffers))
+ (when (gnus-buffer-exists-p buffer)
+ (with-current-buffer buffer
+ (set-buffer-modified-p nil)
+ (when (local-variable-p 'kill-buffer-hook)
+ (setq kill-buffer-hook nil))))
(gnus-kill-buffer buffer))
;; Remove Gnus frames.
(gnus-kill-gnus-frames))