]> git.eshelyaron.com Git - emacs.git/commitdiff
Apply vc-use-incoming-outgoing-prefixes to vc-dir-mode-map too
authorSean Whitton <spwhitton@spwhitton.name>
Fri, 11 Jul 2025 08:30:19 +0000 (09:30 +0100)
committerEshel Yaron <me@eshelyaron.com>
Thu, 24 Jul 2025 08:06:49 +0000 (10:06 +0200)
* 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)

lisp/vc/vc-dir.el
lisp/vc/vc-hooks.el

index 7ab119abc139997206163a698e3cddf3b21df136..d40a2bc71c7b982b9a7b37e96c54b769f98ce562 100644 (file)
@@ -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,
index e40b983655d897ef52cb88674e3b388aa9241d78..8a159d39c411e3a32defaec77652e435bb36a71a 100644 (file)
@@ -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