]> git.notmuchmail.org Git - notmuch/blobdiff - TODO
emacs: Explicitly set the From address when composing a new message.
[notmuch] / TODO
diff --git a/TODO b/TODO
index 8dd0878034734aa1765ae0d2163114d412b24d54..0e44f1c20c873ceb6a7e318746f943030f1679ff 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):
@@ -81,6 +130,13 @@ and *then* --max-threads), and also complete value for --sort=
 
 notmuch command-line tool
 -------------------------
 
 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
 Fix the --format=json option to not imply --entire-thread.
 
 Implement "notmuch search --exclude-threads=<search-terms>" to allow
@@ -128,6 +184,20 @@ provide more MIME-structure information in its output first).
 Replace the "notmuch search-tags" command with "notmuch search
 --output=tags".
 
 Replace the "notmuch search-tags" command with "notmuch search
 --output=tags".
 
+Fix to avoid this ugly message:
+
+       (process:17197): gmime-CRITICAL **: g_mime_message_get_mime_part: assertion `GMIME_IS_MESSAGE (message)' failed
+       Warning: Not indexing empty mime part.
+
+  This probably means adding a test case to generate that message,
+  filing an upstream bug against GMime, and then silencing the
+  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
@@ -185,6 +255,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
@@ -225,3 +332,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).