;; Helper for parts which are generally not included in the default
;; JSON output.
-(defun notmuch-get-bodypart-internal (message-id part-number process-crypto)
+(defun notmuch-get-bodypart-internal (query part-number process-crypto)
(let ((args '("show" "--format=raw"))
(part-arg (format "--part=%s" part-number)))
(setq args (append args (list part-arg)))
(if process-crypto
(setq args (append args '("--decrypt"))))
- (setq args (append args (list message-id)))
+ (setq args (append args (list query)))
(with-temp-buffer
(let ((coding-system-for-read 'no-conversion))
(progn
(or (plist-get part :content)
(notmuch-get-bodypart-internal (notmuch-id-to-query (plist-get msg :id)) nth process-crypto)))
-(defun notmuch-plist-to-alist (plist)
+;; Converts a plist of headers to an alist of headers. The input plist should
+;; have symbols of the form :Header as keys, and the resulting alist will have
+;; symbols of the form 'Header as keys.
+(defun notmuch-headers-plist-to-alist (plist)
(loop for (key value . rest) on plist by #'cddr
- collect (cons (substring (symbol-name key) 1) value)))
+ collect (cons (intern (substring (symbol-name key) 1)) value)))
;; Compatibility functions for versions of emacs before emacs 23.
;;