diff lisp/gnus/gnus-art.el @ 72605:de654a6735da

Merge from gnus--rel--5.10 Patches applied: * gnus--rel--5.10 (patch 128) - Update from CVS 2006-09-01 Katsumi Yamaoka <yamaoka@jpl.org> * lisp/gnus/rfc2047.el (rfc2047-quote-special-characters-in-quoted-strings): Use standard-syntax-table. 2006-09-01 Katsumi Yamaoka <yamaoka@jpl.org> * lisp/gnus/gnus-art.el (gnus-decode-address-function): New variable. (article-decode-encoded-words): Use it to decode headers which are assumed to contain addresses. (gnus-mime-delete-part): Remove useless `or'. * lisp/gnus/gnus-sum.el (gnus-decode-encoded-address-function): New variable. (gnus-summary-from-or-to-or-newsgroups): Use it to decode To header. (gnus-nov-parse-line): Use it to decode From header. (gnus-get-newsgroup-headers): Ditto. (gnus-summary-enter-digest-group): Use it to decode `to-address'. * lisp/gnus/mail-parse.el (mail-decode-encoded-address-region): New alias. (mail-decode-encoded-address-string): New alias. * lisp/gnus/rfc2047.el (rfc2047-quote-special-characters-in-quoted-strings): New function. (rfc2047-encode-message-header, rfc2047-encode-region): Use it. (rfc2047-strip-backslashes-in-quoted-strings): New fnction. (rfc2047-decode-region): Use it; add optional argument `address-mime'. (rfc2047-decode-string): Ditto. (rfc2047-decode-address-region): New function. (rfc2047-decode-address-string): New function. Revision: emacs@sv.gnu.org/emacs--devo--0--patch-418
author Miles Bader <miles@gnu.org>
date Fri, 01 Sep 2006 23:52:28 +0000
parents cb6e677b13d4
children 87c011891481 c358d0861b16
line wrap: on
line diff
--- a/lisp/gnus/gnus-art.el	Fri Sep 01 20:49:06 2006 +0000
+++ b/lisp/gnus/gnus-art.el	Fri Sep 01 23:52:28 2006 +0000
@@ -853,6 +853,9 @@
 (defvar gnus-decode-header-function 'mail-decode-encoded-word-region
   "Function used to decode headers.")
 
+(defvar gnus-decode-address-function 'mail-decode-encoded-address-region
+  "Function used to decode addresses.")
+
 (defvar gnus-article-dumbquotes-map
   '(("\200" "EUR")
     ("\202" ",")
@@ -2377,10 +2380,23 @@
 			     (set-buffer gnus-summary-buffer)
 			   (error))
 			 gnus-newsgroup-ignored-charsets))
-	(inhibit-read-only t))
+	(inhibit-read-only t)
+	start)
     (save-restriction
       (article-narrow-to-head)
-      (funcall gnus-decode-header-function (point-min) (point-max)))))
+      (while (not (eobp))
+	(setq start (point))
+	(if (prog1
+		(looking-at "\
+\\(?:Resent-\\)?\\(?:From\\|Cc\\|To\\|Bcc\\|\\(?:In-\\)?Reply-To\\|Sender\
+\\|Mail-Followup-To\\|Mail-Copies-To\\|Approved\\):")
+	      (while (progn
+		       (forward-line)
+		       (if (eobp)
+			   nil
+			 (memq (char-after) '(?\t ? ))))))
+	    (funcall gnus-decode-address-function start (point))
+	  (funcall gnus-decode-header-function start (point)))))))
 
 (defun article-decode-group-name ()
   "Decode group names in `Newsgroups:'."
@@ -4324,9 +4340,8 @@
 	   (handles gnus-article-mime-handles)
 	   (none "(none)")
 	   (description
-	    (or
-	     (mail-decode-encoded-word-string (or (mm-handle-description data)
-						  none))))
+	    (mail-decode-encoded-word-string (or (mm-handle-description data)
+						 none)))
 	   (filename
 	    (or (mail-content-type-get (mm-handle-disposition data) 'filename)
 		none))