summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Monnier <monnier@iro.umontreal.ca>2010-01-22 11:43:54 -0500
committerStefan Monnier <monnier@iro.umontreal.ca>2010-01-22 11:43:54 -0500
commitc893016b07f33eb8d56e1011245fe59a67cb4ee0 (patch)
tree8e00fe18bf610d186ce51caee9a0efb646a786aa
parent9425f8e1b3b40adc297376007992cb680ef5e0ec (diff)
downloademacs-c893016b07f33eb8d56e1011245fe59a67cb4ee0.tar.gz
* mail/rmailmm.el (rmail-mime-handle): Don't set the buffer to unibyte
just because we see "encoding: 8bit". * mail/rmail.el (rmail-show-message-1): Decode the body's QP into bytes.
-rw-r--r--lisp/ChangeLog6
-rw-r--r--lisp/mail/mail-utils.el2
-rw-r--r--lisp/mail/rmail.el3
-rw-r--r--lisp/mail/rmailmm.el5
4 files changed, 14 insertions, 2 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index ab76ac74d5e..c59ecbae67b 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,9 @@
+2010-01-22 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * mail/rmailmm.el (rmail-mime-handle): Don't set the buffer to unibyte
+ just because we see "encoding: 8bit".
+ * mail/rmail.el (rmail-show-message-1): Decode the body's QP into bytes.
+
2010-01-22 Chong Yidong <cyd@stupidchicken.com>
* isearch.el (isearch-allow-scroll): Doc fix (Bug#5446).
diff --git a/lisp/mail/mail-utils.el b/lisp/mail/mail-utils.el
index 3bca0b23a8c..5fad3554ae5 100644
--- a/lisp/mail/mail-utils.el
+++ b/lisp/mail/mail-utils.el
@@ -133,6 +133,8 @@ If NOERROR is non-nil, return t if successful.
If UNIBYTE is non-nil, insert converted characters as unibyte.
That is useful if you are going to character code decoding afterward,
as Rmail does."
+ ;; FIXME: `unibyte' should always be non-nil, and the iso-latin-1
+ ;; specific handling should be removed (or moved elsewhere and generalized).
(interactive "r\nP")
(let (failed)
(save-match-data
diff --git a/lisp/mail/rmail.el b/lisp/mail/rmail.el
index 67ea3fdc158..20a03ede965 100644
--- a/lisp/mail/rmail.el
+++ b/lisp/mail/rmail.el
@@ -2727,7 +2727,8 @@ The current mail message becomes the message displayed."
(insert-buffer-substring mbox-buf body-start end)
(cond
((string= character-coding "quoted-printable")
- (mail-unquote-printable-region (point-min) (point-max)))
+ (mail-unquote-printable-region (point-min) (point-max)
+ nil nil 'unibyte))
((and (string= character-coding "base64") is-text-message)
(base64-decode-region (point-min) (point-max)))
((eq character-coding 'uuencode)
diff --git a/lisp/mail/rmailmm.el b/lisp/mail/rmailmm.el
index e87f72a2e47..415bc20cf50 100644
--- a/lisp/mail/rmailmm.el
+++ b/lisp/mail/rmailmm.el
@@ -361,7 +361,10 @@ The parsed header value:
(setq content-transfer-encoding nil))
((string= content-transfer-encoding "8bit")
;; FIXME: Is this the correct way?
- (set-buffer-multibyte nil)))
+ ;; No, of course not, it just means there's no decoding to do.
+ ;; (set-buffer-multibyte nil)
+ (setq content-transfer-encoding nil)
+ ))
;; Inline stuff requires work. Attachments are handled by the bulk
;; handler.
(if (string= "inline" (car content-disposition))