2. Allow an easy way to get tags from directory names (if the user has them)
-3. Allow an easy way to remove excess tags, (date-based search)
-
-4. Make emacs fast for big search results (see "lazy searching" below)
-
-5. Fix Xapian defect #250 so tagging is fast.
+3. Fix Xapian defect #250 so tagging is fast.
Emacs interface (notmuch.el)
----------------------------
-Make the keybindings help ('?') display the summary of each command's
-documentation, not the function name.
+Enhance '+' and '-' in the search view to operate on an entire region
+if set.
+
+Fix '*' to work by simply calling '+' or '-' on a region consisting of
+the entire buffer.
Add a global keybinding table for notmuch, and then view-specific
tables that add to it.
Add a command to archive all threads in a search view.
-
-Lazy searching: call "notmuch search" with --first and --max to fill
-just a screenful of results, and then fill in more as ther user pages
-through the buffer.
-
+
Add a '|' binding from the search view.
-Add a binding to run a search from notmuch-show-mode.
-
When a thread has been entirely read, start out by closing all
messages except those that matched the search terms.
-----------
Fix configure script to test each compiler warning we want to use.
-Implement strndup locally (or call talloc_strndup instead).
-
-Implement getline locally, (look at gnulib).
-
Completion
----------
Fix bash completion to complete multiple search options (both --first
notmuch command-line tool
-------------------------
+Implement "notmuch search --exclude-threads=<search-terms>" to allow
+for excluding muted threads, (and any other negative, thread-based
+filtering that the user wants to do).
+
+Fix "notmuch show" so that the UI doesn't fail to show a thread that
+is visible in a search buffer, but happens to no longer match the
+current search. (Perhaps add a --matching=<secondary-search-terms>
+option (or similar) to "notmuch show".)
+
Teach "notmuch search" to return many different kinds of results. Some
ideas:
Xapian bugs fixed that are making this operation slow, we really need
to let the user know that things are still moving.
+Fix "notmuch restore" to operate in a single pass much like "notmuch
+dump" does, rather than doing N searches into the database, each
+matching 1/N messages.
+
Add a "-f <filename>" option to select an alternate configuration
file.
new directory will result in notmuch creating new timestamp documents
and leaving stale ones behind.)
-Ensure that "notmuch new" is sane if its first, giant indexing session
-gets interrupted, (that is, ensure that any results indexed so far are
-flushed).
-
Fix notmuch.c to use a DIR prefix for directory timestamps, (the idea
being that it can then add other non-directory timestamps such as for
noting how far back in the past mail has been indexed, and whether it
notmuch library
---------------
+Index content from citations, please.
+
+Provide a sane syntax for date ranges. First, we don't want to require
+both endpoints to be specified. For example it would be nice to be
+able to say things like "since:2009-01-1" or "until:2009-01-1" and
+have the other endpoint be implicit. Second we'd like to support
+relative specifications of time such as "since:'2 months ago'". To do
+any of this we're probably going to need to break down an write our
+own parser for the query string rather than using Xapian's QueryParser
+class.
+
+Make failure to read a file (such as a permissions problem) a warning
+rather than an error (should be similar to the existing warning for a
+non-mail file).
+
Add support for files that are moved or deleted (which obviously need
to be handled differently).
(tag-name, search-specification). The database is responsible for
ensuring that the virtual tag is always consistent.
+Indicate to the user if two files with the same message ID have
+content that is actually different in some interesting way. Perhaps
+notmuch initially sees all changes as interesting, and quickly learns
+from the user which changes are not interesting (such as the very
+common mailing-list footer).
+
General
-------
Audit everything for dealing with out-of-memory (and drop xutil.c).