Subject: bug#79323: 30.2; Control-X-prefix not remapable

From: Juri Linkov <[email-masked]>
Date: Thu, 28 Aug 2025 21:56:01 +0300

> The culprit here is global-tab-line-mode.
>
> Commit 230eecf12a introduces C-x prefixed bindings for tab switching,
> which are present in 30.2 but not 29.4.

Thanks for finding this commit.  I forgot we have a special keymap
'ctl-x-map'.  This patch should fix it:

diff --git a/lisp/tab-line.el b/lisp/tab-line.el
index 7caae8bc2c1..17015ffcbb5 100644
--- a/lisp/tab-line.el
+++ b/lisp/tab-line.el
@@ -1279,12 +1279,13 @@ tab-line-event-start
 
 (defvar-keymap tab-line-mode-map
   :doc "Keymap for keys of `tab-line-mode'."
-  "C-x <left>"    #'tab-line-switch-to-prev-tab
-  "C-x C-<left>"  #'tab-line-switch-to-prev-tab
-  "C-x M-<left>"  #'tab-line-move-tab-backward
-  "C-x <right>"   #'tab-line-switch-to-next-tab
-  "C-x C-<right>" #'tab-line-switch-to-next-tab
-  "C-x M-<right>" #'tab-line-move-tab-forward)
+  :parent ctl-x-map
+  "<left>"    #'tab-line-switch-to-prev-tab
+  "C-<left>"  #'tab-line-switch-to-prev-tab
+  "M-<left>"  #'tab-line-move-tab-backward
+  "<right>"   #'tab-line-switch-to-next-tab
+  "C-<right>" #'tab-line-switch-to-next-tab
+  "M-<right>" #'tab-line-move-tab-forward)
 
 (defvar-keymap tab-line-switch-repeat-map
   :doc "Keymap to repeat tab/buffer cycling.  Used in `repeat-mode'."