diff lisp/gnus/gnus-art.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 01b85ec4a61d b1c1fc853d2f
line wrap: on
line diff
--- a/lisp/gnus/gnus-art.el	Wed Sep 28 00:50:55 2005 +0000
+++ b/lisp/gnus/gnus-art.el	Wed Sep 28 05:26:02 2005 +0000
@@ -2333,20 +2333,22 @@
 (autoload 'idna-to-unicode "idna")
 
 (defun article-decode-idna-rhs ()
-  "Decode IDNA strings in RHS in From:, To: and Cc: headers in current buffer."
+  "Decode IDNA strings in RHS in various headers in current buffer.
+The following headers are decoded: From:, To:, Cc:, Reply-To:,
+Mail-Reply-To: and Mail-Followup-To:."
   (when gnus-use-idna
     (save-restriction
       (let ((inhibit-point-motion-hooks t)
 	    (inhibit-read-only t))
 	(article-narrow-to-head)
 	(goto-char (point-min))
-	(while (re-search-forward "@.*\\(xn--[-A-Za-z0-9.]*\\)[ \t\n\r,>]" nil t)
+	(while (re-search-forward "@[^ \t\n\r,>]*\\(xn--[-A-Za-z0-9.]*\\)[ \t\n\r,>]" nil t)
 	  (let (ace unicode)
 	    (when (save-match-data
 		    (and (setq ace (match-string 1))
 			 (save-excursion
 			   (and (re-search-backward "^[^ \t]" nil t)
-				(looking-at "From\\|To\\|Cc")))
+				(looking-at "From\\|To\\|Cc\\|Reply-To\\|Mail-Reply-To\\|Mail-Followup-To")))
 			 (setq unicode (idna-to-unicode ace))))
 	      (unless (string= ace unicode)
 		(replace-match unicode nil nil nil 1)))))))))
@@ -4864,14 +4866,17 @@
 	      (forward-line -1)
 	      (setq beg (point)))
 	    (gnus-article-insert-newline)
-	    (mm-insert-inline handle
-			      (let ((charset
-				     (mail-content-type-get
-				      (mm-handle-type handle) 'charset)))
-				(if (eq charset 'gnus-decoded)
-				    (mm-get-part handle)
-				  (mm-decode-string (mm-get-part handle)
-						    charset))))
+	    (mm-insert-inline
+	     handle
+	     (let ((charset (mail-content-type-get (mm-handle-type handle)
+						   'charset)))
+	       (cond ((not charset)
+		      (mm-string-as-multibyte (mm-get-part handle)))
+		     ((eq charset 'gnus-decoded)
+		      (with-current-buffer (mm-handle-buffer handle)
+			(buffer-string)))
+		     (t
+		      (mm-decode-string (mm-get-part handle) charset)))))
 	    (goto-char (point-max))))
 	  ;; Do highlighting.
 	  (save-excursion