# HG changeset patch # User Stefan Monnier # Date 1264178634 18000 # Node ID a1e356d208cdc2190379f4b8ab51abaf19b0d5a9 # Parent 5acc26d2cc11aa5dbed0e2d5e1014a6b6a6449c2 * 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. diff -r 5acc26d2cc11 -r a1e356d208cd lisp/ChangeLog --- a/lisp/ChangeLog Fri Jan 22 11:32:31 2010 -0500 +++ b/lisp/ChangeLog Fri Jan 22 11:43:54 2010 -0500 @@ -1,3 +1,9 @@ +2010-01-22 Stefan Monnier + + * 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 * isearch.el (isearch-allow-scroll): Doc fix (Bug#5446). diff -r 5acc26d2cc11 -r a1e356d208cd lisp/mail/mail-utils.el --- a/lisp/mail/mail-utils.el Fri Jan 22 11:32:31 2010 -0500 +++ b/lisp/mail/mail-utils.el Fri Jan 22 11:43:54 2010 -0500 @@ -133,6 +133,8 @@ 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 -r 5acc26d2cc11 -r a1e356d208cd lisp/mail/rmail.el --- a/lisp/mail/rmail.el Fri Jan 22 11:32:31 2010 -0500 +++ b/lisp/mail/rmail.el Fri Jan 22 11:43:54 2010 -0500 @@ -2727,7 +2727,8 @@ (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 -r 5acc26d2cc11 -r a1e356d208cd lisp/mail/rmailmm.el --- a/lisp/mail/rmailmm.el Fri Jan 22 11:32:31 2010 -0500 +++ b/lisp/mail/rmailmm.el Fri Jan 22 11:43:54 2010 -0500 @@ -361,7 +361,10 @@ (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))