diff lisp/gnus/mm-decode.el @ 59690:0017dfb224ef

Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-47 Merge from gnus--rel--5.10 Patches applied: * miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-4 Merge from emacs--cvs-trunk--0 * miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-5 Update from CVS: exi/gnus-faq.texi ([4.1]): Typo. * miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-6 Update from CVS 2005-01-20 Katsumi Yamaoka <yamaoka@jpl.org> * lisp/gnus/mm-decode.el (mm-insert-part): Switch the multibyteness of data which will be inserted according to the multibyteness of a buffer rather than the type of contents. Suggested by ARISAWA Akihiro <ari@mbf.ocn.ne.jp>. 2005-01-16 Xavier Maillard <zedek@gnu-rox.org> (tiny change) * man/gnus-faq.texi ([4.1]): Typo.
author Miles Bader <miles@gnu.org>
date Sat, 22 Jan 2005 21:07:03 +0000
parents df80d19d7a2e
children aac0a33f5772 6d92d69fae33
line wrap: on
line diff
--- a/lisp/gnus/mm-decode.el	Sat Jan 22 15:54:04 2005 +0000
+++ b/lisp/gnus/mm-decode.el	Sat Jan 22 21:07:03 2005 +0000
@@ -1,5 +1,5 @@
 ;;; mm-decode.el --- Functions for decoding MIME things
-;; Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004
+;; Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
 ;;        Free Software Foundation, Inc.
 
 ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
@@ -1032,27 +1032,10 @@
 
 (defun mm-insert-part (handle)
   "Insert the contents of HANDLE in the current buffer."
-  (let ((cur (current-buffer)))
-    (save-excursion
-      (if (member (mm-handle-media-supertype handle) '("text" "message"))
-	  (with-temp-buffer
-	    (insert-buffer-substring (mm-handle-buffer handle))
-	    (prog1
-		(mm-decode-content-transfer-encoding
-		 (mm-handle-encoding handle)
-		 (mm-handle-media-type handle))
-	      (let ((temp (current-buffer)))
-		(set-buffer cur)
-		(insert-buffer-substring temp))))
-	(mm-with-unibyte-buffer
-	  (insert-buffer-substring (mm-handle-buffer handle))
-	  (prog1
-	      (mm-decode-content-transfer-encoding
-	       (mm-handle-encoding handle)
-	       (mm-handle-media-type handle))
-	    (let ((temp (current-buffer)))
-	      (set-buffer cur)
-	      (insert-buffer-substring temp))))))))
+  (save-excursion
+    (insert (if (mm-multibyte-p)
+		(mm-string-as-multibyte (mm-get-part handle))
+	      (mm-get-part handle)))))
 
 (defun mm-file-name-delete-whitespace (file-name)
   "Remove all whitespace characters from FILE-NAME."