From: David Bremner Date: Mon, 2 May 2016 00:11:45 +0000 (-0300) Subject: Merge emacs bug fixes from release X-Git-Url: http://rtime.felk.cvut.cz/gitweb/notmuch.git/commitdiff_plain/0777828745740dd070192b305171574c460e42ca?hp=e3e03fb718de9790bc9b7a78210f42559bff24e5 Merge emacs bug fixes from release --- diff --git a/emacs/notmuch-lib.el b/emacs/notmuch-lib.el index 78978ee3..f05ded6f 100644 --- a/emacs/notmuch-lib.el +++ b/emacs/notmuch-lib.el @@ -23,6 +23,7 @@ ;;; Code: +(require 'mm-util) (require 'mm-view) (require 'mm-decode) (require 'cl) @@ -572,7 +573,20 @@ the given type." ,@(when process-crypto '("--decrypt")) ,(notmuch-id-to-query (plist-get msg :id)))) (coding-system-for-read - (if binaryp 'no-conversion 'utf-8))) + (if binaryp 'no-conversion + (let ((coding-system (mm-charset-to-coding-system + (plist-get part :content-charset)))) + ;; Sadly, + ;; `mm-charset-to-coding-system' seems + ;; to return things that are not + ;; considered acceptable values for + ;; `coding-system-for-read'. + (if (coding-system-p coding-system) + coding-system + ;; RFC 2047 says that the default + ;; charset is US-ASCII. RFC6657 + ;; complicates this somewhat. + 'us-ascii))))) (apply #'call-process notmuch-command nil '(t nil) nil args) (buffer-string)))))) (when (and cache data) diff --git a/emacs/notmuch-mua.el b/emacs/notmuch-mua.el index 04459750..399e1380 100644 --- a/emacs/notmuch-mua.el +++ b/emacs/notmuch-mua.el @@ -338,7 +338,10 @@ modified. This function is notmuch addaptation of ;; We need to convert any string input, eg from rmail-start-mail. (dolist (h other-headers other-headers) (if (stringp (car h)) (setcar h (intern (capitalize (car h)))))))) - (args (list yank-action send-actions))) + (args (list yank-action send-actions)) + ;; Cause `message-setup-1' to do things relevant for mail, + ;; such as observe `message-default-mail-headers'. + (message-this-is-mail t)) ;; message-setup-1 in Emacs 23 does not accept return-action ;; argument. Pass it only if it is supplied by the caller. This ;; will never be the case when we're called by `compose-mail' in