]> git.notmuchmail.org Git - notmuch/blobdiff - TODO
test: Add tests for emacs notmuch-search and notmuch-show functions.
[notmuch] / TODO
diff --git a/TODO b/TODO
index f352faf2b19375d6ff2c94c7df5bb82add858146..cd38c31ef90a40f53f97be44aab468b742428d18 100644 (file)
--- a/TODO
+++ b/TODO
@@ -6,6 +6,13 @@ Fix the things that are causing the most pain to new users
 
 Emacs interface (notmuch.el)
 ----------------------------
 
 Emacs interface (notmuch.el)
 ----------------------------
+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.
+
 Enhance '+' and '-' in the search view to operate on an entire region
 if set.
 
 Enhance '+' and '-' in the search view to operate on an entire region
 if set.
 
@@ -36,6 +43,48 @@ 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.
 
 Make '=' count from the end rather than from the beginning if more
 than half-way through the buffer.
 
+Fix to automatically wrap long headers (for RFC compliance) before
+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
+line.
+
+Automatically open a message when navigating to it with N or P.
+
+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):
 Emacs saved-search interface
 ----------------------------
 Here's a proposal Carl wrote (id:87einafy4u.fsf@yoom.home.cworth.org):
@@ -138,6 +187,10 @@ Fix to avoid this ugly message:
   notmuch-generated portion of the warning (so that once GMime is
   fixed, this is all silent).
 
   notmuch-generated portion of the warning (so that once GMime is
   fixed, this is all silent).
 
+Simplify notmuch-reply to simply print the headers (we have the
+original values) rather than calling GMime (which encodes) and adding
+the confusing gmime-filter-headers.c code (which decodes).
+
 notmuch library
 ---------------
 Add an interface to accept a "key" and a byte stream, rather than a
 notmuch library
 ---------------
 Add an interface to accept a "key" and a byte stream, rather than a
@@ -195,6 +248,43 @@ notmuch searches. Here was one proposal made in IRC:
 Provide a ~me Xapian synonym for all of the user's configured email
 addresses.
 
 Provide a ~me Xapian synonym for all of the user's configured email
 addresses.
 
+Add symbol hiding so that we don't risk leaking any private symbols
+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.
+
+Fix "notmuch search to:" to be less confusing. Many users expect this
+to search for all messages with a To: header, but it instead searches
+for all messages with the word "to". If we don't provide the first
+behavior, perhaps we should exit on an error when a configured prefix
+is provided with no value?
+
+Support "*" in all cases and not just as a special case. That is, "* "
+should also work, as well as "* and tag:inbox".
+
+Implement a syntax for requesting set-theoertic operations on results
+of multiple searches. For example, I would like to do:
+
+       "tag:inbox" SET-SUBTRACT "tag:muted"
+
+    as well as:
+
+       "tag:notmuch and <date-range>" SET-INTERSECT
+       "tag:notmuch and not (tag:merged or tag:postponed)"
+
+    See id:3wdpr282yz2.fsf@testarossa.amd.com for more details on the
+    use cases of the above.
+
 Database changes
 ----------------
 Store a reference term for every message-id that appears in
 Database changes
 ----------------
 Store a reference term for every message-id that appears in
@@ -235,3 +325,11 @@ 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.
 
 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).