From 1137ce11e11f031d30e6684cd56f0ec5654a3d97 Mon Sep 17 00:00:00 2001
From: David Bremner <bremner@unb.ca>
Date: Thu, 11 Feb 2010 22:44:10 -0400
Subject: [PATCH] Add functions notmuch-show-get-(bcc, cc, date, from, subject,
 to).

Return the corresponding header field for the current message as a
string.  These are thin wrappers around notmuch-show-get-header, which
means they each cause a full parse of the RFC822 header. The main idea
is to fix an api.
---
 notmuch.el | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/notmuch.el b/notmuch.el
index 977ee278..342ce6ab 100644
--- a/notmuch.el
+++ b/notmuch.el
@@ -225,6 +225,38 @@ Unlike builtin `previous-line' this version accepts no arguments."
     (re-search-forward notmuch-show-tags-regexp)
     (split-string (buffer-substring (match-beginning 1) (match-end 1)))))
 
+(defun notmuch-show-get-bcc ()
+  "Return BCC address(es) of current message"
+  (notmuch-show-get-header-field 'bcc))
+
+(defun notmuch-show-get-cc ()
+  "Return CC address(es) of current message"
+  (notmuch-show-get-header-field 'cc))
+
+(defun notmuch-show-get-date ()
+  "Return Date of current message"
+  (notmuch-show-get-header-field 'date))
+
+(defun notmuch-show-get-from ()
+  "Return From address of current message"
+  (notmuch-show-get-header-field 'from))
+
+(defun notmuch-show-get-subject ()
+  "Return Subject of current message"
+  (notmuch-show-get-header-field 'subject))
+
+(defun notmuch-show-get-to ()
+  "Return To address(es) of current message"
+  (notmuch-show-get-header-field 'to))
+
+(defun notmuch-show-get-header-field (name)
+  "Retrieve the header field NAME from the current message.
+NAME should be a symbol, in lower case, as returned by
+mail-header-extract-no-properties"
+  (let* ((result (assoc name (notmuch-show-get-header)))
+        (val (and result (cdr result))))
+    val))
+
 (defun notmuch-show-get-header ()
   "Retrieve and parse the header from the current message. Returns an alist with of (header . value)
 where header is a symbol and value is a string.  The summary from notmuch-show is returned as the
-- 
2.45.2