From: Sean Whitton Date: Fri, 11 Jul 2025 08:30:19 +0000 (+0100) Subject: Apply vc-use-incoming-outgoing-prefixes to vc-dir-mode-map too X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=0e7283888bc4aa3d9404918aa3004a785f2fd1c7;p=emacs.git Apply vc-use-incoming-outgoing-prefixes to vc-dir-mode-map too * lisp/vc/vc-dir.el (vc-use-incoming-outgoing-prefixes): * lisp/vc/vc-hooks.el: Apply vc-use-incoming-outgoing-prefixes to the corresponding bindings in vc-dir-mode-map, too. (cherry picked from commit 5d048521e2715be75bd5ce0b3bc3d8aaacd2f46c) --- diff --git a/lisp/vc/vc-dir.el b/lisp/vc/vc-dir.el index 7ab119abc13..d40a2bc71c7 100644 --- a/lisp/vc/vc-dir.el +++ b/lisp/vc/vc-dir.el @@ -424,6 +424,10 @@ That is, refreshing the VC-Dir buffer also hides `up-to-date' and map) "Keymap for directory buffer.") +(when vc-use-incoming-outgoing-prefixes + (keymap-set vc-dir-mode-map "I" vc-incoming-prefix-map) + (keymap-set vc-dir-mode-map "O" vc-outgoing-prefix-map)) + (defmacro vc-dir-at-event (event &rest body) "Evaluate BODY with point located at `event-start' of EVENT. If BODY uses EVENT, it should be a variable, diff --git a/lisp/vc/vc-hooks.el b/lisp/vc/vc-hooks.el index e40b983655d..8a159d39c41 100644 --- a/lisp/vc/vc-hooks.el +++ b/lisp/vc/vc-hooks.el @@ -976,11 +976,16 @@ other commands receive global bindings where they had none before." :type 'boolean :version "31.1" :set (lambda (symbol value) - (if value - (progn (keymap-set vc-prefix-map "I" vc-incoming-prefix-map) - (keymap-set vc-prefix-map "O" vc-outgoing-prefix-map)) - (keymap-set vc-prefix-map "I" #'vc-log-incoming) - (keymap-set vc-prefix-map "O" #'vc-log-outgoing)) + (let ((maps (list vc-prefix-map))) + (when (boundp 'vc-dir-mode-map) + (push vc-dir-mode-map maps)) + (if value + (dolist (map maps) + (keymap-set map "I" vc-incoming-prefix-map) + (keymap-set map "O" vc-outgoing-prefix-map)) + (dolist (map maps) + (keymap-set map "I" #'vc-log-incoming) + (keymap-set map "O" #'vc-log-outgoing)))) (set-default symbol value))) (defvar vc-menu-map