On Tue, 03 Jul 2012, Austin Clements <amdragon@MIT.EDU> wrote: > This simplifies the code and makes it no longer cubic in the number of > result fields. > --- > emacs/notmuch.el | 20 ++++++++++---------- > 1 file changed, 10 insertions(+), 10 deletions(-) > > diff --git a/emacs/notmuch.el b/emacs/notmuch.el > index c6236db..be217a2 100644 > --- a/emacs/notmuch.el > +++ b/emacs/notmuch.el > @@ -707,29 +707,29 @@ 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 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 date) > 'face 'notmuch-search-date))) > ((string-equal field "count") > - (insert (propertize (format (cdr (assoc field notmuch-search-result-format)) count) > + (insert (propertize (format format count) > 'face 'notmuch-search-count))) > ((string-equal field "subject") > - (insert (propertize (format (cdr (assoc field notmuch-search-result-format)) subject) > + (insert (propertize (format format 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 authors)) > > ((string-equal field "tags") > - (insert (concat "(" (propertize tags 'font-lock-face 'notmuch-tag-face) ")"))))) > + (insert > + (format format (propertize tags 'font-lock-face 'notmuch-tag-face)))))) Am I missing something or did the search result line previously ignore the user's specification for tags and automatically print it with inside ()? Now this change does actually obey the user's specification. In principle that is a good thing, but the tag update code (when changing a tag on a message) seems to rely on the brackets to find something and errors out if the user format does not have any brackets. (The code has things like "(re-search-backward "(")" in it). Incidentally, patch 8 does change the format slightly by not padding the the date field string itself and only printing it padded. This (very mildly) breaks things if the user has customised notmuch-search-result-format Best wishes Mark > > (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 (format notmuch-search-result-format) > + (notmuch-search-insert-field (car format) (cdr format) > + date count authors subject tags)) > (insert "\n")) > > (defun notmuch-search-process-filter (proc string) > -- > 1.7.10 > > _______________________________________________ > notmuch mailing list > notmuch@notmuchmail.org > http://notmuchmail.org/mailman/listinfo/notmuch