From c049c8da58106e422494914447e06fd7c9deb301 Mon Sep 17 00:00:00 2001 From: Juri Linkov Date: Tue, 6 Apr 2021 00:18:59 +0300 Subject: [PATCH] * lisp/tab-bar.el: Add repeat-map keymaps. * lisp/tab-bar.el (tab-bar-switch-repeat-map): New keymap used for 'tab-next' and 'tab-previous'. (tab-bar-move-repeat-map): New keymap used for 'tab-move'. https://lists.gnu.org/archive/html/emacs-devel/2021-03/msg01103.html --- lisp/tab-bar.el | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/lisp/tab-bar.el b/lisp/tab-bar.el index 2e27b293c5e..f3c2fb7ed96 100644 --- a/lisp/tab-bar.el +++ b/lisp/tab-bar.el @@ -2075,6 +2075,28 @@ When `switch-to-buffer-obey-display-actions' is non-nil, (define-key tab-prefix-map "\C-r" 'find-file-read-only-other-tab) (define-key tab-prefix-map "t" 'other-tab-prefix) +(defvar tab-bar-switch-repeat-map + (let ((map (make-sparse-keymap))) + (define-key map "o" 'tab-next) + (define-key map "O" 'tab-previous) + map) + "Keymap to repeat tab switch key sequences `C-x t o o O'. +Used in `repeat-mode'.") +(put 'tab-next 'repeat-map 'tab-bar-switch-repeat-map) +(put 'tab-previous 'repeat-map 'tab-bar-switch-repeat-map) + +(defvar tab-bar-move-repeat-map + (let ((map (make-sparse-keymap))) + (define-key map "m" 'tab-move) + (define-key map "M" (lambda () + (interactive) + (setq repeat-map 'tab-bar-move-repeat-map) + (tab-move -1))) + map) + "Keymap to repeat tab move key sequences `C-x t m m M'. +Used in `repeat-mode'.") +(put 'tab-move 'repeat-map 'tab-bar-move-repeat-map) + (provide 'tab-bar) -- 2.39.5