changeset 87928:a5b33bf9597c

Merge from gnus--devo--0 Revision: emacs@sv.gnu.org/emacs--devo--0--patch-1009
author Miles Bader <miles@gnu.org>
date Thu, 24 Jan 2008 07:47:38 +0000
parents 6030481eb6c8
children f3349840ec44
files lisp/gnus/ChangeLog lisp/gnus/gnus-art.el lisp/gnus/mm-decode.el lisp/gnus/mml.el
diffstat 4 files changed, 20 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/gnus/ChangeLog	Thu Jan 24 04:50:50 2008 +0000
+++ b/lisp/gnus/ChangeLog	Thu Jan 24 07:47:38 2008 +0000
@@ -1,3 +1,11 @@
+2008-01-23  Katsumi Yamaoka  <yamaoka@jpl.org>
+
+	* gnus-art.el (gnus-insert-mime-button): Don't decode description.
+
+	* mm-decode.el (mm-dissect-buffer): Decode description.
+
+	* mml.el (mml-to-mime): Encode message header first.
+
 2008-01-18  Katsumi Yamaoka  <yamaoka@jpl.org>
 
 	* gnus-art.el (gnus-article-describe-bindings): Make it possible to use
--- a/lisp/gnus/gnus-art.el	Thu Jan 24 04:50:50 2008 +0000
+++ b/lisp/gnus/gnus-art.el	Thu Jan 24 07:47:38 2008 +0000
@@ -5455,9 +5455,7 @@
 	     (mail-content-type-get (mm-handle-type handle) 'url)
 	     ""))
 	(gnus-tmp-type (mm-handle-media-type handle))
-	(gnus-tmp-description
-	 (mail-decode-encoded-word-string (or (mm-handle-description handle)
-					      "")))
+	(gnus-tmp-description (or (mm-handle-description handle) ""))
 	(gnus-tmp-dots
 	 (if (if displayed (car displayed)
 	       (mm-handle-displayed-p handle))
--- a/lisp/gnus/mm-decode.el	Thu Jan 24 04:50:50 2008 +0000
+++ b/lisp/gnus/mm-decode.el	Thu Jan 24 07:47:38 2008 +0000
@@ -570,7 +570,10 @@
 	  ;; creates unibyte buffers. This `if', though not a perfect
 	  ;; solution, avoids most of them.
 	  (if from
-	      (setq from (cadr (mail-extract-address-components from))))))
+	      (setq from (cadr (mail-extract-address-components from))))
+	  (if description
+	      (setq description (mail-decode-encoded-word-string
+				 description)))))
       (if (or (not ctl)
 	      (not (string-match "/" (car ctl))))
 	  (mm-dissect-singlepart
--- a/lisp/gnus/mml.el	Thu Jan 24 04:50:50 2008 +0000
+++ b/lisp/gnus/mml.el	Thu Jan 24 07:47:38 2008 +0000
@@ -875,14 +875,19 @@
 
 (defun mml-to-mime ()
   "Translate the current buffer from MML to MIME."
-  (message-encode-message-body)
+  ;; `message-encode-message-body' will insert an encoded Content-Description
+  ;; header in the message header if the body contains a single part
+  ;; that is specified by a user with a MML tag containing a description
+  ;; token.  So, we encode the message header first to prevent the encoded
+  ;; Content-Description header from being encoded again.
   (save-restriction
     (message-narrow-to-headers-or-head)
     ;; Skip past any From_ headers.
     (while (looking-at "From ")
       (forward-line 1))
     (let ((mail-parse-charset message-default-charset))
-      (mail-encode-encoded-word-buffer))))
+      (mail-encode-encoded-word-buffer)))
+  (message-encode-message-body))
 
 (defun mml-insert-mime (handle &optional no-markup)
   (let (textp buffer mmlp)