Subject: Re: bug#41198: 28.0.50; heading cycling command for outline

From: Juri Linkov <[email-masked]>
Date: Sat, 12 Dec 2020 22:57:02 +0200

> I don't follow master so I'm not quite sure what's
> implemented, but my original suggestion for this was:
>
> (define-key outline-minor-mode-map (kbd "C-<tab>") 'outline-cycle)
> (define-key outline-minor-mode-map (kbd "S-<tab>") 'outline-global-cycle)
>
> It's definitely very useful in outline-minor-mode. I use
> this for code folding in prog-modes amongst other things and
> that's one of the reasons I used C-TAB for outline-cycle
> (since TAB often has other uses in prog-modes).
>
> AFAIR people commented that C-TAB wasn't always available in
> some terminals and said it should just be on TAB.  Fine.
> Either way S-TAB should work.
>
> I'd argue that if you're enabling outline-minor-mode in a
> major mode that has a binding for TAB, you want it to be
> overridden.  If not, don't enable the minor mode or change
> one keymap to not conflict.  Maybe outline-minor-mode should
> support a variable option a major mode could set to change
> the TAB keybinding or at least not override it with a
> minor-mode binding?

This feature request was closed, so in a new feature request
in https://debbugs.gnu.org/45147#8 this is implemented as a new variable
'outline-minor-mode-cycle' that you can set to t to allow cycling keys
in 'outline-minor-mode', and a keymap 'outline-mode-cycle-map' where you
can define your bindings such as C-TAB instead of the default key TAB.