[PATCH 0/5] emacs: make tab completion use visible tags

Mark Walters markwalters1009 at gmail.com
Fri Nov 30 00:21:26 PST 2012


Currently when doing tab completion emacs queries the database and
completes to any tag when adding but only completes to tags that are
present in the message/thread/region when removing. However, since it
queries the database it does this based on the current tags in the
database not the current tags shown in the search view.

This means that tag completion is not predictable and this seems
undesirable. This series modifies it so that the tag caller can
specify the possible completions (typically based on the tags that it
believes are present). This means that the user know that -un<tab>
will complete to -unread if he can see unread in the messages
tags. (unread is a common stale tag as when you quit from a show
buffer back to the search buffer the unread has often been removed).

One side effect is that it solves the `large search' problem when
doing tag completion on the very large queries that will be generated
by the move to tagging by message-id rather than thread-id.
id:1353763256-32336-1-git-send-email-markwalters1009 at gmail.com
(The tagging can use the batch tagging when that goes in).

I think this makes the user interface more predictable/consistent but
whether it is worth the change is less clear.

Best wishes

Mark

markwalters1009 (5):
  emacs: move tag.el utility functions from lists to strings
  emacs: allow the tag caller to specify possible completions.
  emacs: notmuch.el remove duplicate tags from get-tags-region
  emacs: make search tag completion use the tags it believes are there
  emacs: show tag completion

 emacs/notmuch-show.el |   32 +++++++++++++++++++++++++-------
 emacs/notmuch-tag.el  |   38 +++++++++++++++++++++++++++-----------
 emacs/notmuch.el      |   10 ++++++----
 3 files changed, 58 insertions(+), 22 deletions(-)

-- 
1.7.9.1



More information about the notmuch mailing list