changeset 21195:169fde4a67c1

(rmail-clear-headers): Make sure an empty line still separates the headers from the body.
author Richard M. Stallman <rms@gnu.org>
date Mon, 16 Mar 1998 18:11:20 +0000
parents 7a7950ffa79b
children 0ad514a44245
files lisp/mail/rmail.el
diffstat 1 files changed, 30 insertions(+), 29 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/mail/rmail.el	Mon Mar 16 08:05:58 1998 +0000
+++ b/lisp/mail/rmail.el	Mon Mar 16 18:11:20 1998 +0000
@@ -1657,35 +1657,36 @@
 Otherwise, if `rmail-displayed-headers' is non-nil,
 delete all header fields *except* those whose names match that regexp.
 Otherwise, delete all header fields whose names match `rmail-ignored-headers'."
-  (if (search-forward "\n\n" nil t)
-      (let ((case-fold-search t)
-	    (buffer-read-only nil))
-	(if (and rmail-displayed-headers (null ignored-headers))
-	    (save-restriction
-	      (narrow-to-region (point-min) (point))
-	      (let (lim next)
-		(goto-char (point-min))
-		(while (and (not (eobp))
-			    (save-excursion
-			      (if (re-search-forward "\n[^ \t]" nil t)
-				  (setq lim (match-beginning 0)
-					next (1+ lim))
-				(setq lim nil next (point-max)))))
-		  (if (save-excursion
-			(re-search-forward rmail-displayed-headers lim t))
-		      (goto-char next)
-		    (delete-region (point) next))))
-	      (goto-char (point-min)))
-	  (or ignored-headers (setq ignored-headers rmail-ignored-headers))
-	  (save-restriction
-	    (narrow-to-region (point-min) (point))
-	    (while (progn
-		     (goto-char (point-min))
-		     (re-search-forward ignored-headers nil t))
-	      (beginning-of-line)
-	      (delete-region (point)
-			     (progn (re-search-forward "\n[^ \t]")
-				    (1- (point))))))))))
+  (when (search-forward "\n\n" nil t)
+    (forward-char -1)
+    (let ((case-fold-search t)
+	  (buffer-read-only nil))
+      (if (and rmail-displayed-headers (null ignored-headers))
+	(save-restriction
+	  (narrow-to-region (point-min) (point))
+	  (let (lim next)
+	    (goto-char (point-min))
+	    (while (and (not (eobp))
+			(save-excursion
+			  (if (re-search-forward "\n[^ \t]" nil t)
+			    (setq lim (match-beginning 0)
+				  next (1+ lim))
+			    (setq lim nil next (point-max)))))
+	      (if (save-excursion
+		    (re-search-forward rmail-displayed-headers lim t))
+		(goto-char next)
+		(delete-region (point) next))))
+	  (goto-char (point-min)))
+	(or ignored-headers (setq ignored-headers rmail-ignored-headers))
+	(save-restriction
+	  (narrow-to-region (point-min) (point))
+	  (while (progn
+		   (goto-char (point-min))
+		   (re-search-forward ignored-headers nil t))
+	    (beginning-of-line)
+	    (delete-region (point)
+			   (progn (re-search-forward "\n[^ \t]")
+				  (1- (point))))))))))
 
 (defun rmail-msg-is-pruned ()
   (rmail-maybe-set-message-counters)