emacs: tag-jump: make k binding for the reverse tag change map
authorMark Walters <markwalters1009@gmail.com>
Thu, 6 Oct 2016 21:59:00 +0000 (22:59 +0100)
committerDavid Bremner <david@tethera.net>
Sat, 8 Oct 2016 01:35:42 +0000 (22:35 -0300)
Currently, by default k invokes the tag-jump menu, and following it by
r invokes the reverse tag change jump menu. This is awkward to type
(e.g. k r u for undoing a -unread change). This changes it so that k
followed by k invokes the reverse menu. We make the key for the
reverse map a variable as that makes it possible for a user to
change it by editing their .emacs file.

emacs/notmuch-tag.el

index 49662c2034ce3c4d13f8bb980695b14ae5541616..c03027f705f631fa232aa56c01c980ffded40a3a 100644 (file)
@@ -485,6 +485,9 @@ begin with a \"+\" or a \"-\". If REVERSE is non-nil, replace all
                s)))
          tags))
 
+(defvar notmuch-tag-jump-reverse-key "k"
+  "The key in tag-jump to switch to the reverse tag changes.")
+
 (defun notmuch-tag-jump (reverse)
   "Create a jump menu for tagging operations.
 
@@ -523,9 +526,10 @@ and vice versa."
        (push (list key name-string
                     `(lambda () (,tag-function ',tag-change)))
              action-map)))
-    (push (list "r" (if reverse
-                       "Forward tag changes "
-                     "Reverse tag changes")
+    (push (list notmuch-tag-jump-reverse-key
+               (if reverse
+                   "Forward tag changes "
+                 "Reverse tag changes")
                (apply-partially 'notmuch-tag-jump (not reverse)))
          action-map)
     (setq action-map (nreverse action-map))