diff options
author | Austin Clements <amdragon@MIT.EDU> | 2012-07-09 17:42:34 -0400 |
---|---|---|
committer | David Bremner <bremner@debian.org> | 2012-07-12 17:38:34 -0600 |
commit | bbc74d98f51449c5cd18dec71658f29cdf9777a4 (patch) | |
tree | 9689f4989fd6c6d5362a8796d5fbe6c6987460f5 /emacs | |
parent | 898128b9f449431886420710b571eacebbb6dd4b (diff) |
emacs: Clean up notmuch-search-show-result
This simplifies the code and makes it no longer cubic in the number of
result fields.
Diffstat (limited to 'emacs')
-rw-r--r-- | emacs/notmuch.el | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/emacs/notmuch.el b/emacs/notmuch.el index c6236db..8ad0b68 100644 --- a/emacs/notmuch.el +++ b/emacs/notmuch.el @@ -707,29 +707,30 @@ non-authors is found, assume that all of the authors match." (overlay-put overlay 'isearch-open-invisible #'delete-overlay))) (insert padding)))) -(defun notmuch-search-insert-field (field date count authors subject tags) +(defun notmuch-search-insert-field (field format-string date count authors subject tags) (cond ((string-equal field "date") - (insert (propertize (format (cdr (assoc field notmuch-search-result-format)) date) + (insert (propertize (format format-string date) 'face 'notmuch-search-date))) ((string-equal field "count") - (insert (propertize (format (cdr (assoc field notmuch-search-result-format)) count) + (insert (propertize (format format-string count) 'face 'notmuch-search-count))) ((string-equal field "subject") - (insert (propertize (format (cdr (assoc field notmuch-search-result-format)) subject) + (insert (propertize (format format-string subject) 'face 'notmuch-search-subject))) ((string-equal field "authors") - (notmuch-search-insert-authors (cdr (assoc field notmuch-search-result-format)) authors)) + (notmuch-search-insert-authors format-string authors)) ((string-equal field "tags") + ;; Ignore format-string here because notmuch-search-set-tags + ;; depends on the format of this (insert (concat "(" (propertize tags 'font-lock-face 'notmuch-tag-face) ")"))))) (defun notmuch-search-show-result (date count authors subject tags) - (let ((fields) (field)) - (setq fields (mapcar 'car notmuch-search-result-format)) - (loop for field in fields - do (notmuch-search-insert-field field date count authors subject tags))) + (dolist (spec notmuch-search-result-format) + (notmuch-search-insert-field (car spec) (cdr spec) + date count authors subject tags)) (insert "\n")) (defun notmuch-search-process-filter (proc string) |