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.