diff options
author | Kenichi Handa <handa@m17n.org> | 2011-02-19 18:22:24 +0900 |
---|---|---|
committer | Kenichi Handa <handa@m17n.org> | 2011-02-19 18:22:24 +0900 |
commit | 16bc9688d8ab5e237b2151bc9d16d0ad7f577519 (patch) | |
tree | 373d981139729d8270e13afabd8e24c5e92d3903 /lisp/mail | |
parent | ec2027bfa34a72d3b2127341ded9059176191963 (diff) | |
download | emacs-16bc9688d8ab5e237b2151bc9d16d0ad7f577519.tar.gz |
Fix setting of buffer-file-coding-system for MIME message.
Diffstat (limited to 'lisp/mail')
-rw-r--r-- | lisp/mail/rmail.el | 2 | ||||
-rw-r--r-- | lisp/mail/rmailmm.el | 16 |
2 files changed, 12 insertions, 6 deletions
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 |