]> git.notmuchmail.org Git - notmuch/blobdiff - TODO
notmuch search: Add a new --output=(summary|threads|messages|tags) option.
[notmuch] / TODO
diff --git a/TODO b/TODO
index 7cbf632dcb59c200a65725778dec0912ea69e5e4..08f0882bcc1a8e9e0bd6015ada0a91c4156056d1 100644 (file)
--- a/TODO
+++ b/TODO
@@ -6,8 +6,12 @@ Fix the things that are causing the most pain to new users
 
 Emacs interface (notmuch.el)
 ----------------------------
-Enhance '+' and '-' in the search view to operate on an entire region
-if set.
+Switch the notmuch-search view to use "notmuch search --format=json"
+to fix large classes of bugs regarding poorly-escaped output and lame
+regular expressions. (The most recently found, unfixed example is the
+sender's name containing ';' which causes emacs to drop a search
+result.) This may require removing the outer array from the current
+"notmuch search --format=json" results.
 
 Fix '*' to work by simply calling '+' or '-' on a region consisting of
 the entire buffer.
@@ -31,8 +35,6 @@ Add support to "mute" a thread (add a "muted" tag and then don't
 display threads in searches by default where any message of the thread
 has the "muted" tag).
 
-Fix i-search to open up invisible citations as necessary.
-
 Make '=' count from the end rather than from the beginning if more
 than half-way through the buffer.
 
@@ -41,10 +43,6 @@ sending. This should probably just be fixed in message-mode itself,
 (but perhaps we can have a notmuch-message-mode that layers this on
 top).
 
-Implement Fcc and use it for all messages, (whether a new composition,
-a reply, or a forward). This again may require a notmuch-message-mode
-that extends message-mode.
-
 Stop hiding the headers so much in the thread-view mode.
 
 Allow opening a message in thread-view mode by clicking on either
@@ -56,61 +54,9 @@ Change 'a' command in thread-view mode to only archive open messages.
 
 Add a binding to open all closed messages.
 
-Make all authors and subjects available to isearch, (hidden by default
-but with magic expansion while isearching).
-
-Fix notmuch-hello as follows:
-
-       1. Change the "notmuch" and message count in the welcome sentence to
-          not be buttons.
-
-       2. Put the saved searches (if any) before the search bar.
-
-       3. When `notmuch-hello' (or even `notmuch' when it gets its new name)
-          is invoked directly, move to the first button, (go to point-min and
-          then call widget-forward). That is, if the user has any saved
-          searches, then point will be on the first one. If the user has no
-          saved searches, then point will be on the search bar.
-
-       4. Fix refresh of notmuch-hello to leave point in the same logical
-          place, (the same saved-search widget at least).
-
 Change the 'a'rchive command in the thread view to only archive open
 messages.
 
-Emacs saved-search interface
-----------------------------
-Here's a proposal Carl wrote (id:87einafy4u.fsf@yoom.home.cworth.org):
-
-  So what I'm imagining for the default notmuch view is something like
-  this:
-
-          Welcome to notmuch.
-
-              Notmuch search: _________________________________________
-
-          Saved searches:
-
-              55,342      All messages
-                  22      Inbox
-
-          Recent searches:
-
-                   1      from:"someone special" and tag:unread
-                  34      tag:notmuch and tag:todo
-
-          Click (or press Enter) on any search to see the results.
-          Right-click (or press Space) on any recent search to save it.
-
-  So the "saved searches" portion of the view is basically just what
-  notmuch-folder displays now. Above that there's an obvious place to
-  start a new search, (in a slightly more "web-browser-like" way than the
-  typical mini-buffer approach).
-
-  All recent searches appear in the list at the bottom automatically, and
-  there's the documented mechanism for saving a search, (giving it a name
-  and having it appear above).
-
 Portability
 -----------
 Fix configure script to test each compiler warning we want to use.
@@ -123,6 +69,13 @@ and *then* --max-threads), and also complete value for --sort=
 
 notmuch command-line tool
 -------------------------
+Replace "notmuch reply" with "notmuch compose --reply <search-terms>".
+This would enable a plain "notmuch compose" to be used to construct an
+initial message, (which would then have the properly configured name
+and email address in the From: line. We could also then easily support
+"notmuch compose --from <something>" to support getting at alternate
+email addresses.
+
 Fix the --format=json option to not imply --entire-thread.
 
 Implement "notmuch search --exclude-threads=<search-terms>" to allow
@@ -136,21 +89,9 @@ option (or similar) to "notmuch show".) For now, this is being worked
 around in the emacs interface by noticing that "notmuch show" returns
 nothing and re-rerunning the command without the extra arguments.
 
-Teach "notmuch search" to return many different kinds of results. Some
-ideas:
-
-       notmuch search --output=threads # Default if no --output is given
-       notmuch search --output=messages
-       notmuch search --output=tags
-       notmuch search --output=addresses
-       notmuch search --output=terms
-
 Add a "--format" option to "notmuch search", (something printf-like
 for selecting what gets printed).
 
-Add a "--count-only" (or so?) option to "notmuch search" for returning
-the count of search results.
-
 Give "notmuch restore" some progress indicator.
 
 Fix "notmuch restore" to operate in a single pass much like "notmuch
@@ -202,8 +143,6 @@ 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).
 
-Actually compile and install a libnotmuch shared library.
-
 Fix to use the *last* Message-ID header if multiple such headers are
 encountered, (I noticed this is one thing that kept me from seeing the
 same message-ID values as sup).
@@ -247,6 +186,11 @@ into the shared-library interface.
 Audit all libnotmuch entry points to ensure that all Xapian calls are
 wrapped in a try/catch block.
 
+Fix the "count" functionality to be exact as Olly explained in IRC:
+
+       ojwb> cworth: if you set the check_at_least parameter to the
+       database size, get_matches_estimated() will be exact
+
 Search syntax
 -------------
 Implement support for "tag:*" to expand to all tags.
@@ -283,7 +227,7 @@ fix old messages to be consistent.
 Start indexing the List-Id header, (and re-index this header for
 existing messages at the next database upgrade).
 
-Start indexing the message file's directory ana make it available for
+Start indexing the message file's directory and make it available for
 search as "folder:" (and re-index this value for existing messages at
 the next database upgrade).
 
@@ -292,24 +236,19 @@ re-index these for existing messages at the next database upgrade).
 
 Test suite
 ----------
-Start testing --format=json.
-
 Achieve 100% test coverage with the test suite.
 
-Modularize test suite (to be able to run individual tests).
-
-Summarize test results at the end.
-
-Fix the insane quoting nightmare of the test suite, (and once we do
-that we can actually test the implicit-phrase search feature such as
-"notmuch search 'body search (phrase)'"
-
-Test "notmuch reply" choosing the correct email address from the
-Received header when no configured email address appears in To or Cc.
-
 General
 -------
 Audit everything for dealing with out-of-memory (and drop xutil.c).
 
 Investigate why the notmuch database is slightly larger than the sup
 database for the same corpus of email.
+
+Makefile should print message teaching user about LD_LIBRARY_PATH (or
+similar) if libdir is not set to a directory examined by ldconfig.
+
+Fix notmuch build system to work with gold, (apt-get
+binutils-gold). Need the notmuch binary to explicitly link againsts
+libraries it depends on, (rather than just getting them via
+libnotmuch).