Subject: Re: bug#50344: C-x v keybinding for vc-print-branch-log

From: Juri Linkov <[email-masked]>
Date: Sun, 05 Sep 2021 19:28:06 +0300

>>> I think we want more to remove another duplicate key 'C-x v s'
>>> because then we could bind it to 'vc-log-search'.
>>
>> That works for me. And indeed vc-log-search seems more important.
>>
>> What do others think?
>
> Then it would be only on `B c' in vc-dir-mode?  `C-x v s' isn't very
> mnemonic, but would removing it from global map inconvenience people?
> (I've never used it myself.)

Indeed, it seems there is no way to remove old keybindings, especially
by rebinding them to other commands, so I propose to add new keybindings:

diff --git a/lisp/vc/vc-hooks.el b/lisp/vc/vc-hooks.el
index 4b3c829a2c..4d3f642796 100644
--- a/lisp/vc/vc-hooks.el
+++ b/lisp/vc/vc-hooks.el
@@ -865,6 +865,9 @@ vc-prefix-map
   (let ((map (make-sparse-keymap)))
     (define-key map "a" #'vc-update-change-log)
     (define-key map "b" #'vc-switch-backend)
+    (define-key map "Bc" #'vc-create-tag)
+    (define-key map "Bl" #'vc-print-branch-log)
+    (define-key map "Bs" #'vc-retrieve-tag)
     (define-key map "d" #'vc-dir)
     (define-key map "g" #'vc-annotate)
     (define-key map "G" #'vc-ignore)
@@ -879,6 +882,7 @@ vc-prefix-map
     (define-key map "m" #'vc-merge)
     (define-key map "r" #'vc-retrieve-tag)
     (define-key map "s" #'vc-create-tag)
+    (define-key map "S" #'vc-log-search)
     (define-key map "u" #'vc-revert)
     (define-key map "v" #'vc-next-action)
     (define-key map "+" #'vc-update)