emacs: Add new option notmuch-search-hide-excluded

The new notmuch-search-hide-excluded option allows users to configure whether
to show or hide excluded messages (as determined by search.exclude_tags
in the local notmuch config file). It defaults to true for now to maintain
backwards-compatibility with how notmuch-{search,tree} already worked.

New commands notmuch-search-toggle-hide-excluded and
notmuch-tree-toggle-exclude have also been added. They toggle the value
of notmuch-search-hide-excluded for the search in the current search or
tree buffer. It's bound to "i" in the respective keymaps for these
modes.

Lastly I've amended some calls to notmuch-tree and notmuch-unthreaded
which didn't pass through the buffer local value of
notmuch-search-oldest-first (and now notmuch-search-exclude).
Examples of where I've done this include:
  + notmuch-jump-search
  + notmuch-tree-from-search-current-query
  + notmuch-unthreaded-from-search-current-query
  + notmuch-tree-from-search-thread

A new test file for Emacs has been added which covers the usage of the
new `notmuch-search-hide-excluded' option and interactively hiding or
showing mail with excluded tags. These test cover the basic usage of
the `notmuch-search-toggle-hide-excluded' command in notmuch-search,
notmuch-tree and notmuch-unthreaded searches. These tests also cover
the persistence of the current value of the hide-excluded mail option
as a user switches from between these different search commands.

[1]: id:87ilxlxsng.fsf@kisara.moe

Amended-by: db, fix indentation in T461-emacs-search-exclude.sh
This commit is contained in:
Mohsin Kaleem 2024-03-10 18:57:41 +00:00 committed by David Bremner
parent de23409704
commit cd89065dc3
17 changed files with 632 additions and 45 deletions

View file

@ -9,7 +9,7 @@
| f | | notmuch-show-forward-message | notmuch-show-forward-message | | f | | notmuch-show-forward-message | notmuch-show-forward-message |
| g | | | | | g | | | |
| h | | notmuch-show-toggle-visibility-headers | | | h | | notmuch-show-toggle-visibility-headers | |
| i | | | | | i | notmuch-search-toggle-hide-excluded | | notmuch-tree-toggle-hide-excluded |
| j | notmuch-jump-search | notmuch-jump-search | notmuch-jump-search | | j | notmuch-jump-search | notmuch-jump-search | notmuch-jump-search |
| k | notmuch-tag-jump | notmuch-tag-jump | notmuch-tag-jump | | k | notmuch-tag-jump | notmuch-tag-jump | notmuch-tag-jump |
| l | notmuch-search-filter | notmuch-show-filter-thread | notmuch-tree-filter | | l | notmuch-search-filter | notmuch-show-filter-thread | notmuch-tree-filter |

View file

@ -232,6 +232,10 @@ menu of results that the user can explore further by pressing
Refresh the buffer Refresh the buffer
.. el:define-key:: i
Toggle whether to show messages with excluded tags in search results.
.. el:define-key:: ? .. el:define-key:: ?
Display full set of key bindings Display full set of key bindings
@ -559,6 +563,9 @@ tags.
Filter the current search results based on an additional tag Filter the current search results based on an additional tag
.. el:define-key:: i
Toggle whether to show messages with excluded tags in search results.
.. el:define-key:: g .. el:define-key:: g
= =

View file

@ -33,10 +33,11 @@
(declare-function notmuch-poll "notmuch-lib" ()) (declare-function notmuch-poll "notmuch-lib" ())
(declare-function notmuch-tree "notmuch-tree" (declare-function notmuch-tree "notmuch-tree"
(&optional query query-context target buffer-name (&optional query query-context target buffer-name
open-target unthreaded parent-buffer oldest-first)) open-target unthreaded parent-buffer
oldest-first hide-excluded))
(declare-function notmuch-unthreaded "notmuch-tree" (declare-function notmuch-unthreaded "notmuch-tree"
(&optional query query-context target buffer-name (&optional query query-context target buffer-name
open-target)) open-target oldest-first hide-excluded))
;;; Options ;;; Options
@ -143,6 +144,10 @@ a plist. Supported properties are
:sort-order Specify the sort order to be used for the search. :sort-order Specify the sort order to be used for the search.
Possible values are `oldest-first', `newest-first' Possible values are `oldest-first', `newest-first'
or nil. Nil means use the default sort order. or nil. Nil means use the default sort order.
:excluded Whether to show mail with excluded tags in the
search. Possible values are `hide', `show',
or nil. Nil means use the default value of
`notmuch-search-hide-excluded'.
:search-type Specify whether to run the search in search-mode, :search-type Specify whether to run the search in search-mode,
tree mode or unthreaded mode. Set to `tree' to tree mode or unthreaded mode. Set to `tree' to
specify tree mode, \\='unthreaded to specify specify tree mode, \\='unthreaded to specify
@ -484,19 +489,19 @@ diagonal."
append (notmuch-hello-reflect-generate-row ncols nrows row list)))) append (notmuch-hello-reflect-generate-row ncols nrows row list))))
(defun notmuch-hello-widget-search (widget &rest _ignore) (defun notmuch-hello-widget-search (widget &rest _ignore)
(cl-case (widget-get widget :notmuch-search-type) (let ((search-terms (widget-get widget :notmuch-search-terms))
(tree (oldest-first (widget-get widget :notmuch-search-oldest-first))
(let ((n (notmuch-search-format-buffer-name (widget-value widget) "tree" t))) (exclude (widget-get widget :notmuch-search-hide-excluded)))
(notmuch-tree (widget-get widget :notmuch-search-terms) (cl-case (widget-get widget :notmuch-search-type)
nil nil n nil nil nil (tree
(widget-get widget :notmuch-search-oldest-first)))) (let ((n (notmuch-search-format-buffer-name (widget-value widget) "tree" t)))
(unthreaded (notmuch-tree search-terms nil nil n nil nil nil oldest-first exclude)))
(let ((n (notmuch-search-format-buffer-name (widget-value widget) (unthreaded
"unthreaded" t))) (let ((n (notmuch-search-format-buffer-name (widget-value widget)
(notmuch-unthreaded (widget-get widget :notmuch-search-terms) nil nil n))) "unthreaded" t)))
(t (notmuch-unthreaded search-terms nil nil n nil oldest-first exclude)))
(notmuch-search (widget-get widget :notmuch-search-terms) (t
(widget-get widget :notmuch-search-oldest-first))))) (notmuch-search search-terms oldest-first exclude)))))
(defun notmuch-saved-search-count (search) (defun notmuch-saved-search-count (search)
(car (notmuch--process-lines notmuch-command "count" search))) (car (notmuch--process-lines notmuch-command "count" search)))
@ -643,6 +648,10 @@ with `notmuch-hello-query-counts'."
(newest-first nil) (newest-first nil)
(oldest-first t) (oldest-first t)
(otherwise notmuch-search-oldest-first))) (otherwise notmuch-search-oldest-first)))
(exclude (cl-case (plist-get elem :excluded)
(hide t)
(show nil)
(otherwise notmuch-search-hide-excluded)))
(search-type (plist-get elem :search-type)) (search-type (plist-get elem :search-type))
(msg-count (plist-get elem :count))) (msg-count (plist-get elem :count)))
(widget-insert (format "%8s " (widget-insert (format "%8s "
@ -652,6 +661,7 @@ with `notmuch-hello-query-counts'."
:notmuch-search-terms query :notmuch-search-terms query
:notmuch-search-oldest-first oldest-first :notmuch-search-oldest-first oldest-first
:notmuch-search-type search-type :notmuch-search-type search-type
:notmuch-search-hide-excluded exclude
name) name)
(setq column-indent (setq column-indent
(1+ (max 0 (- column-width (length name))))))) (1+ (max 0 (- column-width (length name)))))))

View file

