summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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