> Right. How about I get rid of tab-bar-mode--tab-key-bind and just bind
> normally? I'll submit a revised patch shortly, if so.
Yes, please do.
TIA.
> >>> This is useful to avoid key binding conflicts, such as when folding
> in
> >>> outline mode using TAB keys, or when a user wants to define her own
> >>> tab-bar keys without first having to remove the defaults.
> >>
> >> The current implementation was intended to allow removing the
> default keys
> >> easily from 'tab-bar-mode-map'. Here is the NEWS from bug#69578:
> >>
> >> *** New keymap 'tab-bar-mode-map'.
> >> By default it contains a keybinding 'C-TAB' to switch tabs, but
> only
> >> when 'C-TAB' is not bound globally. You can unbind it if it
> conflicts
> >> with 'C-TAB' in other modes.
> >
> > This strategy doesn't account for the key definition race condition,
> and
> > relies on the user to have first defined global TAB keys before
> > tab-bar-mode is enabled.
>
> It checks for global-key-binding every time when the user types C-TAB.
> So it could also check with local-key-binding and
> minor-mode-key-binding in e.g. outline mode, etc.
>
> But since you want to move the C-TAB keybinding from tab-bar-mode-map
> back to tab-bar--define-keys, then :filter is not needed anymore,
> so you can check for global-key-binding only once in
> tab-bar--define-keys.