[PATCH] emacs: add a filter option to show
amdragon at MIT.EDU
Tue Apr 24 19:55:06 PDT 2012
LGTM. I've been wanting this functionality for a while, but have been
too lazy to implement it myself.
I do have one request, though. Could we bind this to 'l' for "limit"?
Generally we've been quite good at making the shift key a modifier to
the functionality of the lower-case binding, which argues against 'F'.
It would also make sense to switch away from 'f' for filtering
(limiting) in search-view; 'f' is one of the few bindings that's used
in both search and show mode with completely different meanings and
'l' would be a good candidate for the related functionality in both
Quoth Mark Walters on Apr 25 at 12:17 am:
> Show the current thread with a different filter (i.e., open messages
> in the thread matching the new query).
> Currently bound to 'F'.
> Note that it is not the same as filter in search as it replaces the
> existing query rather than ANDing with it (but it does keep the
> threadid part of the query).
> I think filtering (i.e. refining current query) is not ideal as one
> might want to remove some aspects of the query. Hence this patch
> replaces the query-context.
> Note does not fully work with excludes pending
> id:"1331836090-30560-1-git-send-email-markwalters1009 at gmail.com"
> Best wishes
> emacs/notmuch-show.el | 8 ++++++++
> 1 files changed, 8 insertions(+), 0 deletions(-)
> diff --git a/emacs/notmuch-show.el b/emacs/notmuch-show.el
> index 30b26d1..4a5b8b1 100644
> --- a/emacs/notmuch-show.el
> +++ b/emacs/notmuch-show.el
> @@ -42,6 +42,7 @@
> (declare-function notmuch-search-next-thread "notmuch" nil)
> (declare-function notmuch-search-show-thread "notmuch" nil)
> (declare-function notmuch-update-tags "notmuch" (current-tags tag-changes))
> +(declare-function notmuch-read-query "notmuch" (prompt))
> (defcustom notmuch-message-headers '("Subject" "To" "Cc" "Date")
> "Headers that should be shown in a message, in this order.
> @@ -1157,6 +1158,7 @@ reset based on the original query."
> (define-key map "s" 'notmuch-search)
> (define-key map "m" 'notmuch-mua-new-mail)
> (define-key map "f" 'notmuch-show-forward-message)
> + (define-key map "F" 'notmuch-show-filter-thread)
> (define-key map "r" 'notmuch-show-reply-sender)
> (define-key map "R" 'notmuch-show-reply)
> (define-key map "|" 'notmuch-show-pipe-message)
> @@ -1399,6 +1401,12 @@ current thread."
> "Mark the current message as read."
> (notmuch-show-tag-message "-unread"))
> +(defun notmuch-show-filter-thread ()
> + "Show the current thread with a different filter"
> + (interactive)
> + (setq notmuch-show-query-context (notmuch-read-query "Filter thread: "))
> + (notmuch-show-refresh-view t))
> ;; Functions for getting attributes of several messages in the current
> ;; thread.
More information about the notmuch