X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=blobdiff_plain;f=emacs%2Fnotmuch.el;h=40b9fabdbc49c53a17720f1615a3984a8eb15558;hp=bd08aa0c6841ce5f08dbface44e3fe6bf2b29385;hb=0b76e4a6f45b051bfcaf9f058d3162b423007294;hpb=9be349c20faea4b119c69ec63a39476ec9570d85 diff --git a/emacs/notmuch.el b/emacs/notmuch.el index bd08aa0c..40b9fabd 100644 --- a/emacs/notmuch.el +++ b/emacs/notmuch.el @@ -313,7 +313,11 @@ there will be called at other points of notmuch execution." :group 'notmuch-faces) (defface notmuch-search-flagged-face - '((t + '((((class color) + (background dark)) + (:foreground "LightBlue1")) + (((class color) + (background light)) (:foreground "blue"))) "Face used in search mode face for flagged threads. @@ -398,17 +402,17 @@ returns nil" (next-single-property-change (or pos (point)) 'notmuch-search-result nil (point-max)))) -(defun notmuch-search-foreach-result (beg end function) - "Invoke FUNCTION for each result between BEG and END. +(defun notmuch-search-foreach-result (beg end fn) + "Invoke FN for each result between BEG and END. -FUNCTION should take one argument. It will be applied to the +FN should take one argument. It will be applied to the character position of the beginning of each result that overlaps the region between points BEG and END. As a special case, if (= -BEG END), FUNCTION will be applied to the result containing point +BEG END), FN will be applied to the result containing point BEG." (lexical-let ((pos (notmuch-search-result-beginning beg)) - ;; End must be a marker in case function changes the + ;; End must be a marker in case fn changes the ;; text. (end (copy-marker end)) ;; Make sure we examine at least one result, even if @@ -419,7 +423,7 @@ BEG." ;; pos. (while (and pos (or (< pos end) first)) (when (notmuch-search-get-result pos) - (funcall function pos)) + (funcall fn pos)) (setq pos (notmuch-search-result-end pos) first nil)))) ;; Unindent the function argument of notmuch-search-foreach-result so @@ -562,12 +566,15 @@ Returns (TAG-CHANGES REGION-BEGIN REGION-END)." See `notmuch-tag' for information on the format of TAG-CHANGES. When called interactively, this uses the region if the region is active. When called directly, BEG and END provide the region. -If these are nil or not provided, this applies to the thread at -point. +If these are nil or not provided, then, if the region is active +this applied to all threads meeting the region, and if the region +is inactive this applies to the thread at point. If ONLY-MATCHED is non-nil, only tag matched messages." (interactive (notmuch-search-interactive-tag-changes)) - (unless (and beg end) (setq beg (point) end (point))) + (unless (and beg end) + (setq beg (car (notmuch-search-interactive-region)) + end (cadr (notmuch-search-interactive-region)))) (let ((search-string (notmuch-search-find-stable-query-region beg end only-matched))) (notmuch-tag search-string tag-changes) @@ -933,8 +940,8 @@ PROMPT is the string to prompt with." "Return the current query in this search buffer" notmuch-search-query-string) -;;;###autoload (put 'notmuch-search 'notmuch-doc "Search for messages.") +;;;###autoload (defun notmuch-search (&optional query oldest-first target-thread target-line no-display) "Display threads matching QUERY in a notmuch-search buffer. @@ -1066,8 +1073,9 @@ current search results AND that are tagged with the given tag." (with-current-buffer b (memq major-mode '(notmuch-show-mode notmuch-search-mode + notmuch-tree-mode notmuch-hello-mode - message-mode)))) + notmuch-message-mode)))) ;;;###autoload (defun notmuch-cycle-notmuch-buffers ()