* gnus-art.el (gnus-insert-mime-button): Don't decode description.
authorKatsumi Yamaoka <yamaoka@jpl.org>
Wed, 23 Jan 2008 07:48:31 +0000 (07:48 +0000)
committerKatsumi Yamaoka <yamaoka@jpl.org>
Wed, 23 Jan 2008 07:48:31 +0000 (07:48 +0000)
* mm-decode.el (mm-dissect-buffer): Decode description.

* mml.el (mml-to-mime): Encode message header first.

lisp/ChangeLog
lisp/gnus-art.el
lisp/mm-decode.el
lisp/mml.el

index 3550def..aa9cd67 100644 (file)
@@ -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
index 6e41f41..f93a304 100644 (file)
@@ -5455,9 +5455,7 @@ N is the numerical prefix."
             (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))
index 8e88ffc..f832a9c 100644 (file)
@@ -570,7 +570,10 @@ Postpone undisplaying of viewers for types in
          ;; 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
index 04f8ef4..2b5987e 100644 (file)
@@ -875,14 +875,19 @@ If HANDLES is non-nil, use it instead reparsing the buffer."
 
 (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)