Mercurial > emacs
changeset 5047:1ada11e2d89a
(rmail-set-attribute): Do nothing if MSGNUM is 0.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Tue, 16 Nov 1993 08:45:56 +0000 |
parents | 6edbd7807a6e |
children | d3b5893da958 |
files | lisp/mail/rmail.el |
diffstat | 1 files changed, 25 insertions(+), 24 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/mail/rmail.el Tue Nov 16 08:44:51 1993 +0000 +++ b/lisp/mail/rmail.el Tue Nov 16 08:45:56 1993 +0000 @@ -1109,30 +1109,31 @@ (omin (point-min-marker)) (buffer-read-only nil)) (or msgnum (setq msgnum rmail-current-message)) - (unwind-protect - (save-excursion - (widen) - (goto-char (+ 3 (rmail-msgbeg msgnum))) - (let ((curstate - (not - (null (search-backward (concat ", " attr ",") - (prog1 (point) (end-of-line)) t))))) - (or (eq curstate (not (not state))) - (if curstate - (delete-region (point) (1- (match-end 0))) - (beginning-of-line) - (forward-char 2) - (insert " " attr ",")))) - (if (string= attr "deleted") - (rmail-set-message-deleted-p msgnum state))) - ;; Note: we don't use save-restriction because that does not work right - ;; if changes are made outside the saved restriction - ;; before that restriction is restored. - (narrow-to-region omin omax) - (set-marker omin nil) - (set-marker omax nil) - (if (= msgnum rmail-current-message) - (rmail-display-labels))))) + (if (> msgnum 0) + (unwind-protect + (save-excursion + (widen) + (goto-char (+ 3 (rmail-msgbeg msgnum))) + (let ((curstate + (not + (null (search-backward (concat ", " attr ",") + (prog1 (point) (end-of-line)) t))))) + (or (eq curstate (not (not state))) + (if curstate + (delete-region (point) (1- (match-end 0))) + (beginning-of-line) + (forward-char 2) + (insert " " attr ",")))) + (if (string= attr "deleted") + (rmail-set-message-deleted-p msgnum state))) + ;; Note: we don't use save-restriction because that does not work right + ;; if changes are made outside the saved restriction + ;; before that restriction is restored. + (narrow-to-region omin omax) + (set-marker omin nil) + (set-marker omax nil) + (if (= msgnum rmail-current-message) + (rmail-display-labels)))))) ;; Return t if the attributes/keywords line of msg number MSG ;; contains a match for the regexp LABELS.