aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMiles Bader <[email protected]>2009-03-03 02:32:23 +0000
committerMiles Bader <[email protected]>2009-03-03 02:32:23 +0000
commit9cdff61311b9407d724c5923c1e2d15ac2c781fc (patch)
tree836ea5fc455660267530b59fd3d038e9e5271660
parent86c507f71d7bf49796f8b83715d1a0a854c91038 (diff)
Merge from gnus--devo--0
Revision: [email protected]/emacs--devo--0--patch-1561
-rw-r--r--lisp/gnus/ChangeLog4
-rw-r--r--lisp/gnus/mml.el15
2 files changed, 15 insertions, 4 deletions
diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog
index a99b2fd552..b21bad407f 100644
--- a/lisp/gnus/ChangeLog
+++ b/lisp/gnus/ChangeLog
@@ -1,3 +1,7 @@
+2009-03-02 Katsumi Yamaoka <[email protected]>
+
+ * mml.el (mml-insert-mime): Don't break parts that mm-uu dissected.
+
2009-02-25 Katsumi Yamaoka <[email protected]>
* gnus-dired.el: Remove autoload for gnus-setup-message.
diff --git a/lisp/gnus/mml.el b/lisp/gnus/mml.el
index e682b1b069..6028ce8b20 100644
--- a/lisp/gnus/mml.el
+++ b/lisp/gnus/mml.el
@@ -898,10 +898,17 @@ If HANDLES is non-nil, use it instead reparsing the buffer."
(unless (setq textp (equal (mm-handle-media-supertype handle) "text"))
(save-excursion
(set-buffer (setq buffer (mml-generate-new-buffer " *mml*")))
- (mm-insert-part handle 'no-cache)
- (if (setq mmlp (equal (mm-handle-media-type handle)
- "message/rfc822"))
- (mime-to-mml)))))
+ (if (eq (mail-content-type-get (mm-handle-type handle) 'charset)
+ 'gnus-decoded)
+ ;; A part that mm-uu dissected from a non-MIME message
+ ;; because of `gnus-article-emulate-mime'.
+ (progn
+ (mm-enable-multibyte)
+ (insert-buffer-substring (mm-handle-buffer handle)))
+ (mm-insert-part handle 'no-cache)
+ (if (setq mmlp (equal (mm-handle-media-type handle)
+ "message/rfc822"))
+ (mime-to-mml))))))
(if mmlp
(mml-insert-mml-markup handle nil t t)
(unless (and no-markup