From 8038d2d2900195ee31941abe6d3b5df2ed7f75d9 Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Tue, 22 Nov 2011 23:41:17 -0800 Subject: [PATCH] Rmail trivia: give explicit errors for empty folders. * mail/rmail.el (rmail-forward): * mail/rmailkwd.el (rmail-set-label): * mail/rmailout.el (rmail-output, rmail-output-as-seen) (rmail-output-body-to-file): Give error if no message. Fixes: debbugs:10082 --- lisp/ChangeLog | 5 +++++ lisp/mail/rmail.el | 2 ++ lisp/mail/rmailkwd.el | 3 ++- lisp/mail/rmailout.el | 6 ++++++ 4 files changed, 15 insertions(+), 1 deletion(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 54813759298..2a154b65890 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,5 +1,10 @@ 2011-11-23 Glenn Morris + * mail/rmail.el (rmail-forward): + * mail/rmailkwd.el (rmail-set-label): + * mail/rmailout.el (rmail-output, rmail-output-as-seen) + (rmail-output-body-to-file): Give error if no message. (Bug#10082) + * mail/rmail.el (rmail-current-message): Doc fix. * mail/rmail.el (rmail-message-filter): Mark as obsolete. (Bug#2624) diff --git a/lisp/mail/rmail.el b/lisp/mail/rmail.el index 6e79c5c82b1..b920c065de5 100644 --- a/lisp/mail/rmail.el +++ b/lisp/mail/rmail.el @@ -3786,6 +3786,8 @@ which is an element of rmail-msgref-vector." With prefix argument, \"resend\" the message instead of forwarding it; see the documentation of `rmail-resend'." (interactive "P") + (if (zerop rmail-current-message) + (error "No message to forward")) (if resend (call-interactively 'rmail-resend) (let ((forward-buffer rmail-buffer) diff --git a/lisp/mail/rmailkwd.el b/lisp/mail/rmailkwd.el index 73542578bf6..472740aefd8 100644 --- a/lisp/mail/rmailkwd.el +++ b/lisp/mail/rmailkwd.el @@ -96,7 +96,8 @@ LABEL may be a symbol or string." (error "More than one label specified")) (with-current-buffer rmail-buffer (rmail-maybe-set-message-counters) - (or msg (setq msg rmail-current-message)) + (if (zerop (or msg (setq msg rmail-current-message))) + (error "No message")) ;; Force recalculation of summary for this message. (aset rmail-summary-vector (1- msg) nil) (let (attr-index) diff --git a/lisp/mail/rmailout.el b/lisp/mail/rmailout.el index c168ca9d8f5..ad76a493483 100644 --- a/lisp/mail/rmailout.el +++ b/lisp/mail/rmailout.el @@ -468,6 +468,8 @@ from a non-Rmail buffer. In this case, COUNT is ignored." (if rmail-buffer (set-buffer rmail-buffer) (error "There is no Rmail buffer")) + (if (zerop rmail-total-messages) + (error "No messages to output")) (let ((orig-count count) beg end) (while (> count 0) @@ -533,6 +535,8 @@ so you should call `rmail-output' directly in that case." (if rmail-buffer (set-buffer rmail-buffer) (error "There is no Rmail buffer")) + (if (zerop rmail-total-messages) + (error "No messages to output")) (let ((orig-count count) (cur (current-buffer))) (while (> count 0) @@ -594,6 +598,8 @@ than appending to it. Deletes the message after writing if (expand-file-name file-name (and rmail-default-body-file (file-name-directory rmail-default-body-file)))) + (if (zerop rmail-current-message) + (error "No message to output")) (save-excursion (goto-char (point-min)) (search-forward "\n\n") -- 2.11.4.GIT