Signed-off-by: Pieter Praet <pieter@praet.org> --- emacs/notmuch.el | 14 ++++++++++++++ 1 files changed, 14 insertions(+), 0 deletions(-) diff --git a/emacs/notmuch.el b/emacs/notmuch.el index 2338044..46e276a 100644 --- a/emacs/notmuch.el +++ b/emacs/notmuch.el @@ -226,6 +226,7 @@ For a mouse binding, return nil." (defvar notmuch-search-stash-map (let ((map (make-sparse-keymap))) (define-key map "i" 'notmuch-search-stash-thread-id) + (define-key map "m" 'notmuch-search-stash-matched-msgids) map) "Submap for stash commands") (fset 'notmuch-search-stash-map notmuch-search-stash-map) @@ -235,6 +236,19 @@ For a mouse binding, return nil." (interactive) (notmuch-common-do-stash (notmuch-search-find-thread-id))) +(defun notmuch-search-stash-matched-msgids () + "Copy matched Message-ID's of current thread (or threads in region) to kill-ring." + (interactive) + (save-excursion + (if (region-active-p) + (let* ((beg (region-beginning)) + (end (region-end))) + (notmuch-common-do-stash + (mapconcat 'identity + (notmuch-search-find-matched-msgids-region beg end) + " or "))) + (notmuch-common-do-stash (notmuch-search-find-matched-msgids))))) + (defvar notmuch-search-query-string) (defvar notmuch-search-target-thread) (defvar notmuch-search-target-line) -- 1.7.5.4