changeset 50502:c94093d2e642

(rmail-make-basic-summary-line): If there's no From field, still try to use the To field.
author Richard M. Stallman <rms@gnu.org>
date Wed, 09 Apr 2003 01:31:31 +0000
parents 3bf63c244c44
children 7c83c5770cb6
files lisp/mail/rmailsum.el
diffstat 1 files changed, 46 insertions(+), 43 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/mail/rmailsum.el	Wed Apr 09 01:30:40 2003 +0000
+++ b/lisp/mail/rmailsum.el	Wed Apr 09 01:31:31 2003 +0000
@@ -396,49 +396,52 @@
 		    (t "??????"))))
 	  "  "
 	  (save-excursion
-	    (if (not (re-search-forward "^From:[ \t]*" nil t))
-		"                         "
-	      (let* ((from (mail-strip-quoted-names
-			    (buffer-substring
-			     (1- (point))
-			     ;; Get all the lines of the From field
-			     ;; so that we get a whole comment if there is one,
-			     ;; so that mail-strip-quoted-names can discard it.
-			     (let ((opoint (point)))
-			       (while (progn (forward-line 1)
-					     (looking-at "[ \t]")))
-			       ;; Back up over newline, then trailing spaces or tabs
-			       (forward-char -1)
-			       (skip-chars-backward " \t")
-			       (point)))))
-                     len mch lo)
-		(if (string-match
-		     (or rmail-user-mail-address-regexp
-			 (concat "^\\("
-				 (regexp-quote (user-login-name))
-				 "\\($\\|@\\)\\|"
-				 (regexp-quote
-				  ;; Don't lose if run from init file
-				  ;; where user-mail-address is not
-				  ;; set yet.
-				  (or user-mail-address
-				      (concat (user-login-name) "@"
-					      (or mail-host-address
-						  (system-name)))))
-				 "\\>\\)"))
-		     from)
-		    (save-excursion
-		      (goto-char (point-min))
-		      (if (not (re-search-forward "^To:[ \t]*" nil t))
-			  nil
-			(setq from
-			      (concat "to: "
-				      (mail-strip-quoted-names
-				       (buffer-substring
-					(point)
-					(progn (end-of-line)
-					       (skip-chars-backward " \t")
-					       (point)))))))))
+	    (let* ((from (and (re-search-forward "^From:[ \t]*" nil t)
+			      (mail-strip-quoted-names
+			       (buffer-substring
+				(1- (point))
+				;; Get all the lines of the From field
+				;; so that we get a whole comment if there is one,
+				;; so that mail-strip-quoted-names can discard it.
+				(let ((opoint (point)))
+				  (while (progn (forward-line 1)
+						(looking-at "[ \t]")))
+				  ;; Back up over newline, then trailing spaces or tabs
+				  (forward-char -1)
+				  (skip-chars-backward " \t")
+				  (point))))))
+		   len mch lo)
+	      (if (or (null from)
+		      (string-match
+		       (or rmail-user-mail-address-regexp
+			   (concat "^\\("
+				   (regexp-quote (user-login-name))
+				   "\\($\\|@\\)\\|"
+				   (regexp-quote
+				    ;; Don't lose if run from init file
+				    ;; where user-mail-address is not
+				    ;; set yet.
+				    (or user-mail-address
+					(concat (user-login-name) "@"
+						(or mail-host-address
+						    (system-name)))))
+				   "\\>\\)"))
+		       from))
+		  ;; No From field, or it's this user.
+		  (save-excursion
+		    (goto-char (point-min))
+		    (if (not (re-search-forward "^To:[ \t]*" nil t))
+			nil
+		      (setq from
+			    (concat "to: "
+				    (mail-strip-quoted-names
+				     (buffer-substring
+				      (point)
+				      (progn (end-of-line)
+					     (skip-chars-backward " \t")
+					     (point)))))))))
+	      (if (null from)
+		  "                         "
 		(setq len (length from))
 		(setq mch (string-match "[@%]" from))
 		(format "%25s"