From: Austin Clements Date: Mon, 9 Jul 2012 21:42:34 +0000 (-0400) Subject: emacs: Clean up notmuch-search-show-result X-Git-Tag: 0.14~66 X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=commitdiff_plain;h=bbc74d98f51449c5cd18dec71658f29cdf9777a4 emacs: Clean up notmuch-search-show-result This simplifies the code and makes it no longer cubic in the number of result fields. --- diff --git a/emacs/notmuch.el b/emacs/notmuch.el index c6236db2..8ad0b680 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)