diff options
author | Kenichi Handa <handa@etlken> | 2010-05-14 13:15:58 +0900 |
---|---|---|
committer | Kenichi Handa <handa@etlken> | 2010-05-14 13:15:58 +0900 |
commit | ccd3ce49e08b4f0c0e1bcbb34e9055ca4002e21c (patch) | |
tree | 0f53c077154c7cd5f05b339d91905dfd2391679d /lisp/gnus/message.el | |
parent | 82ebc97b11a369303345927c98e7bc69928c9117 (diff) | |
parent | 508197067c434b0111bcb6ded742d424bb738ece (diff) | |
download | emacs-ccd3ce49e08b4f0c0e1bcbb34e9055ca4002e21c.tar.gz emacs-ccd3ce49e08b4f0c0e1bcbb34e9055ca4002e21c.tar.bz2 emacs-ccd3ce49e08b4f0c0e1bcbb34e9055ca4002e21c.zip |
merge trunk
Diffstat (limited to 'lisp/gnus/message.el')
-rw-r--r-- | lisp/gnus/message.el | 62 |
1 files changed, 36 insertions, 26 deletions
diff --git a/lisp/gnus/message.el b/lisp/gnus/message.el index 79a88cd6bd3..947b1bd53e8 100644 --- a/lisp/gnus/message.el +++ b/lisp/gnus/message.el @@ -7161,22 +7161,28 @@ 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) - (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 ((b (point)) + (contents (with-current-buffer forward-buffer (buffer-string))) + e) + (unless (featurep 'xemacs) + (unless (mm-multibyte-string-p contents) + (error "Attempt to insert unibyte string from the buffer \"%s\"\ + to the multibyte buffer \"%s\"" + (if (bufferp forward-buffer) + (buffer-name forward-buffer) + forward-buffer) + (buffer-name)))) + (insert (mm-with-multibyte-buffer + (insert contents) + (mime-to-mml) + (goto-char (point-min)) + (when (looking-at "From ") + (replace-match "X-From-Line: ")) + (buffer-string))) + (unless (bolp) (insert "\n")) (setq e (point)) (insert - "\n-------------------- End of forwarded message --------------------\n") + "-------------------- End of forwarded message --------------------\n") (message-remove-ignored-headers b e))) (defun message-remove-ignored-headers (b e) @@ -7212,18 +7218,22 @@ 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 (with-current-buffer forward-buffer (buffer-string)))) + (unless (featurep 'xemacs) + (unless (mm-multibyte-string-p contents) + (error "Attempt to insert unibyte string from the buffer \"%s\"\ + to the multibyte buffer \"%s\"" + (if (bufferp forward-buffer) + (buffer-name forward-buffer) + forward-buffer) + (buffer-name)))) + (insert (mm-with-multibyte-buffer + (insert contents) + (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) |