From 16bc9688d8ab5e237b2151bc9d16d0ad7f577519 Mon Sep 17 00:00:00 2001 From: Kenichi Handa Date: Sat, 19 Feb 2011 18:22:24 +0900 Subject: Fix setting of buffer-file-coding-system for MIME message. --- lisp/mail/rmail.el | 2 +- lisp/mail/rmailmm.el | 16 +++++++++++----- 2 files changed, 12 insertions(+), 6 deletions(-) (limited to 'lisp/mail') diff --git a/lisp/mail/rmail.el b/lisp/mail/rmail.el index 370999dabf..fc4b642e8b 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 d6af925d46..e44dd877e4 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 -- cgit v1.2.3