diff lisp/gnus/message.el @ 65719:5265a4059126

Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-564 Merge from gnus--rel--5.10 Patches applied: * gnus--rel--5.10 (patch 125-127) - Merge from emacs--cvs-trunk--0 - Update from CVS 2005-09-27 Reiner Steib <Reiner.Steib@gmx.de> * lisp/gnus/mm-uu.el (mm-uu-emacs-sources-regexp): Make variable customizable. Change default value. (mm-uu-diff-groups-regexp): Change default value. (mm-uu-type-alist): Added doc string. (mm-uu-configure): Added doc string. Make it interactive. (mm-uu-diff-groups-regexp): Fix missing quotes from previous commit. 2005-09-27 Simon Josefsson <jas@extundo.com> * lisp/gnus/message.el (message-idna-to-ascii-rhs-1): Reformat. 2005-09-27 Arne J,Ax(Brgensen <arne@arnested.dk> * lisp/gnus/message.el (message-remove-duplicates): New function. Implementation borrowed from `gnus-remove-duplicates'. (message-idna-to-ascii-rhs): Also encode idna addresses in Reply-To:, Mail-Reply-To: and Mail-Followup-To:. (message-idna-to-ascii-rhs-1): When `message-use-idna' is 'ask only ask about the same idna domain once per header and also tell in what header to replace the idna domain. * lisp/gnus/gnus-art.el (article-decode-idna-rhs): Also decode idna addresses in Reply-To:, Mail-Reply-To: and Mail-Followup-To:. (article-decode-idna-rhs): Fix regexp so that all idna-address in a header is decoded and not just the last one. 2005-09-27 Katsumi Yamaoka <yamaoka@jpl.org> * lisp/gnus/gnus-art.el (gnus-mime-display-single): Don't modify text if it has been decoded. * lisp/gnus/mm-decode.el (mm-insert-part): Don't modify text if it has been decoded. * lisp/gnus/mm-view.el (mm-inline-text): Don't strip text props unless decoding enriched or richtext parts. 2005-09-26 Katsumi Yamaoka <yamaoka@jpl.org> * man/gnus.texi (Server Buffer Format): Document the %a format spec.
author Miles Bader <miles@gnu.org>
date Wed, 28 Sep 2005 05:26:02 +0000
parents c16795de963a
children 8e46fef0174c
line wrap: on
line diff
--- a/lisp/gnus/message.el	Wed Sep 28 00:50:55 2005 +0000
+++ b/lisp/gnus/message.el	Wed Sep 28 05:26:02 2005 +0000
@@ -2030,6 +2030,14 @@
 
 ;;; End of functions adopted from `message-utils.el'.
 
+(defun message-remove-duplicates (list)
+  (let (new)
+    (while list
+      (or (member (car list) new)
+	  (setq new (cons (car list) new)))
+      (setq list (cdr list)))
+    (nreverse new)))
+
 (defun message-remove-header (header &optional is-regexp first reverse)
   "Remove HEADER in the narrowed buffer.
 If IS-REGEXP, HEADER is a regular expression.
@@ -4957,13 +4965,17 @@
   (let ((field (message-fetch-field header))
 	rhs ace  address)
     (when field
-      (dolist (address (mail-header-parse-addresses field))
-	(setq address (car address)
-	      rhs (downcase (or (cadr (split-string address "@")) ""))
-	      ace (downcase (idna-to-ascii rhs)))
+      (dolist (rhs
+	       (message-remove-duplicates
+		(mapcar (lambda (rhs) (or (cadr (split-string rhs "@")) ""))
+			(mapcar 'downcase
+				(mapcar
+				 'car (mail-header-parse-addresses field))))))
+	(setq ace (downcase (idna-to-ascii rhs)))
 	(when (and (not (equal rhs ace))
 		   (or (not (eq message-use-idna 'ask))
-		       (y-or-n-p (format "Replace %s with %s? " rhs ace))))
+		       (y-or-n-p (format "Replace %s with %s in %s:? "
+					 rhs ace header))))
 	  (goto-char (point-min))
 	  (while (re-search-forward (concat "^" header ":") nil t)
 	    (message-narrow-to-field)
@@ -4982,6 +4994,9 @@
 	(message-narrow-to-head)
 	(message-idna-to-ascii-rhs-1 "From")
 	(message-idna-to-ascii-rhs-1 "To")
+	(message-idna-to-ascii-rhs-1 "Reply-To")
+	(message-idna-to-ascii-rhs-1 "Mail-Reply-To")
+	(message-idna-to-ascii-rhs-1 "Mail-Followup-To")
 	(message-idna-to-ascii-rhs-1 "Cc")))))
 
 (defun message-generate-headers (headers)