summaryrefslogtreecommitdiff
path: root/lisp/gnus/gnus-sum.el
diff options
context:
space:
mode:
authorLars Ingebrigtsen <larsi@gnus.org>2019-07-09 17:30:22 +0200
committerLars Ingebrigtsen <larsi@gnus.org>2019-07-09 18:44:43 +0200
commit2e4b885478421ea7512ffa9d51d7892fafaae99d (patch)
tree703a26a2a1d55ee5ee60f1dde9ff84e0e74f523f /lisp/gnus/gnus-sum.el
parenta9d6ba49d5cc11fd921c796d2e4ad2d47121d34f (diff)
downloademacs-2e4b885478421ea7512ffa9d51d7892fafaae99d.tar.gz
Don't try to save articles in Gnus that have disappeared
* lisp/gnus/gnus-sum.el (gnus-summary-save-article): Stop trying to save articles if the articles have disappeared (bug#35188).
Diffstat (limited to 'lisp/gnus/gnus-sum.el')
-rw-r--r--lisp/gnus/gnus-sum.el14
1 files changed, 9 insertions, 5 deletions
diff --git a/lisp/gnus/gnus-sum.el b/lisp/gnus/gnus-sum.el
index acc4132c27b..7f6b936383c 100644
--- a/lisp/gnus/gnus-sum.el
+++ b/lisp/gnus/gnus-sum.el
@@ -12188,11 +12188,15 @@ performed."
(save-window-excursion
(gnus-summary-select-article decode decode nil article)
(gnus-summary-goto-subject article))
- (with-current-buffer save-buffer
- (erase-buffer)
- (insert-buffer-substring (if decode
- gnus-article-buffer
- gnus-original-article-buffer)))
+ ;; The article may have expired.
+ (let ((art-buf (if decode
+ gnus-article-buffer
+ gnus-original-article-buffer)))
+ (when (zerop (buffer-size (get-buffer art-buf)))
+ (error "Couldn't select article %s" article))
+ (with-current-buffer save-buffer
+ (erase-buffer)
+ (insert-buffer-substring art-buf)))
(setq file (gnus-article-save save-buffer file num))
(gnus-summary-remove-process-mark article)
(unless not-saved