summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKenichi Handa <handa@m17n.org>2011-02-19 18:22:24 +0900
committerKenichi Handa <handa@m17n.org>2011-02-19 18:22:24 +0900
commit16bc9688d8ab5e237b2151bc9d16d0ad7f577519 (patch)
tree373d981139729d8270e13afabd8e24c5e92d3903
parentec2027bfa34a72d3b2127341ded9059176191963 (diff)
downloademacs-16bc9688d8ab5e237b2151bc9d16d0ad7f577519.tar.gz
Fix setting of buffer-file-coding-system for MIME message.
-rw-r--r--lisp/ChangeLog8
-rw-r--r--lisp/mail/rmail.el2
-rw-r--r--lisp/mail/rmailmm.el16
3 files changed, 20 insertions, 6 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 8caa24c1f40..e0c9f552c9f 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,11 @@
+2011-02-19 Kenichi Handa <handa@m17n.org>
+
+ * mail/rmailmm.el (rmail-mime-find-header-encoding): Be sure to
+ get the header copy into the temporary buffer.
+ (rmail-mime-insert-decoded-text): Ignore us-ascii.
+ (rmail-show-mime): When rmail-mime-coding-system is nil, set
+ buffer-file-coding-system to undecided.
+
2011-02-18 Eli Zaretskii <eliz@gnu.org>
* image-mode.el (image-toggle-display-image): Disable
diff --git a/lisp/mail/rmail.el b/lisp/mail/rmail.el
index 370999dabf8..fc4b642e8bb 100644
--- a/lisp/mail/rmail.el
+++ b/lisp/mail/rmail.el
@@ -4287,7 +4287,7 @@ With prefix argument N moves forward N messages with these labels.
;;;***
-;;;### (autoloads (rmail-mime) "rmailmm" "rmailmm.el" "7f6ad821b4543a18139fee9250beea5c")
+;;;### (autoloads (rmail-mime) "rmailmm" "rmailmm.el" "9c0902449733cabd5c7e7d17092a7c69")
;;; Generated autoloads from rmailmm.el
(autoload 'rmail-mime "rmailmm" "\
diff --git a/lisp/mail/rmailmm.el b/lisp/mail/rmailmm.el
index d6af925d461..e44dd877e4f 100644
--- a/lisp/mail/rmailmm.el
+++ b/lisp/mail/rmailmm.el
@@ -471,10 +471,11 @@ See `rmail-mime-entity' for the detail."
HEADER is a header component of a MIME-entity object (see
`rmail-mime-entity')."
(with-temp-buffer
- (let ((last-coding-system-used nil))
+ (let ((buf (current-buffer)))
(with-current-buffer rmail-mime-mbox-buffer
- (let ((rmail-buffer rmail-mime-mbox-buffer)
- (rmail-view-buffer rmail-mime-view-buffer))
+ (let ((last-coding-system-used nil)
+ (rmail-buffer rmail-mime-mbox-buffer)
+ (rmail-view-buffer buf))
(save-excursion
(goto-char (aref header 0))
(rmail-copy-headers (point) (aref header 1)))))
@@ -513,7 +514,9 @@ HEADER is a header component of a MIME-entity object (see
((string= transfer-encoding "quoted-printable")
(quoted-printable-decode-region pos (point))))))
(decode-coding-region pos (point) coding-system)
- (if (or (not rmail-mime-coding-system) (consp rmail-mime-coding-system))
+ (if (and
+ (or (not rmail-mime-coding-system) (consp rmail-mime-coding-system))
+ (not (eq (coding-system-base coding-system) 'us-ascii)))
(setq rmail-mime-coding-system coding-system))
(or (bolp) (insert "\n"))))
@@ -1301,7 +1304,10 @@ attachments as specfied by `rmail-mime-attachment-dirs-alist'."
(rmail-mime-find-header-encoding
(rmail-mime-entity-header entity)))))
(set-buffer-file-coding-system
- (coding-system-base rmail-mime-coding-system) t t))
+ (if rmail-mime-coding-system
+ (coding-system-base rmail-mime-coding-system)
+ 'undecided)
+ t t))
;; Decoding failed. ENTITY is an error message. Insert the
;; original message body as is, and show warning.
(let ((region (with-current-buffer rmail-mime-mbox-buffer