]> rtime.felk.cvut.cz Git - notmuch.git/commitdiff
Merge emacs bug fixes from release
authorDavid Bremner <david@tethera.net>
Mon, 2 May 2016 00:11:45 +0000 (21:11 -0300)
committerDavid Bremner <david@tethera.net>
Mon, 2 May 2016 00:11:45 +0000 (21:11 -0300)
emacs/notmuch-lib.el
emacs/notmuch-mua.el

index 78978ee34c9b806438c3fd9c497a11c11f9eb41c..f05ded6f36df7941a9dea189382bdd250ff5e14d 100644 (file)
@@ -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)
index 04459750073c582370d87fa3b743d22dad972e5f..399e1380df02a8ac2d0caae38179ad675135866f 100644 (file)
@@ -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