X-Git-Url: https://git.notmuchmail.org/git?a=blobdiff_plain;f=emacs%2Fnotmuch.el;h=8e14692429ecc8e5740571a96a2d73fcf10f7f52;hb=693ca8d8a80438ce1e361e7e6d22288f52a11c55;hp=43d56f7be499218214d3c5c64e346484e71ac18b;hpb=07dff496304d6dc2e8033a18691b095ed9cd212f;p=notmuch diff --git a/emacs/notmuch.el b/emacs/notmuch.el index 43d56f7b..8e146924 100644 --- a/emacs/notmuch.el +++ b/emacs/notmuch.el @@ -331,7 +331,7 @@ This face is the default value for the \"unread\" tag in :group 'notmuch-search :group 'notmuch-faces) -(defun notmuch-search-mode () +(define-derived-mode notmuch-search-mode fundamental-mode "notmuch-search" "Major mode displaying results of a notmuch search. This buffer contains the results of a \"notmuch search\" of your @@ -361,8 +361,6 @@ new, global search. Complete list of currently available key bindings: \\{notmuch-search-mode-map}" - (interactive) - (kill-all-local-variables) (make-local-variable 'notmuch-search-query-string) (make-local-variable 'notmuch-search-oldest-first) (make-local-variable 'notmuch-search-target-thread) @@ -370,10 +368,7 @@ Complete list of currently available key bindings: (setq notmuch-buffer-refresh-function #'notmuch-search-refresh-view) (set (make-local-variable 'scroll-preserve-screen-position) t) (add-to-invisibility-spec (cons 'ellipsis t)) - (use-local-map notmuch-search-mode-map) (setq truncate-lines t) - (setq major-mode 'notmuch-search-mode - mode-name "notmuch-search") (setq buffer-read-only t)) (defun notmuch-search-get-result (&optional pos) @@ -700,13 +695,12 @@ background." (defun notmuch-search-color-line (start end line-tag-list) "Colorize lines in `notmuch-show' based on tags." - (mapc (lambda (elem) - (let ((tag (car elem)) - (attributes (cdr elem))) - (when (member tag line-tag-list) - (notmuch-apply-face nil attributes nil start end)))) - ;; Reverse the list so earlier entries take precedence - (reverse notmuch-search-line-faces))) + ;; Reverse the list so earlier entries take precedence + (dolist (elem (reverse notmuch-search-line-faces)) + (let ((tag (car elem)) + (face (cdr elem))) + (when (member tag line-tag-list) + (notmuch-apply-face nil face nil start end))))) (defun notmuch-search-author-propertize (authors) "Split `authors' into matching and non-matching authors and