Synch with Gnus trunk.
authorKatsumi Yamaoka <yamaoka@jpl.org>
Mon, 10 May 2010 03:31:29 +0000 (03:31 +0000)
committerKatsumi Yamaoka <yamaoka@jpl.org>
Mon, 10 May 2010 03:31:29 +0000 (03:31 +0000)
(message-forward-make-body-plain, message-forward-make-body-mml):
 Don't use mm-with-unibyte-current-buffer.

lisp/ChangeLog
lisp/message.el

index 8638151..78c7023 100644 (file)
@@ -1,3 +1,9 @@
+2010-05-10  Katsumi Yamaoka  <yamaoka@jpl.org>
+
+       * message.el (message-forward-make-body-plain)
+       (message-forward-make-body-mml):
+       Don't use mm-with-unibyte-current-buffer.
+
 2010-05-07  Stefan Monnier  <monnier@iro.umontreal.ca>
 
        * dns-mode.el (auto-mode-alist): Add entry for .zone files.
index 6b8b0f5..38f55a2 100644 (file)
@@ -7134,14 +7134,20 @@ Optional DIGEST will use digest to forward."
 (defun message-forward-make-body-plain (forward-buffer)
   (insert
    "\n-------------------- Start of forwarded message --------------------\n")
-  (let ((b (point)) e)
+  (let ((b (point))
+       contents multibyte-p e)
+    (with-current-buffer forward-buffer
+      (setq contents (buffer-string)
+           multibyte-p (mm-multibyte-p)))
     (insert
      (with-temp-buffer
-       (mm-disable-multibyte)
-       (insert
-       (with-current-buffer forward-buffer
-         (mm-with-unibyte-current-buffer (buffer-string))))
-       (mm-enable-multibyte)
+       (if multibyte-p
+          (progn
+            (mm-enable-multibyte)
+            (insert contents))
+        (mm-disable-multibyte)
+        (insert contents)
+        (mm-enable-multibyte))
        (mime-to-mml)
        (goto-char (point-min))
        (when (looking-at "From ")
@@ -7185,18 +7191,24 @@ Optional DIGEST will use digest to forward."
   (insert "\n\n<#mml type=message/rfc822 disposition=inline>\n")
   (let ((b (point)) e)
     (if (not message-forward-decoded-p)
-       (insert
-        (with-temp-buffer
-          (mm-disable-multibyte)
-          (insert
-           (with-current-buffer forward-buffer
-             (mm-with-unibyte-current-buffer (buffer-string))))
-          (mm-enable-multibyte)
-          (mime-to-mml)
-          (goto-char (point-min))
-          (when (looking-at "From ")
-            (replace-match "X-From-Line: "))
-          (buffer-string)))
+       (let (contents multibyte-p)
+         (with-current-buffer forward-buffer
+           (setq contents (buffer-string)
+                 multibyte-p (mm-multibyte-p)))
+         (insert
+          (with-temp-buffer
+            (if multibyte-p
+                (progn
+                  (mm-enable-multibyte)
+                  (insert contents))
+              (mm-disable-multibyte)
+              (insert contents)
+              (mm-enable-multibyte))
+            (mime-to-mml)
+            (goto-char (point-min))
+            (when (looking-at "From ")
+              (replace-match "X-From-Line: "))
+            (buffer-string))))
       (save-restriction
        (narrow-to-region (point) (point))
        (mml-insert-buffer forward-buffer)