]> git.cworth.org Git - notmuch-wiki/blobdiff - emacstips.mdwn
emacstips: tag regions in search mode.
[notmuch-wiki] / emacstips.mdwn
index 552fe3157ddf11e4f78954f8228c778577f2b5f0..f4c571288cd5fd831649dcc5385615b9dbd3e76a 100644 (file)
@@ -177,7 +177,7 @@ case you want this behaviour:
 The `notmuch-{search,show,tree}-tag` functions are very useful for
 making quick tag key bindings.  The arguments to these functions have
 changed as notmuch has evolved but the following should work on all
-versions of notmuch 0.13 and later.  These functions take a list of
+versions of notmuch from 0.13 on.  These functions take a list of
 tag changes as argument. For example, an argument of (list "+spam"
 "-inbox) adds the tag spam and deletes the tag inbox. Note the
 argument must be a list even if there is only a single tag change
@@ -198,6 +198,19 @@ for messages in `notmuch-tree-mode` by replacing "show" by "tree". If
 you want to tag a whole thread in `notmuch-tree-mode` use
 `notmuch-tree-tag-thread` instead of `notmuch-tree-tag`.
 
+You may also want the function in search mode apply to the all threads
+in the selected region (if there is one). For notmuch prior to 0.17
+this behaviour will occur automatically with the functions given
+above. To get this behaviour on 0.17+ do the following:
+
+        (define-key notmuch-search-mode-map "S"
+          (lambda (&optional beg end)
+            "mark thread as spam"
+            (interactive (notmuch-search-interactive-region))
+            (notmuch-search-tag (list "+spam" "-inbox") beg end)))
+
+The analogous functionality in notmuch-tree is currently missing.
+
 The definitions above make use of a lambda function, but you could
 also define a separate function first: