The width of the authors field in search output was previously
specified in two places:
- `notmuch-search-authors-width': the limit beyond which the authors
names are truncated,
- `notmuch-search-result-format': the layout of the search results.
Changing the configuration of one of these may have required the user
to know about and adapt the other accordingly. This led to confusion.
Instead, remove `notmuch-search-authors-width' and perform truncation
based on the relevant field in `notmuch-search-result-format'.
Approved-By: Jameson Rollins <jrollins@finestructure.net>
(require 'notmuch-lib)
(require 'notmuch-show)
(require 'notmuch-lib)
(require 'notmuch-show)
-(defcustom notmuch-search-authors-width 20
- "Number of columns to use to display authors in a notmuch-search buffer."
- :type 'integer
- :group 'notmuch)
-
(defcustom notmuch-search-result-format
`(("date" . "%s ")
("count" . "%-7s ")
(defcustom notmuch-search-result-format
`(("date" . "%s ")
("count" . "%-7s ")
- ("authors" . ,(format "%%-%ds " notmuch-search-authors-width))
("subject" . "%s ")
("tags" . "(%s)"))
"Search result formating. Supported fields are:
("subject" . "%s ")
("tags" . "(%s)"))
"Search result formating. Supported fields are:
((string-equal field "count")
(insert (format (cdr (assoc field notmuch-search-result-format)) count)))
((string-equal field "authors")
((string-equal field "count")
(insert (format (cdr (assoc field notmuch-search-result-format)) count)))
((string-equal field "authors")
- (insert (format (cdr (assoc field notmuch-search-result-format)) authors)))
+ (insert (let ((sample (format (cdr (assoc field notmuch-search-result-format)) "")))
+ (if (> (length authors)
+ (length sample))
+ (concat (substring authors 0 (- (length sample) 4)) "... ")
+ (format (cdr (assoc field notmuch-search-result-format)) authors)))))
((string-equal field "subject")
(insert (format (cdr (assoc field notmuch-search-result-format)) subject)))
((string-equal field "tags")
((string-equal field "subject")
(insert (format (cdr (assoc field notmuch-search-result-format)) subject)))
((string-equal field "tags")
(date (match-string 2 string))
(count (match-string 3 string))
(authors (match-string 4 string))
(date (match-string 2 string))
(count (match-string 3 string))
(authors (match-string 4 string))
- (authors-length (length authors))
(subject (match-string 5 string))
(tags (match-string 6 string))
(tag-list (if tags (save-match-data (split-string tags)))))
(subject (match-string 5 string))
(tags (match-string 6 string))
(tag-list (if tags (save-match-data (split-string tags)))))
- (if (> authors-length notmuch-search-authors-width)
- (set 'authors (concat (substring authors 0 (- notmuch-search-authors-width 3)) "...")))
(goto-char (point-max))
(let ((beg (point-marker)))
(notmuch-search-show-result date count authors subject tags)
(goto-char (point-max))
(let ((beg (point-marker)))
(notmuch-search-show-result date count authors subject tags)