diff lisp/gnus/message.el @ 100197:3076f8588570

(message-idna-to-ascii-rhs-1): Fix previous commit. (message-idna-to-ascii-rhs): Add a comment. Suggested by RMS.
author Katsumi Yamaoka <yamaoka@jpl.org>
date Wed, 03 Dec 2008 23:49:00 +0000
parents 8c2641057470
children a9dc0e7c3f2b
line wrap: on
line diff
--- a/lisp/gnus/message.el	Wed Dec 03 21:57:10 2008 +0000
+++ b/lisp/gnus/message.el	Wed Dec 03 23:49:00 2008 +0000
@@ -5635,14 +5635,13 @@
       (dolist (rhs
 	       (mm-delete-duplicates
 		(mapcar (lambda (rhs) (or (cadr (split-string rhs "@")) ""))
-			(mapcar (lambda (domain)
-				  (if domain
-				      (downcase domain)
-				    ""))
+			(mapcar 'downcase
 				(mapcar
 				 'cadr
 				 (mail-extract-address-components field t))))))
-	(setq ace (if (string-match "\\`[[:ascii:]]+\\'" rhs)
+	;; Note that `rhs' will be "" if the address does not have
+	;; the domain part, i.e., if it is a local user's address.
+	(setq ace (if (string-match "\\`[[:ascii:]]*\\'" rhs)
 		      rhs
 		    (downcase (idna-to-ascii rhs))))
 	(when (and (not (equal rhs ace))
@@ -5664,6 +5663,12 @@
   (when message-use-idna
     (save-excursion
       (save-restriction
+	;; `message-narrow-to-head' that recognizes only the first empty
+	;; line as the message header separator used to be used here.
+	;; However, since there is the "--text follows this line--" line
+	;; normally, it failed in narrowing to the headers and potentially
+	;; caused the IDNA encoding on lines that look like headers in
+	;; the message body.
 	(message-narrow-to-headers-or-head)
 	(message-idna-to-ascii-rhs-1 "From")
 	(message-idna-to-ascii-rhs-1 "To")