From 2b1216b212947dc91ee6c7990fdbead9f51d670a Mon Sep 17 00:00:00 2001 From: Lars Magne Ingebrigtsen Date: Sat, 14 Feb 2015 16:42:41 +1100 Subject: [PATCH] Don't mark nnimap articles as read on a server hangup * nnimap.el (nnimap-retrieve-headers): If the server closes connection during header retrieval, error out instead of interpreting the data in the buffer as the only messages there. This way, we don't mark articles as read on a server hangup (bug#19035). --- lisp/ChangeLog | 5 +++++ lisp/nnimap.el | 2 ++ 2 files changed, 7 insertions(+) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 9f93a3031..91643d195 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,5 +1,10 @@ 2015-02-14 Lars Ingebrigtsen + * nnimap.el (nnimap-retrieve-headers): If the server closes connection + during header retrieval, error out instead of interpreting the data in + the buffer as the only messages there. This way, we don't mark + articles as read on a server hangup (bug#19035). + * mm-decode.el (mm-head-p): New function. (mm-display-part): Go to a blank line when inserting parts internally. diff --git a/lisp/nnimap.el b/lisp/nnimap.el index e7f91b7cc..d8b49f7f0 100644 --- a/lisp/nnimap.el +++ b/lisp/nnimap.el @@ -196,6 +196,8 @@ textual parts.") (nnimap-article-ranges (gnus-compress-sequence articles)) (nnimap-header-parameters)) t) + (unless (process-live-p (get-buffer-process (current-buffer))) + (error "Server closed connection")) (nnimap-transform-headers) (nnheader-remove-cr-followed-by-lf)) (insert-buffer-substring -- 2.25.1