@ -50,15 +50,21 @@ fast way to jump to a saved search from anywhere in Notmuch."
(cl-case (plist-get saved-search :sort-order) (cl-case (plist-get saved-search :sort-order)
(newest-first nil) (newest-first nil)
(oldest-first t) (oldest-first t)
(otherwise (default-value 'notmuch-search-oldest-first))))) (otherwise (default-value 'notmuch-search-oldest-first))))
(exclude (cl-case (plist-get saved-search :excluded)
(hide t)
(show nil)
(otherwise notmuch-search-hide-excluded))))
(push (list key name (push (list key name
(cond (cond
((eq (plist-get saved-search :search-type) 'tree) ((eq (plist-get saved-search :search-type) 'tree)
(lambda () (notmuch-tree query))) (lambda () (notmuch-tree query nil nil nil nil nil nil
oldest-first exclude)))
((eq (plist-get saved-search :search-type) 'unthreaded) ((eq (plist-get saved-search :search-type) 'unthreaded)
(lambda () (notmuch-unthreaded query))) (lambda () (notmuch-unthreaded query nil nil nil nil
oldest-first exclude)))
(t (t
(lambda () (notmuch-search query oldest-first))))) (lambda () (notmuch-search query oldest-first exclude)))))
action-map))))) action-map)))))
(setq action-map (nreverse action-map)) (setq action-map (nreverse action-map))
(if action-map (if action-map

View file

@ -105,6 +105,16 @@ search."
:group 'notmuch-search) :group 'notmuch-search)
(make-variable-buffer-local 'notmuch-search-oldest-first) (make-variable-buffer-local 'notmuch-search-oldest-first)
(defcustom notmuch-search-hide-excluded t
"Hide mail tagged with a excluded tag.
Excluded tags are defined in the users configuration file under
the search section. When this variable is true, any mail with
such a tag will not be shown in the search output."
:type 'boolean
:group 'notmuch-search)
(make-variable-buffer-local 'notmuch-search-hide-excluded)
(defcustom notmuch-poll-script nil (defcustom notmuch-poll-script nil
"[Deprecated] Command to run to incorporate new mail into the notmuch database. "[Deprecated] Command to run to incorporate new mail into the notmuch database.

View file

@ -374,6 +374,7 @@ then NAME behaves like CMD."
(define-key map [remap notmuch-jump-search] 'notmuch-tree-jump-search) (define-key map [remap notmuch-jump-search] 'notmuch-tree-jump-search)
(define-key map "o" 'notmuch-tree-toggle-order) (define-key map "o" 'notmuch-tree-toggle-order)
(define-key map "i" 'notmuch-tree-toggle-hide-excluded)
(define-key map "S" 'notmuch-search-from-tree-current-query) (define-key map "S" 'notmuch-search-from-tree-current-query)
(define-key map "U" 'notmuch-unthreaded-from-tree-current-query) (define-key map "U" 'notmuch-unthreaded-from-tree-current-query)
(define-key map "Z" 'notmuch-tree-from-unthreaded-current-query) (define-key map "Z" 'notmuch-tree-from-unthreaded-current-query)
@ -590,7 +591,9 @@ NOT change the database."
"Call notmuch search with the current query." "Call notmuch search with the current query."
(interactive) (interactive)
(notmuch-tree-close-message-window) (notmuch-tree-close-message-window)
(notmuch-search (notmuch-tree-get-query))) (notmuch-search (notmuch-tree-get-query)
notmuch-search-oldest-first
notmuch-search-hide-excluded))
(defun notmuch-tree-message-window-kill-hook () (defun notmuch-tree-message-window-kill-hook ()
"Close the message pane when exiting the show buffer." "Close the message pane when exiting the show buffer."
@ -803,7 +806,8 @@ nil otherwise."
target target
nil nil
unthreaded unthreaded
notmuch-search-oldest-first))) notmuch-search-oldest-first
notmuch-search-hide-excluded)))
(defun notmuch-tree-thread-top () (defun notmuch-tree-thread-top ()
(when (notmuch-tree-get-message-properties) (when (notmuch-tree-get-message-properties)
@ -1133,7 +1137,8 @@ object, and with the tree results buffer as the current buffer.")
results-buf))))) results-buf)))))
(defun notmuch-tree-worker (basic-query &optional query-context target (defun notmuch-tree-worker (basic-query &optional query-context target
open-target unthreaded oldest-first) open-target unthreaded oldest-first
exclude)
"Insert the tree view of the search in the current buffer. "Insert the tree view of the search in the current buffer.
This is is a helper function for notmuch-tree. The arguments are This is is a helper function for notmuch-tree. The arguments are
@ -1142,6 +1147,7 @@ the same as for the function notmuch-tree."
(notmuch-tree-mode) (notmuch-tree-mode)
(add-hook 'post-command-hook #'notmuch-tree-command-hook t t) (add-hook 'post-command-hook #'notmuch-tree-command-hook t t)
(setq notmuch-search-oldest-first oldest-first) (setq notmuch-search-oldest-first oldest-first)
(setq notmuch-search-hide-excluded exclude)
(setq notmuch-tree-unthreaded unthreaded) (setq notmuch-tree-unthreaded unthreaded)
(setq notmuch-tree-basic-query basic-query) (setq notmuch-tree-basic-query basic-query)
(setq notmuch-tree-query-context (if (or (string= query-context "") (setq notmuch-tree-query-context (if (or (string= query-context "")
@ -1161,14 +1167,15 @@ the same as for the function notmuch-tree."
(and query-context (and query-context
(concat " and (" query-context ")")))) (concat " and (" query-context ")"))))
(sort-arg (if oldest-first "--sort=oldest-first" "--sort=newest-first")) (sort-arg (if oldest-first "--sort=oldest-first" "--sort=newest-first"))
(message-arg (if unthreaded "--unthreaded" "--entire-thread"))) (message-arg (if unthreaded "--unthreaded" "--entire-thread"))
(exclude-arg (if exclude "--exclude=true" "--exclude=false")))
(when (equal (car (notmuch--process-lines notmuch-command "count" search-args)) "0") (when (equal (car (notmuch--process-lines notmuch-command "count" search-args)) "0")
(setq search-args basic-query)) (setq search-args basic-query))
(notmuch-tag-clear-cache) (notmuch-tag-clear-cache)
(let ((proc (notmuch-start-notmuch (let ((proc (notmuch-start-notmuch
"notmuch-tree" (current-buffer) #'notmuch-tree-process-sentinel "notmuch-tree" (current-buffer) #'notmuch-tree-process-sentinel
"show" "--body=false" "--format=sexp" "--format-version=5" "show" "--body=false" "--format=sexp" "--format-version=5"
sort-arg message-arg search-args)) sort-arg message-arg exclude-arg search-args))
;; Use a scratch buffer to accumulate partial output. ;; Use a scratch buffer to accumulate partial output.
;; This buffer will be killed by the sentinel, which ;; This buffer will be killed by the sentinel, which
;; should be called no matter how the process dies. ;; should be called no matter how the process dies.
@ -1195,9 +1202,19 @@ default sort order is defined by `notmuch-search-oldest-first'."
(setq notmuch-search-oldest-first (not notmuch-search-oldest-first)) (setq notmuch-search-oldest-first (not notmuch-search-oldest-first))
(notmuch-tree-refresh-view)) (notmuch-tree-refresh-view))
(defun notmuch-tree-toggle-hide-excluded ()
"Toggle whether to hide excluded messages.
This command toggles whether to hide excluded messages for the current
search. The default value for this is defined by `notmuch-search-hide-excluded'."
(interactive)
(setq notmuch-search-hide-excluded (not notmuch-search-hide-excluded))
(notmuch-tree-refresh-view))
;;;###autoload ;;;###autoload
(defun notmuch-tree (&optional query query-context target buffer-name (defun notmuch-tree (&optional query query-context target buffer-name
open-target unthreaded parent-buffer oldest-first) open-target unthreaded parent-buffer
oldest-first hide-excluded)
"Display threads matching QUERY in tree view. "Display threads matching QUERY in tree view.
The arguments are: The arguments are:
@ -1212,7 +1229,15 @@ The arguments are:
it is nil \"*notmuch-tree\" followed by QUERY is used. it is nil \"*notmuch-tree\" followed by QUERY is used.
OPEN-TARGET: If TRUE open the target message in the message pane. OPEN-TARGET: If TRUE open the target message in the message pane.
UNTHREADED: If TRUE only show matching messages in an unthreaded view." UNTHREADED: If TRUE only show matching messages in an unthreaded view."
(interactive) (interactive
(list
;; Prompt for a query
nil
;; Fill other args with nil.
nil nil nil nil nil nil
;; Populate these from the default value of these options.
(default-value 'notmuch-search-oldest-first)
(default-value 'notmuch-search-hide-excluded)))
(unless query (unless query
(setq query (notmuch-read-query (concat "Notmuch " (setq query (notmuch-read-query (concat "Notmuch "
(if unthreaded "unthreaded " "tree ") (if unthreaded "unthreaded " "tree ")
@ -1226,17 +1251,27 @@ The arguments are:
(pop-to-buffer-same-window buffer)) (pop-to-buffer-same-window buffer))
;; Don't track undo information for this buffer ;; Don't track undo information for this buffer
(setq buffer-undo-list t) (setq buffer-undo-list t)
(notmuch-tree-worker query query-context target open-target unthreaded oldest-first) (notmuch-tree-worker query query-context target open-target
unthreaded oldest-first hide-excluded)
(setq notmuch-tree-parent-buffer parent-buffer) (setq notmuch-tree-parent-buffer parent-buffer)
(setq truncate-lines t)) (setq truncate-lines t))
(defun notmuch-unthreaded (&optional query query-context target buffer-name (defun notmuch-unthreaded (&optional query query-context target buffer-name
open-target) open-target oldest-first hide-excluded)
"Display threads matching QUERY in unthreaded view. "Display threads matching QUERY in unthreaded view.
See function NOTMUCH-TREE for documentation of the arguments" See function NOTMUCH-TREE for documentation of the arguments"
(interactive) (interactive
(notmuch-tree query query-context target buffer-name open-target t)) (list
;; Prompt for a query
nil
;; Fill other args with nil.
nil nil nil nil
;; Populate these from the default value of these options.
(default-value 'notmuch-search-oldest-first)
(default-value 'notmuch-search-hide-excluded)))
(notmuch-tree query query-context target buffer-name open-target
t nil oldest-first hide-excluded))
(defun notmuch-tree-filter (query) (defun notmuch-tree-filter (query)
"Filter or LIMIT the current search results based on an additional query string. "Filter or LIMIT the current search results based on an additional query string.
@ -1270,7 +1305,8 @@ search results and that are also tagged with the given TAG."
nil nil
notmuch-tree-unthreaded notmuch-tree-unthreaded
nil nil
notmuch-search-oldest-first))) notmuch-search-oldest-first
notmuch-search-hide-excluded)))
(defun notmuch-tree-edit-search (query) (defun notmuch-tree-edit-search (query)
"Edit the current search" "Edit the current search"

View file

@ -187,6 +187,7 @@ there will be called at other points of notmuch execution."
(define-key map "r" 'notmuch-search-reply-to-thread-sender) (define-key map "r" 'notmuch-search-reply-to-thread-sender)
(define-key map "R" 'notmuch-search-reply-to-thread) (define-key map "R" 'notmuch-search-reply-to-thread)
(define-key map "o" 'notmuch-search-toggle-order) (define-key map "o" 'notmuch-search-toggle-order)
(define-key map "i" 'notmuch-search-toggle-hide-excluded)
(define-key map "c" 'notmuch-search-stash-map) (define-key map "c" 'notmuch-search-stash-map)
(define-key map "t" 'notmuch-search-filter-by-tag) (define-key map "t" 'notmuch-search-filter-by-tag)
(define-key map "l" 'notmuch-search-filter) (define-key map "l" 'notmuch-search-filter)
@ -550,12 +551,18 @@ Return non-nil on success."
(defun notmuch-tree-from-search-current-query () (defun notmuch-tree-from-search-current-query ()
"Tree view of current query." "Tree view of current query."
(interactive) (interactive)
(notmuch-tree notmuch-search-query-string)) (notmuch-tree notmuch-search-query-string
nil nil nil nil nil nil
notmuch-search-oldest-first
notmuch-search-hide-excluded))
(defun notmuch-unthreaded-from-search-current-query () (defun notmuch-unthreaded-from-search-current-query ()
"Unthreaded view of current query." "Unthreaded view of current query."
(interactive) (interactive)
(notmuch-unthreaded notmuch-search-query-string)) (notmuch-unthreaded notmuch-search-query-string
nil nil nil nil
notmuch-search-oldest-first
notmuch-search-hide-excluded))
(defun notmuch-tree-from-search-thread () (defun notmuch-tree-from-search-thread ()
"Show the selected thread with notmuch-tree." "Show the selected thread with notmuch-tree."
@ -564,7 +571,9 @@ Return non-nil on success."
notmuch-search-query-string notmuch-search-query-string
nil nil
(notmuch-prettify-subject (notmuch-search-find-subject)) (notmuch-prettify-subject (notmuch-search-find-subject))
t nil (current-buffer))) t nil (current-buffer)
notmuch-search-oldest-first
notmuch-search-hide-excluded))
(defun notmuch-search-reply-to-thread (&optional prompt-for-sender) (defun notmuch-search-reply-to-thread (&optional prompt-for-sender)
"Begin composing a reply-all to the entire current thread in a new buffer." "Begin composing a reply-all to the entire current thread in a new buffer."
@ -1035,14 +1044,16 @@ PROMPT is the string to prompt with."
(put 'notmuch-search 'notmuch-doc "Search for messages.") (put 'notmuch-search 'notmuch-doc "Search for messages.")
;;;###autoload ;;;###autoload
(defun notmuch-search (&optional query oldest-first target-thread target-line (defun notmuch-search (&optional query oldest-first hide-excluded target-thread
no-display) target-line no-display)
"Display threads matching QUERY in a notmuch-search buffer. "Display threads matching QUERY in a notmuch-search buffer.
If QUERY is nil, it is read interactively from the minibuffer. If QUERY is nil, it is read interactively from the minibuffer.
Other optional parameters are used as follows: Other optional parameters are used as follows:
OLDEST-FIRST: A Boolean controlling the sort order of returned threads OLDEST-FIRST: A Boolean controlling the sort order of returned threads
HIDE-EXCLUDED: A boolean controlling whether to omit threads with excluded
tags.
TARGET-THREAD: A thread ID (without the thread: prefix) that will be made TARGET-THREAD: A thread ID (without the thread: prefix) that will be made
current if it appears in the search results. current if it appears in the search results.
TARGET-LINE: The line number to move to if the target thread does not TARGET-LINE: The line number to move to if the target thread does not
@ -1057,9 +1068,10 @@ the configured default sort order."
(list (list
;; Prompt for a query ;; Prompt for a query
nil nil
;; Use the default search order (if we're doing a search from a ;; Use the default search order and exclude value (if we're doing a
;; search buffer, ignore any buffer-local overrides) ;; search from a search buffer, ignore any buffer-local overrides)
(default-value 'notmuch-search-oldest-first))) (default-value 'notmuch-search-oldest-first)
(default-value 'notmuch-search-hide-excluded)))
(let* ((query (or query (notmuch-read-query "Notmuch search: "))) (let* ((query (or query (notmuch-read-query "Notmuch search: ")))
(buffer (get-buffer-create (notmuch-search-buffer-title query)))) (buffer (get-buffer-create (notmuch-search-buffer-title query))))
@ -1073,6 +1085,7 @@ the configured default sort order."
(setq notmuch-search-oldest-first oldest-first) (setq notmuch-search-oldest-first oldest-first)
(setq notmuch-search-target-thread target-thread) (setq notmuch-search-target-thread target-thread)
(setq notmuch-search-target-line target-line) (setq notmuch-search-target-line target-line)
(setq notmuch-search-hide-excluded hide-excluded)
(notmuch-tag-clear-cache) (notmuch-tag-clear-cache)
(when (get-buffer-process buffer) (when (get-buffer-process buffer)
(error "notmuch search process already running for query `%s'" query)) (error "notmuch search process already running for query `%s'" query))
@ -1086,6 +1099,9 @@ the configured default sort order."
(if oldest-first (if oldest-first
"--sort=oldest-first" "--sort=oldest-first"
"--sort=newest-first") "--sort=newest-first")
(if hide-excluded
"--exclude=true"
"--exclude=false")
query))) query)))
;; Use a scratch buffer to accumulate partial output. ;; Use a scratch buffer to accumulate partial output.
;; This buffer will be killed by the sentinel, which ;; This buffer will be killed by the sentinel, which
@ -1106,11 +1122,21 @@ same relative position within the new buffer."
(interactive) (interactive)
(notmuch-search notmuch-search-query-string (notmuch-search notmuch-search-query-string
notmuch-search-oldest-first notmuch-search-oldest-first
notmuch-search-hide-excluded
(notmuch-search-find-thread-id 'bare) (notmuch-search-find-thread-id 'bare)
(line-number-at-pos) (line-number-at-pos)
t) t)
(goto-char (point-min))) (goto-char (point-min)))
(defun notmuch-search-toggle-hide-excluded ()
"Toggle whether to hide excluded messages.
This command toggles whether to hide excluded messages for the current
search. The default value for this is defined by `notmuch-search-hide-excluded'."
(interactive)
(setq notmuch-search-hide-excluded (not notmuch-search-hide-excluded))
(notmuch-search-refresh-view))
(defun notmuch-search-toggle-order () (defun notmuch-search-toggle-order ()
"Toggle the current search order. "Toggle the current search order.
@ -1139,7 +1165,8 @@ current search results AND the additional query string provided."
(notmuch-search (if (string= grouped-original-query "*") (notmuch-search (if (string= grouped-original-query "*")
grouped-query grouped-query
(concat grouped-original-query " and " grouped-query)) (concat grouped-original-query " and " grouped-query))
notmuch-search-oldest-first))) notmuch-search-oldest-first
notmuch-search-hide-excluded)))
(defun notmuch-search-filter-by-tag (tag) (defun notmuch-search-filter-by-tag (tag)
"Filter the current search results based on a single TAG. "Filter the current search results based on a single TAG.
@ -1150,13 +1177,16 @@ search results and that are also tagged with the given TAG."
(list (notmuch-select-tag-with-completion "Filter by tag: " (list (notmuch-select-tag-with-completion "Filter by tag: "
notmuch-search-query-string))) notmuch-search-query-string)))
(notmuch-search (concat notmuch-search-query-string " and tag:" tag) (notmuch-search (concat notmuch-search-query-string " and tag:" tag)
notmuch-search-oldest-first)) notmuch-search-oldest-first
notmuch-search-hide-excluded))
(defun notmuch-search-by-tag (tag) (defun notmuch-search-by-tag (tag)
"Display threads matching TAG in a notmuch-search buffer." "Display threads matching TAG in a notmuch-search buffer."
(interactive (interactive
(list (notmuch-select-tag-with-completion "Notmuch search tag: "))) (list (notmuch-select-tag-with-completion "Notmuch search tag: ")))
(notmuch-search (concat "tag:" tag))) (notmuch-search (concat "tag:" tag)
(default-value 'notmuch-search-oldest-first)
(default-value 'notmuch-search-hide-excluded)))
(defun notmuch-search-edit-search (query) (defun notmuch-search-edit-search (query)
"Edit the current search" "Edit the current search"

View file

@ -1032,7 +1032,7 @@ End of search results.
YYY/notmuch_fail exited with status 1 (see *Notmuch errors* for more details) YYY/notmuch_fail exited with status 1 (see *Notmuch errors* for more details)
=== ERROR === === ERROR ===
YYY/notmuch_fail exited with status 1 YYY/notmuch_fail exited with status 1
command: YYY/notmuch_fail search --format\=sexp --format-version\=5 --sort\=newest-first tag\:inbox command: YYY/notmuch_fail search --format\=sexp --format-version\=5 --sort\=newest-first --exclude\=false tag\:inbox
exit status: 1" exit status: 1"
test_begin_subtest "Search handles subprocess warnings" test_begin_subtest "Search handles subprocess warnings"

View file

@ -100,7 +100,7 @@ test_emacs '(notmuch-hello)
(notmuch-test-wait) (notmuch-test-wait)
(test-output) (test-output)
(delete-other-windows)' (delete-other-windows)'
test_expect_equal_file $EXPECTED/notmuch-tree-tag-inbox OUTPUT test_expect_equal_file $EXPECTED/notmuch-tree-tag-inbox-oldest-first OUTPUT
test_begin_subtest "Tree view of a single thread (from search)" test_begin_subtest "Tree view of a single thread (from search)"
test_emacs '(notmuch-hello) test_emacs '(notmuch-hello)

185
test/T461-emacs-search-exclude.sh Executable file
View file

@ -0,0 +1,185 @@
#!/usr/bin/env bash
test_description="exclude options persist between Emacs search and tree modes"
. $(dirname "$0")/test-lib.sh || exit 1
. $NOTMUCH_SRCDIR/test/test-lib-emacs.sh || exit 1
EXPECTED=$NOTMUCH_SRCDIR/test/emacs-exclude.expected-output
test_require_emacs
add_email_corpus
notmuch config set search.exclude_tags deleted
notmuch tag +deleted -- 'from:"Stewart Smith"' or 'from:"Chris Wilson"'
# Basic test cases just asserting exclude option is working and consistent.
test_begin_subtest "Search doesn't contain excluded mail by default"
test_emacs '(notmuch-hello)
(goto-char (point-min))
(re-search-forward "inbox")
(widget-button-press (1- (point)))
(notmuch-test-wait)
(test-output)
(delete-other-windows)'
test_expect_equal_file $EXPECTED/notmuch-search-tag-inbox-without-excluded OUTPUT
test_begin_subtest "Toggling exclude in search will show excluded mail"
test_emacs '(notmuch-hello)
(goto-char (point-min))
(re-search-forward "inbox")
(widget-button-press (1- (point)))
(notmuch-test-wait)
(notmuch-search-toggle-hide-excluded)
(notmuch-test-wait)
(test-output)
(delete-other-windows)'
test_expect_equal_file $EXPECTED/notmuch-search-tag-inbox-with-excluded OUTPUT
test_begin_subtest "Tree search doesn't contain excluded mail by default"
test_emacs '(notmuch-hello)
(goto-char (point-min))
(re-search-forward "inbox")
(widget-button-press (1- (point)))
(notmuch-test-wait)
(notmuch-tree-from-search-current-query)
(notmuch-test-wait)
(test-output)
(delete-other-windows)'
test_expect_equal_file $EXPECTED/notmuch-tree-tag-inbox-without-excluded OUTPUT
test_begin_subtest "Toggling exclude in tree search will show excluded mail"
test_emacs '(notmuch-hello)
(goto-char (point-min))
(re-search-forward "inbox")
(widget-button-press (1- (point)))
(notmuch-test-wait)
(notmuch-tree-from-search-current-query)
(notmuch-test-wait)
(notmuch-tree-toggle-hide-excluded)
(notmuch-test-wait)
(test-output)
(delete-other-windows)'
test_expect_equal_file $EXPECTED/notmuch-tree-tag-inbox-with-excluded OUTPUT
test_begin_subtest "Unthreaded search doesn't contain excluded mail by default"
test_emacs '(notmuch-hello)
(goto-char (point-min))
(re-search-forward "inbox")
(widget-button-press (1- (point)))
(notmuch-test-wait)
(notmuch-unthreaded-from-search-current-query)
(notmuch-test-wait)
(test-output)
(delete-other-windows)'
test_expect_equal_file $EXPECTED/notmuch-unthreaded-tag-inbox-without-excluded OUTPUT
test_begin_subtest "Toggling exclude in unthreaded will show excluded mail"
test_emacs '(notmuch-hello)
(goto-char (point-min))
(re-search-forward "inbox")
(widget-button-press (1- (point)))
(notmuch-test-wait)
(notmuch-unthreaded-from-search-current-query)
(notmuch-test-wait)
(notmuch-tree-toggle-hide-excluded)
(notmuch-test-wait)
(test-output)
(delete-other-windows)'
test_expect_equal_file $EXPECTED/notmuch-unthreaded-tag-inbox-with-excluded OUTPUT
# Cycling from search to tree to unthreaded and vice versa will persist the current
# value of notmuch-search-hide-excluded.
test_begin_subtest "Value of hide-excluded from search persists into tree search"
test_emacs '(notmuch-hello)
(goto-char (point-min))
(re-search-forward "inbox")
(widget-button-press (1- (point)))
(notmuch-test-wait)
(notmuch-search-toggle-hide-excluded)
(notmuch-test-wait)
(notmuch-tree-from-search-current-query)
(notmuch-test-wait)
(test-output)
(delete-other-windows)'
test_expect_equal_file $EXPECTED/notmuch-tree-tag-inbox-with-excluded OUTPUT
test_begin_subtest "Value of hide-excluded from search persists into unthreaded"
test_emacs '(notmuch-hello)
(goto-char (point-min))
(re-search-forward "inbox")
(widget-button-press (1- (point)))
(notmuch-test-wait)
(notmuch-search-toggle-hide-excluded)
(notmuch-test-wait)
(notmuch-unthreaded-from-search-current-query)
(notmuch-test-wait)
(test-output)
(delete-other-windows)'
test_expect_equal_file $EXPECTED/notmuch-unthreaded-tag-inbox-with-excluded OUTPUT
test_begin_subtest "Value of hide-excluded from tree persists into search"
test_emacs '(notmuch-hello)
(goto-char (point-min))
(re-search-forward "inbox")
(widget-button-press (1- (point)))
(notmuch-test-wait)
(notmuch-tree-from-search-current-query)
(notmuch-test-wait)
(notmuch-tree-toggle-hide-excluded)
(notmuch-test-wait)
(notmuch-search-from-tree-current-query)
(notmuch-test-wait)
(test-output)
(delete-other-windows)'
test_expect_equal_file $EXPECTED/notmuch-search-tag-inbox-with-excluded OUTPUT
test_begin_subtest "Value of hide-excluded from tree persists into unthreaded"
test_emacs '(notmuch-hello)
(goto-char (point-min))
(re-search-forward "inbox")
(widget-button-press (1- (point)))
(notmuch-test-wait)
(notmuch-tree-from-search-current-query)
(notmuch-test-wait)
(notmuch-tree-toggle-hide-excluded)
(notmuch-test-wait)
(notmuch-unthreaded-from-tree-current-query)
(notmuch-test-wait)
(test-output)
(delete-other-windows)'
test_expect_equal_file $EXPECTED/notmuch-unthreaded-tag-inbox-with-excluded OUTPUT
test_begin_subtest "Value of hide-excluded from unthreaded persists into tree"
test_emacs '(notmuch-hello)
(goto-char (point-min))
(re-search-forward "inbox")
(widget-button-press (1- (point)))
(notmuch-test-wait)
(notmuch-unthreaded-from-search-current-query)
(notmuch-test-wait)
(notmuch-tree-toggle-hide-excluded)
(notmuch-test-wait)
(notmuch-tree-from-unthreaded-current-query)
(notmuch-test-wait)
(test-output)
(delete-other-windows)'
test_expect_equal_file $EXPECTED/notmuch-tree-tag-inbox-with-excluded OUTPUT
test_begin_subtest "Value of hide-excluded from unthreaded persists into search"
test_emacs '(notmuch-hello)
(goto-char (point-min))
(re-search-forward "inbox")
(widget-button-press (1- (point)))
(notmuch-test-wait)
(notmuch-unthreaded-from-search-current-query)
(notmuch-test-wait)
(notmuch-tree-toggle-hide-excluded)
(notmuch-test-wait)
(notmuch-search-from-tree-current-query)
(notmuch-test-wait)
(test-output)
(delete-other-windows)'
test_expect_equal_file $EXPECTED/notmuch-search-tag-inbox-with-excluded OUTPUT
test_done

View file

@ -0,0 +1,25 @@
2009-11-17 [5/5] Mikhail Gusarov, Carl Worth, Keith Packard [notmuch] [PATCH 1/2] Close message file after parsing message headers (inbox unread)
2009-11-17 [7/7] Lars Kellogg-Stedman, Mikhail Gusarov, Keith Packard, Carl Worth [notmuch] Working with Maildir storage? (inbox signed unread)
2009-11-17 [2/2] Alex Botero-Lowry, Carl Worth [notmuch] preliminary FreeBSD support (attachment inbox unread)
2009-11-17 [1/1] Mikhail Gusarov [notmuch] [PATCH] Handle rename of message file (inbox unread)
2009-11-17 [2/2] Keith Packard, Carl Worth [notmuch] [PATCH] Make notmuch-show 'X' (and 'x') commands remove inbox (and unread) tags (inbox unread)
2009-11-17 [2/2] Jan Janak, Carl Worth [notmuch] [PATCH] Older versions of install do not support -C. (inbox unread)
2009-11-17 [3/3] Jan Janak, Carl Worth [notmuch] What a great idea! (inbox unread)
2009-11-17 [3/3] Israel Herraiz, Keith Packard, Carl Worth [notmuch] New to the list (inbox unread)
2009-11-17 [3/3] Adrian Perez de Castro, Keith Packard, Carl Worth [notmuch] Introducing myself (inbox signed unread)
2009-11-17 [3/3] Aron Griffis, Keith Packard, Carl Worth [notmuch] archive (inbox unread)
2009-11-17 [2/2] Ingmar Vanhassel, Carl Worth [notmuch] [PATCH] Typsos (inbox unread)
2009-11-18 [2/2] Alex Botero-Lowry, Carl Worth [notmuch] [PATCH] Error out if no query is supplied to search instead of going into an infinite loop (attachment inbox unread)
2009-11-18 [2/2] Lars Kellogg-Stedman [notmuch] "notmuch help" outputs to stderr? (attachment inbox signed unread)
2009-11-18 [1/1] Stewart Smith [notmuch] [PATCH] Fix linking with gcc to use g++ to link in C++ libs. (deleted inbox unread)
2009-11-18 [1/1] Stewart Smith [notmuch] [PATCH 2/2] Read mail directory in inode number order (deleted inbox unread)
2009-11-18 [1/1] Stewart Smith [notmuch] [PATCH] count_files: sort directory in inode order before statting (deleted inbox unread)
2009-11-18 [4/4] Jjgod Jiang, Alexander Botero-Lowry [notmuch] Mac OS X/Darwin compatibility issues (inbox unread)
2009-11-18 [1/1] Jan Janak [notmuch] [PATCH] notmuch new: Support for conversion of spool subdirectories into tags (inbox unread)
2009-11-18 [1/1] Rolland Santimano [notmuch] Link to mailing list archives ? (inbox unread)
2009-11-18 [1/1] Alexander Botero-Lowry [notmuch] request for pull (inbox unread)
2009-11-18 [2/2] Keith Packard, Alexander Botero-Lowry [notmuch] [PATCH] Create a default notmuch-show-hook that highlights URLs and uses word-wrap (inbox unread)
2009-11-18 [1/1] Chris Wilson [notmuch] [PATCH 1/2] Makefile: evaluate pkg-config once (deleted inbox unread)
2010-12-16 [1/1] Olivier Berger Essai accentué (inbox unread)
2010-12-29 [1/1] François Boulogne [aur-general] Guidelines: cp, mkdir vs install (inbox unread)
End of search results.

View file

@ -0,0 +1,21 @@
2009-11-17 [5/5] Mikhail Gusarov, Carl Worth, Keith Packard [notmuch] [PATCH 1/2] Close message file after parsing message headers (inbox unread)
2009-11-17 [7/7] Lars Kellogg-Stedman, Mikhail Gusarov, Keith Packard, Carl Worth [notmuch] Working with Maildir storage? (inbox signed unread)
2009-11-17 [2/2] Alex Botero-Lowry, Carl Worth [notmuch] preliminary FreeBSD support (attachment inbox unread)
2009-11-17 [1/1] Mikhail Gusarov [notmuch] [PATCH] Handle rename of message file (inbox unread)
2009-11-17 [2/2] Keith Packard, Carl Worth [notmuch] [PATCH] Make notmuch-show 'X' (and 'x') commands remove inbox (and unread) tags (inbox unread)
2009-11-17 [2/2] Jan Janak, Carl Worth [notmuch] [PATCH] Older versions of install do not support -C. (inbox unread)
2009-11-17 [3/3] Jan Janak, Carl Worth [notmuch] What a great idea! (inbox unread)
2009-11-17 [3/3] Israel Herraiz, Keith Packard, Carl Worth [notmuch] New to the list (inbox unread)
2009-11-17 [3/3] Adrian Perez de Castro, Keith Packard, Carl Worth [notmuch] Introducing myself (inbox signed unread)
2009-11-17 [3/3] Aron Griffis, Keith Packard, Carl Worth [notmuch] archive (inbox unread)
2009-11-17 [2/2] Ingmar Vanhassel, Carl Worth [notmuch] [PATCH] Typsos (inbox unread)
2009-11-18 [2/2] Alex Botero-Lowry, Carl Worth [notmuch] [PATCH] Error out if no query is supplied to search instead of going into an infinite loop (attachment inbox unread)
2009-11-18 [2/2] Lars Kellogg-Stedman [notmuch] "notmuch help" outputs to stderr? (attachment inbox signed unread)
2009-11-18 [4/4] Jjgod Jiang, Alexander Botero-Lowry [notmuch] Mac OS X/Darwin compatibility issues (inbox unread)
2009-11-18 [1/1] Jan Janak [notmuch] [PATCH] notmuch new: Support for conversion of spool subdirectories into tags (inbox unread)
2009-11-18 [1/1] Rolland Santimano [notmuch] Link to mailing list archives ? (inbox unread)
2009-11-18 [1/1] Alexander Botero-Lowry [notmuch] request for pull (inbox unread)
2009-11-18 [2/2] Keith Packard, Alexander Botero-Lowry [notmuch] [PATCH] Create a default notmuch-show-hook that highlights URLs and uses word-wrap (inbox unread)
2010-12-16 [1/1] Olivier Berger Essai accentué (inbox unread)
2010-12-29 [1/1] François Boulogne [aur-general] Guidelines: cp, mkdir vs install (inbox unread)
End of search results.

View file

@ -0,0 +1,53 @@
2009-11-17 Mikhail Gusarov ┬►[notmuch] [PATCH 1/2] Close message file after parsing message headers (inbox unread)
2009-11-17 Mikhail Gusarov ├─►[notmuch] [PATCH 2/2] Include <stdint.h> to get uint32_t in C++ file with gcc 4.4 (inbox unread)
2009-11-17 Carl Worth ╰┬►[notmuch] [PATCH 1/2] Close message file after parsing message headers (inbox unread)
2009-11-17 Keith Packard ╰┬► ... (inbox unread)
2009-11-18 Carl Worth ╰─► ... (inbox unread)
2009-11-17 Lars Kellogg-Stedman ┬►[notmuch] Working with Maildir storage? (inbox signed unread)
2009-11-17 Mikhail Gusarov ├┬► ... (inbox signed unread)
2009-11-17 Lars Kellogg-Stedman │╰┬► ... (inbox signed unread)
2009-11-17 Mikhail Gusarov │ ├─► ... (inbox unread)
2009-11-17 Keith Packard │ ╰┬► ... (inbox unread)
2009-11-18 Lars Kellogg-Stedman │ ╰─► ... (inbox signed unread)
2009-11-18 Carl Worth ╰─► ... (inbox unread)
2009-11-17 Alex Botero-Lowry ┬►[notmuch] preliminary FreeBSD support (attachment inbox unread)
2009-11-17 Carl Worth ╰─► ... (inbox unread)
2009-11-17 Mikhail Gusarov ─►[notmuch] [PATCH] Handle rename of message file (inbox unread)
2009-11-17 Keith Packard ┬►[notmuch] [PATCH] Make notmuch-show 'X' (and 'x') commands remove inbox (and unread) tags (inbox unread)
2009-11-18 Carl Worth ╰─►[notmuch] [PATCH] Make notmuch-show 'X' (and 'x') commands remove inbox (and unread) tags (inbox unread)
2009-11-17 Jan Janak ┬►[notmuch] [PATCH] Older versions of install do not support -C. (inbox unread)
2009-11-18 Carl Worth ╰─► ... (inbox unread)
2009-11-17 Jan Janak ┬►[notmuch] What a great idea! (inbox unread)
2009-11-17 Jan Janak ├─► ... (inbox unread)
2009-11-18 Carl Worth ╰─► ... (inbox unread)
2009-11-17 Israel Herraiz ┬►[notmuch] New to the list (inbox unread)
2009-11-18 Keith Packard ├─► ... (inbox unread)
2009-11-18 Carl Worth ╰─► ... (inbox unread)
2009-11-17 Adrian Perez de Cast ┬►[notmuch] Introducing myself (inbox signed unread)
2009-11-18 Keith Packard ├─► ... (inbox unread)
2009-11-18 Carl Worth ╰─► ... (inbox unread)
2009-11-17 Aron Griffis ┬►[notmuch] archive (inbox unread)
2009-11-18 Keith Packard ╰┬► ... (inbox unread)
2009-11-18 Carl Worth ╰─► ... (inbox unread)
2009-11-17 Ingmar Vanhassel ┬►[notmuch] [PATCH] Typsos (inbox unread)
2009-11-18 Carl Worth ╰─► ... (inbox unread)
2009-11-18 Alex Botero-Lowry ┬►[notmuch] [PATCH] Error out if no query is supplied to search instead of going into an infinite loop (attachment inbox unread)
2009-11-18 Carl Worth ╰─►[notmuch] [PATCH] Error out if no query is supplied to search instead of going into an infinite loop (inbox unread)
2009-11-18 Lars Kellogg-Stedman ┬►[notmuch] "notmuch help" outputs to stderr? (attachment inbox signed unread)
2009-11-18 Lars Kellogg-Stedman ╰─► ... (attachment inbox signed unread)
2009-11-18 Stewart Smith ─►[notmuch] [PATCH] Fix linking with gcc to use g++ to link in C++ libs. (deleted inbox unread)
2009-11-18 Stewart Smith ─►[notmuch] [PATCH 2/2] Read mail directory in inode number order (deleted inbox unread)
2009-11-18 Stewart Smith ─►[notmuch] [PATCH] count_files: sort directory in inode order before statting (deleted inbox unread)
2009-11-18 Jjgod Jiang ┬►[notmuch] Mac OS X/Darwin compatibility issues (inbox unread)
2009-11-18 Alexander Botero-Low ╰┬► ... (inbox unread)
2009-11-18 Jjgod Jiang ╰┬► ... (inbox unread)
2009-11-18 Alexander Botero-Low ╰─► ... (inbox unread)
2009-11-18 Jan Janak ─►[notmuch] [PATCH] notmuch new: Support for conversion of spool subdirectories into tags (inbox unread)
2009-11-18 Rolland Santimano ─►[notmuch] Link to mailing list archives ? (inbox unread)
2009-11-18 Alexander Botero-Low ─►[notmuch] request for pull (inbox unread)
2009-11-18 Keith Packard ┬►[notmuch] [PATCH] Create a default notmuch-show-hook that highlights URLs and uses word-wrap (inbox unread)
2009-11-18 Alexander Botero-Low ╰─►[notmuch] [PATCH] Create a default notmuch-show-hook that highlights URLs and uses word-wrap (inbox unread)
2009-11-18 Chris Wilson ─►[notmuch] [PATCH 1/2] Makefile: evaluate pkg-config once (deleted inbox unread)
2010-12-16 Olivier Berger ─►Essai accentué (inbox unread)
2010-12-29 François Boulogne ─►[aur-general] Guidelines: cp, mkdir vs install (inbox unread)
End of search results.

View file

@ -0,0 +1,49 @@
2009-11-17 Mikhail Gusarov ┬►[notmuch] [PATCH 1/2] Close message file after parsing message headers (inbox unread)
2009-11-17 Mikhail Gusarov ├─►[notmuch] [PATCH 2/2] Include <stdint.h> to get uint32_t in C++ file with gcc 4.4 (inbox unread)
2009-11-17 Carl Worth ╰┬►[notmuch] [PATCH 1/2] Close message file after parsing message headers (inbox unread)
2009-11-17 Keith Packard ╰┬► ... (inbox unread)
2009-11-18 Carl Worth ╰─► ... (inbox unread)
2009-11-17 Lars Kellogg-Stedman ┬►[notmuch] Working with Maildir storage? (inbox signed unread)
2009-11-17 Mikhail Gusarov ├┬► ... (inbox signed unread)
2009-11-17 Lars Kellogg-Stedman │╰┬► ... (inbox signed unread)
2009-11-17 Mikhail Gusarov │ ├─► ... (inbox unread)
2009-11-17 Keith Packard │ ╰┬► ... (inbox unread)
2009-11-18 Lars Kellogg-Stedman │ ╰─► ... (inbox signed unread)
2009-11-18 Carl Worth ╰─► ... (inbox unread)
2009-11-17 Alex Botero-Lowry ┬►[notmuch] preliminary FreeBSD support (attachment inbox unread)
2009-11-17 Carl Worth ╰─► ... (inbox unread)
2009-11-17 Mikhail Gusarov ─►[notmuch] [PATCH] Handle rename of message file (inbox unread)
2009-11-17 Keith Packard ┬►[notmuch] [PATCH] Make notmuch-show 'X' (and 'x') commands remove inbox (and unread) tags (inbox unread)
2009-11-18 Carl Worth ╰─►[notmuch] [PATCH] Make notmuch-show 'X' (and 'x') commands remove inbox (and unread) tags (inbox unread)
2009-11-17 Jan Janak ┬►[notmuch] [PATCH] Older versions of install do not support -C. (inbox unread)
2009-11-18 Carl Worth ╰─► ... (inbox unread)
2009-11-17 Jan Janak ┬►[notmuch] What a great idea! (inbox unread)
2009-11-17 Jan Janak ├─► ... (inbox unread)
2009-11-18 Carl Worth ╰─► ... (inbox unread)
2009-11-17 Israel Herraiz ┬►[notmuch] New to the list (inbox unread)
2009-11-18 Keith Packard ├─► ... (inbox unread)
2009-11-18 Carl Worth ╰─► ... (inbox unread)
2009-11-17 Adrian Perez de Cast ┬►[notmuch] Introducing myself (inbox signed unread)
2009-11-18 Keith Packard ├─► ... (inbox unread)
2009-11-18 Carl Worth ╰─► ... (inbox unread)
2009-11-17 Aron Griffis ┬►[notmuch] archive (inbox unread)
2009-11-18 Keith Packard ╰┬► ... (inbox unread)
2009-11-18 Carl Worth ╰─► ... (inbox unread)
2009-11-17 Ingmar Vanhassel ┬►[notmuch] [PATCH] Typsos (inbox unread)
2009-11-18 Carl Worth ╰─► ... (inbox unread)
2009-11-18 Alex Botero-Lowry ┬►[notmuch] [PATCH] Error out if no query is supplied to search instead of going into an infinite loop (attachment inbox unread)
2009-11-18 Carl Worth ╰─►[notmuch] [PATCH] Error out if no query is supplied to search instead of going into an infinite loop (inbox unread)
2009-11-18 Lars Kellogg-Stedman ┬►[notmuch] "notmuch help" outputs to stderr? (attachment inbox signed unread)
2009-11-18 Lars Kellogg-Stedman ╰─► ... (attachment inbox signed unread)
2009-11-18 Jjgod Jiang ┬►[notmuch] Mac OS X/Darwin compatibility issues (inbox unread)
2009-11-18 Alexander Botero-Low ╰┬► ... (inbox unread)
2009-11-18 Jjgod Jiang ╰┬► ... (inbox unread)
2009-11-18 Alexander Botero-Low ╰─► ... (inbox unread)
2009-11-18 Jan Janak ─►[notmuch] [PATCH] notmuch new: Support for conversion of spool subdirectories into tags (inbox unread)
2009-11-18 Rolland Santimano ─►[notmuch] Link to mailing list archives ? (inbox unread)
2009-11-18 Alexander Botero-Low ─►[notmuch] request for pull (inbox unread)
2009-11-18 Keith Packard ┬►[notmuch] [PATCH] Create a default notmuch-show-hook that highlights URLs and uses word-wrap (inbox unread)
2009-11-18 Alexander Botero-Low ╰─►[notmuch] [PATCH] Create a default notmuch-show-hook that highlights URLs and uses word-wrap (inbox unread)
2010-12-16 Olivier Berger ─►Essai accentué (inbox unread)
2010-12-29 François Boulogne ─►[aur-general] Guidelines: cp, mkdir vs install (inbox unread)
End of search results.

View file

@ -0,0 +1,53 @@
2009-11-17 Mikhail Gusarov [notmuch] [PATCH 1/2] Close message file after parsing message headers (inbox unread)
2009-11-17 Mikhail Gusarov [notmuch] [PATCH 2/2] Include <stdint.h> to get uint32_t in C++ file with gcc 4.4 (inbox unread)
2009-11-17 Carl Worth [notmuch] [PATCH 1/2] Close message file after parsing message headers (inbox unread)
2009-11-17 Lars Kellogg-Stedman [notmuch] Working with Maildir storage? (inbox signed unread)
2009-11-17 Mikhail Gusarov [notmuch] Working with Maildir storage? (inbox signed unread)
2009-11-17 Alex Botero-Lowry [notmuch] preliminary FreeBSD support (attachment inbox unread)
2009-11-17 Carl Worth [notmuch] preliminary FreeBSD support (inbox unread)
2009-11-17 Lars Kellogg-Stedman [notmuch] Working with Maildir storage? (inbox signed unread)
2009-11-17 Mikhail Gusarov [notmuch] Working with Maildir storage? (inbox unread)
2009-11-17 Mikhail Gusarov [notmuch] [PATCH] Handle rename of message file (inbox unread)
2009-11-17 Keith Packard [notmuch] [PATCH 1/2] Close message file after parsing message headers (inbox unread)
2009-11-17 Keith Packard [notmuch] Working with Maildir storage? (inbox unread)
2009-11-17 Keith Packard [notmuch] [PATCH] Make notmuch-show 'X' (and 'x') commands remove inbox (and unread) tags (inbox unread)
2009-11-17 Jan Janak [notmuch] [PATCH] Older versions of install do not support -C. (inbox unread)
2009-11-17 Jan Janak [notmuch] What a great idea! (inbox unread)
2009-11-17 Jan Janak [notmuch] What a great idea! (inbox unread)
2009-11-17 Israel Herraiz [notmuch] New to the list (inbox unread)
2009-11-17 Adrian Perez de Cast [notmuch] Introducing myself (inbox signed unread)
2009-11-17 Aron Griffis [notmuch] archive (inbox unread)
2009-11-17 Ingmar Vanhassel [notmuch] [PATCH] Typsos (inbox unread)
2009-11-18 Alex Botero-Lowry [notmuch] [PATCH] Error out if no query is supplied to search instead of going into an infinite loop (attachment inbox unread)
2009-11-18 Lars Kellogg-Stedman [notmuch] Working with Maildir storage? (inbox signed unread)
2009-11-18 Lars Kellogg-Stedman [notmuch] "notmuch help" outputs to stderr? (attachment inbox signed unread)
2009-11-18 Lars Kellogg-Stedman [notmuch] "notmuch help" outputs to stderr? (attachment inbox signed unread)
2009-11-18 Stewart Smith [notmuch] [PATCH] Fix linking with gcc to use g++ to link in C++ libs. (deleted inbox unread)
2009-11-18 Stewart Smith [notmuch] [PATCH 2/2] Read mail directory in inode number order (deleted inbox unread)
2009-11-18 Keith Packard [notmuch] New to the list (inbox unread)
2009-11-18 Keith Packard [notmuch] Introducing myself (inbox unread)
2009-11-18 Keith Packard [notmuch] archive (inbox unread)
2009-11-18 Stewart Smith [notmuch] [PATCH] count_files: sort directory in inode order before statting (deleted inbox unread)
2009-11-18 Jjgod Jiang [notmuch] Mac OS X/Darwin compatibility issues (inbox unread)
2009-11-18 Jan Janak [notmuch] [PATCH] notmuch new: Support for conversion of spool subdirectories into tags (inbox unread)
2009-11-18 Rolland Santimano [notmuch] Link to mailing list archives ? (inbox unread)
2009-11-18 Alexander Botero-Low [notmuch] Mac OS X/Darwin compatibility issues (inbox unread)
2009-11-18 Jjgod Jiang [notmuch] Mac OS X/Darwin compatibility issues (inbox unread)
2009-11-18 Alexander Botero-Low [notmuch] Mac OS X/Darwin compatibility issues (inbox unread)
2009-11-18 Alexander Botero-Low [notmuch] request for pull (inbox unread)
2009-11-18 Keith Packard [notmuch] [PATCH] Create a default notmuch-show-hook that highlights URLs and uses word-wrap (inbox unread)
2009-11-18 Alexander Botero-Low [notmuch] [PATCH] Create a default notmuch-show-hook that highlights URLs and uses word-wrap (inbox unread)
2009-11-18 Carl Worth [notmuch] [PATCH 1/2] Close message file after parsing message headers (inbox unread)
2009-11-18 Carl Worth [notmuch] Working with Maildir storage? (inbox unread)
2009-11-18 Carl Worth [notmuch] [PATCH] Make notmuch-show 'X' (and 'x') commands remove inbox (and unread) tags (inbox unread)
2009-11-18 Carl Worth [notmuch] archive (inbox unread)
2009-11-18 Carl Worth [notmuch] [PATCH] Older versions of install do not support -C. (inbox unread)
2009-11-18 Carl Worth [notmuch] What a great idea! (inbox unread)
2009-11-18 Carl Worth [notmuch] New to the list (inbox unread)
2009-11-18 Carl Worth [notmuch] Introducing myself (inbox unread)
2009-11-18 Carl Worth [notmuch] [PATCH] Typsos (inbox unread)
2009-11-18 Carl Worth [notmuch] [PATCH] Error out if no query is supplied to search instead of going into an infinite loop (inbox unread)
2009-11-18 Chris Wilson [notmuch] [PATCH 1/2] Makefile: evaluate pkg-config once (deleted inbox unread)
2010-12-16 Olivier Berger Essai accentué (inbox unread)
2010-12-29 François Boulogne [aur-general] Guidelines: cp, mkdir vs install (inbox unread)
End of search results.

View file

@ -0,0 +1,49 @@
2009-11-17 Mikhail Gusarov [notmuch] [PATCH 1/2] Close message file after parsing message headers (inbox unread)
2009-11-17 Mikhail Gusarov [notmuch] [PATCH 2/2] Include <stdint.h> to get uint32_t in C++ file with gcc 4.4 (inbox unread)
2009-11-17 Carl Worth [notmuch] [PATCH 1/2] Close message file after parsing message headers (inbox unread)
2009-11-17 Lars Kellogg-Stedman [notmuch] Working with Maildir storage? (inbox signed unread)
2009-11-17 Mikhail Gusarov [notmuch] Working with Maildir storage? (inbox signed unread)
2009-11-17 Alex Botero-Lowry [notmuch] preliminary FreeBSD support (attachment inbox unread)
2009-11-17 Carl Worth [notmuch] preliminary FreeBSD support (inbox unread)
2009-11-17 Lars Kellogg-Stedman [notmuch] Working with Maildir storage? (inbox signed unread)
2009-11-17 Mikhail Gusarov [notmuch] Working with Maildir storage? (inbox unread)
2009-11-17 Mikhail Gusarov [notmuch] [PATCH] Handle rename of message file (inbox unread)
2009-11-17 Keith Packard [notmuch] [PATCH 1/2] Close message file after parsing message headers (inbox unread)
2009-11-17 Keith Packard [notmuch] Working with Maildir storage? (inbox unread)
2009-11-17 Keith Packard [notmuch] [PATCH] Make notmuch-show 'X' (and 'x') commands remove inbox (and unread) tags (inbox unread)
2009-11-17 Jan Janak [notmuch] [PATCH] Older versions of install do not support -C. (inbox unread)
2009-11-17 Jan Janak [notmuch] What a great idea! (inbox unread)
2009-11-17 Jan Janak [notmuch] What a great idea! (inbox unread)
2009-11-17 Israel Herraiz [notmuch] New to the list (inbox unread)
2009-11-17 Adrian Perez de Cast [notmuch] Introducing myself (inbox signed unread)
2009-11-17 Aron Griffis [notmuch] archive (inbox unread)
2009-11-17 Ingmar Vanhassel [notmuch] [PATCH] Typsos (inbox unread)
2009-11-18 Alex Botero-Lowry [notmuch] [PATCH] Error out if no query is supplied to search instead of going into an infinite loop (attachment inbox unread)
2009-11-18 Lars Kellogg-Stedman [notmuch] Working with Maildir storage? (inbox signed unread)
2009-11-18 Lars Kellogg-Stedman [notmuch] "notmuch help" outputs to stderr? (attachment inbox signed unread)
2009-11-18 Lars Kellogg-Stedman [notmuch] "notmuch help" outputs to stderr? (attachment inbox signed unread)
2009-11-18 Keith Packard [notmuch] New to the list (inbox unread)
2009-11-18 Keith Packard [notmuch] Introducing myself (inbox unread)
2009-11-18 Keith Packard [notmuch] archive (inbox unread)
2009-11-18 Jjgod Jiang [notmuch] Mac OS X/Darwin compatibility issues (inbox unread)
2009-11-18 Jan Janak [notmuch] [PATCH] notmuch new: Support for conversion of spool subdirectories into tags (inbox unread)
2009-11-18 Rolland Santimano [notmuch] Link to mailing list archives ? (inbox unread)
2009-11-18 Alexander Botero-Low [notmuch] Mac OS X/Darwin compatibility issues (inbox unread)
2009-11-18 Jjgod Jiang [notmuch] Mac OS X/Darwin compatibility issues (inbox unread)
2009-11-18 Alexander Botero-Low [notmuch] Mac OS X/Darwin compatibility issues (inbox unread)
2009-11-18 Alexander Botero-Low [notmuch] request for pull (inbox unread)
2009-11-18 Keith Packard [notmuch] [PATCH] Create a default notmuch-show-hook that highlights URLs and uses word-wrap (inbox unread)
2009-11-18 Alexander Botero-Low [notmuch] [PATCH] Create a default notmuch-show-hook that highlights URLs and uses word-wrap (inbox unread)
2009-11-18 Carl Worth [notmuch] [PATCH 1/2] Close message file after parsing message headers (inbox unread)
2009-11-18 Carl Worth [notmuch] Working with Maildir storage? (inbox unread)
2009-11-18 Carl Worth [notmuch] [PATCH] Make notmuch-show 'X' (and 'x') commands remove inbox (and unread) tags (inbox unread)
2009-11-18 Carl Worth [notmuch] archive (inbox unread)
2009-11-18 Carl Worth [notmuch] [PATCH] Older versions of install do not support -C. (inbox unread)
2009-11-18 Carl Worth [notmuch] What a great idea! (inbox unread)
2009-11-18 Carl Worth [notmuch] New to the list (inbox unread)
2009-11-18 Carl Worth [notmuch] Introducing myself (inbox unread)
2009-11-18 Carl Worth [notmuch] [PATCH] Typsos (inbox unread)
2009-11-18 Carl Worth [notmuch] [PATCH] Error out if no query is supplied to search instead of going into an infinite loop (inbox unread)
2010-12-16 Olivier Berger Essai accentué (inbox unread)
2010-12-29 François Boulogne [aur-general] Guidelines: cp, mkdir vs install (inbox unread)
End of search results.

View file

@ -0,0 +1,53 @@
2009-11-17 Mikhail Gusarov ┬►[notmuch] [PATCH 1/2] Close message file after parsing message headers (inbox unread)
2009-11-17 Mikhail Gusarov ├─►[notmuch] [PATCH 2/2] Include <stdint.h> to get uint32_t in C++ file with gcc 4.4 (inbox unread)
2009-11-17 Carl Worth ╰┬►[notmuch] [PATCH 1/2] Close message file after parsing message headers (inbox unread)
2009-11-17 Keith Packard ╰┬► ... (inbox unread)
2009-11-18 Carl Worth ╰─► ... (inbox unread)
2009-11-17 Lars Kellogg-Stedman ┬►[notmuch] Working with Maildir storage? (inbox signed unread)
2009-11-17 Mikhail Gusarov ├┬► ... (inbox signed unread)
2009-11-17 Lars Kellogg-Stedman │╰┬► ... (inbox signed unread)
2009-11-17 Mikhail Gusarov │ ├─► ... (inbox unread)
2009-11-17 Keith Packard │ ╰┬► ... (inbox unread)
2009-11-18 Lars Kellogg-Stedman │ ╰─► ... (inbox signed unread)
2009-11-18 Carl Worth ╰─► ... (inbox unread)
2009-11-17 Alex Botero-Lowry ┬►[notmuch] preliminary FreeBSD support (attachment inbox unread)
2009-11-17 Carl Worth ╰─► ... (inbox unread)
2009-11-17 Mikhail Gusarov ─►[notmuch] [PATCH] Handle rename of message file (inbox unread)
2009-11-17 Keith Packard ┬►[notmuch] [PATCH] Make notmuch-show 'X' (and 'x') commands remove inbox (and unread) tags (inbox unread)
2009-11-18 Carl Worth ╰─►[notmuch] [PATCH] Make notmuch-show 'X' (and 'x') commands remove inbox (and unread) tags (inbox unread)
2009-11-17 Jan Janak ┬►[notmuch] [PATCH] Older versions of install do not support -C. (inbox unread)
2009-11-18 Carl Worth ╰─► ... (inbox unread)
2009-11-17 Jan Janak ┬►[notmuch] What a great idea! (inbox unread)
2009-11-17 Jan Janak ├─► ... (inbox unread)
2009-11-18 Carl Worth ╰─► ... (inbox unread)
2009-11-17 Israel Herraiz ┬►[notmuch] New to the list (inbox unread)
2009-11-18 Keith Packard ├─► ... (inbox unread)
2009-11-18 Carl Worth ╰─► ... (inbox unread)
2009-11-17 Adrian Perez de Cast ┬►[notmuch] Introducing myself (inbox signed unread)
2009-11-18 Keith Packard ├─► ... (inbox unread)
2009-11-18 Carl Worth ╰─► ... (inbox unread)
2009-11-17 Aron Griffis ┬►[notmuch] archive (inbox unread)
2009-11-18 Keith Packard ╰┬► ... (inbox unread)
2009-11-18 Carl Worth ╰─► ... (inbox unread)
2009-11-17 Ingmar Vanhassel ┬►[notmuch] [PATCH] Typsos (inbox unread)
2009-11-18 Carl Worth ╰─► ... (inbox unread)
2009-11-18 Alex Botero-Lowry ┬►[notmuch] [PATCH] Error out if no query is supplied to search instead of going into an infinite loop (attachment inbox unread)
2009-11-18 Carl Worth ╰─►[notmuch] [PATCH] Error out if no query is supplied to search instead of going into an infinite loop (inbox unread)
2009-11-18 Lars Kellogg-Stedman ┬►[notmuch] "notmuch help" outputs to stderr? (attachment inbox signed unread)
2009-11-18 Lars Kellogg-Stedman ╰─► ... (attachment inbox signed unread)
2009-11-18 Stewart Smith ─►[notmuch] [PATCH] Fix linking with gcc to use g++ to link in C++ libs. (inbox unread)
2009-11-18 Stewart Smith ─►[notmuch] [PATCH 2/2] Read mail directory in inode number order (inbox unread)
2009-11-18 Stewart Smith ─►[notmuch] [PATCH] count_files: sort directory in inode order before statting (inbox unread)
2009-11-18 Jjgod Jiang ┬►[notmuch] Mac OS X/Darwin compatibility issues (inbox unread)
2009-11-18 Alexander Botero-Low ╰┬► ... (inbox unread)
2009-11-18 Jjgod Jiang ╰┬► ... (inbox unread)
2009-11-18 Alexander Botero-Low ╰─► ... (inbox unread)
2009-11-18 Jan Janak ─►[notmuch] [PATCH] notmuch new: Support for conversion of spool subdirectories into tags (inbox unread)
2009-11-18 Rolland Santimano ─►[notmuch] Link to mailing list archives ? (inbox unread)
2009-11-18 Alexander Botero-Low ─►[notmuch] request for pull (inbox unread)
2009-11-18 Keith Packard ┬►[notmuch] [PATCH] Create a default notmuch-show-hook that highlights URLs and uses word-wrap (inbox unread)
2009-11-18 Alexander Botero-Low ╰─►[notmuch] [PATCH] Create a default notmuch-show-hook that highlights URLs and uses word-wrap (inbox unread)
2009-11-18 Chris Wilson ─►[notmuch] [PATCH 1/2] Makefile: evaluate pkg-config once (inbox unread)
2010-12-16 Olivier Berger ─►Essai accentué (inbox unread)
2010-12-29 François Boulogne ─►[aur-general] Guidelines: cp, mkdir vs install (inbox unread)
End of search results.