Subject: bug#50679: 28.0.50; outline-minor-mode-cycle should be able to only cycle at the begining of a line

From: Juri Linkov <[email-masked]>
Date: Thu, 23 Sep 2021 19:15:34 +0300

> FWIW, I think it would be nice to provide a simple way to define other
> “speed keys” in `outline-minor-mode [1], or even provide some
> pre-configured ones [2].
>
> Looking at the code, it seems that adding bindings to
> `outline-mode-cycle-map` would achieve precisely that, but the name
> of the keymap doesn't reflect that.

You are right, the name of the keymap was wrong, so I renamed it.

> [2]: I personally use these speed keys in outline-minor-mode, which are
> probably very similar to those from Org mode:
>
>         "<tab>" 'outline-cycle
>         "<backtab>" 'outline-cycle-buffer
>         "f" 'outline-forward-same-level
>         "b" 'outline-backward-same-level
>         "n" 'outline-next-visible-heading
>         "p" 'outline-previous-visible-heading
>         "u" 'outline-up-heading
>         "F" 'outline-move-subtree-down
>         "B" 'outline-move-subtree-up
>         "@" 'outline-mark-subtree

Now it's very easy to copy keys from outline-mode-prefix-map to
outline-minor-mode-cycle-map with just:

```
(map-keymap (lambda (key binding)
              (outline-minor-mode-cycle--bind
               outline-minor-mode-cycle-map
               (vector key) binding))
            outline-mode-prefix-map)
```