aboutsummaryrefslogtreecommitdiffhomepage
path: root/contrib/notmuch-pick/notmuch-pick.el
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/notmuch-pick/notmuch-pick.el')
-rw-r--r--contrib/notmuch-pick/notmuch-pick.el14
1 files changed, 12 insertions, 2 deletions
diff --git a/contrib/notmuch-pick/notmuch-pick.el b/contrib/notmuch-pick/notmuch-pick.el
index 49f298a6..98750c03 100644
--- a/contrib/notmuch-pick/notmuch-pick.el
+++ b/contrib/notmuch-pick/notmuch-pick.el
@@ -675,6 +675,10 @@ unchanged ADDRESS if parsing fails."
(match (plist-get msg :match))
formatted-field)
(cond
+ ((listp field)
+ (setq formatted-field
+ (format format-string (notmuch-pick-format-field-list field msg))))
+
((string-equal field "date")
(let ((face (if match
'notmuch-pick-match-date-face
@@ -722,13 +726,19 @@ unchanged ADDRESS if parsing fails."
'face face)))))
formatted-field))
+(defun notmuch-pick-format-field-list (field-list msg)
+ "Format fields of MSG according to FIELD-LIST and return string"
+ (let (result-string)
+ (dolist (spec field-list result-string)
+ (let ((field-string (notmuch-pick-format-field (car spec) (cdr spec) msg)))
+ (setq result-string (concat result-string field-string))))))
+
(defun notmuch-pick-insert-msg (msg)
"Insert the message MSG according to notmuch-pick-result-format"
;; We need to save the previous subject as it will get overwritten
;; by the insert-field calls.
(let ((previous-subject notmuch-pick-previous-subject))
- (dolist (spec notmuch-pick-result-format)
- (insert (notmuch-pick-format-field (car spec) (cdr spec) msg)))
+ (insert (notmuch-pick-format-field-list notmuch-pick-result-format msg))
(notmuch-pick-set-message-properties msg)
(notmuch-pick-set-prop :previous-subject previous-subject)
(insert "\n")))