-(defmacro with-current-notmuch-pick-message (&rest body)
- "Evaluate body with current buffer set to the text of current message"
- `(save-excursion
- (let ((id (notmuch-pick-get-message-id)))
- (let ((buf (generate-new-buffer (concat "*notmuch-msg-" id "*"))))
- (with-current-buffer buf
- (call-process notmuch-command nil t nil "show" "--format=raw" id)
- ,@body)
- (kill-buffer buf)))))
-
-(defun notmuch-pick-new-mail (&optional prompt-for-sender)
- "Compose new mail."
- (interactive "P")
- (notmuch-pick-close-message-window)
- (notmuch-mua-new-mail prompt-for-sender ))
-
-(defun notmuch-pick-forward-message (&optional prompt-for-sender)
- "Forward the current message."
- (interactive "P")
- (notmuch-pick-close-message-window)
- (with-current-notmuch-pick-message
- (notmuch-mua-new-forward-message prompt-for-sender)))
-
-(defun notmuch-pick-reply (&optional prompt-for-sender)
- "Reply to the sender and all recipients of the current message."
- (interactive "P")
- (notmuch-pick-close-message-window)
- (notmuch-mua-new-reply (notmuch-pick-get-message-id) prompt-for-sender t))
-
-(defun notmuch-pick-reply-sender (&optional prompt-for-sender)
- "Reply to the sender of the current message."
- (interactive "P")
- (notmuch-pick-close-message-window)
- (notmuch-mua-new-reply (notmuch-pick-get-message-id) prompt-for-sender nil))
-