]> git.eshelyaron.com Git - emacs.git/commitdiff
* mail/rmailmm.el (rmail-mime-handle): Don't set the buffer to unibyte
authorStefan Monnier <monnier@iro.umontreal.ca>
Fri, 22 Jan 2010 16:43:54 +0000 (11:43 -0500)
committerStefan Monnier <monnier@iro.umontreal.ca>
Fri, 22 Jan 2010 16:43:54 +0000 (11:43 -0500)
just because we see "encoding: 8bit".
* mail/rmail.el (rmail-show-message-1): Decode the body's QP into bytes.

lisp/ChangeLog
lisp/mail/mail-utils.el
lisp/mail/rmail.el
lisp/mail/rmailmm.el

index ab76ac74d5e538bd25afe615a725c276373d7f9e..c59ecbae67b6c52549485888c116f4d51bd094a4 100644 (file)
@@ -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).
index 3bca0b23a8c41ad406a00f214079caf34aa860cf..5fad3554ae5f292c0c6ba88d522cfcc28afc1a46 100644 (file)
@@ -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
index 67ea3fdc1587b9ee70522b2badd956e7bf075ebe..20a03ede965ab488549850854c70c3bf2911a79c 100644 (file)
@@ -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)
index e87f72a2e47151bd899d130ab1064e421233b53f..415bc20cf504a40c7e661a5ceeed81afe03492e7 100644 (file)
@@ -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))