From: Lars Magne Ingebrigtsen Date: Sun, 15 Feb 2015 23:11:41 +0000 (+0000) Subject: Don't mark nnimap articles as read on a server hangup X-Git-Tag: emacs-25.0.90~2564^2~372 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=0d38b2f403fa873159138b194c0d45bc4c7e61cc;p=emacs.git Don't mark nnimap articles as read on a server hangup * lisp/gnus/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). --- diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog index b9ae796782d..7910d74fb15 100644 --- a/lisp/gnus/ChangeLog +++ b/lisp/gnus/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/gnus/nnimap.el b/lisp/gnus/nnimap.el index e7f91b7cc33..4a9ca744b9f 100644 --- a/lisp/gnus/nnimap.el +++ b/lisp/gnus/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