Subject: Re: bug#53158: 28.0.90; TAB, RET key behave differently for Git-Log-View, Outline View mode

From: Juri Linkov <[email-masked]>
Date: Mon, 10 Jan 2022 21:52:44 +0200

> Emacs unboxes with unpleasant defaults.  I was pleasantly
> surprised TAB expands and collapses the bullet point in Outline View mode.
> If memory serves.  I used to have to look up how to do that.  What key to
> use.  Maybe the TAB behavior was pulled from Org mode to Outline mode.
> Having the same key to expand, collapse the bullet point headline is the
> "Right thing to do(R)[TM]".
>
> Perhaps, there could be configuration infrastructure policy overlay for
> having bullet points expand, collapse with the same key.  I would use that
> to page up/down View mode with B and SPC everywhere.

We were hit by this unpleasant problem in diff-mode with outline-minor-mode.
In diff-mode TAB moves point to the next hunk, because in browsers TAB moves
to the next link.  But in outline-minor-mode TAB should expand and collapse
on the heading because TAB does this in Org mode.

So we were forced to add such filter:

  (defcustom outline-minor-mode-cycle-filter nil
    "Filter out positions on the heading available for cycling."
    :type '(choice (const :tag "Everywhere" nil)
                   (const :tag "At line beginning" bolp)
                   (const :tag "Not at line beginning"
                          (lambda () (not (bolp))))
                   (const :tag "At line end" eolp)

Then you can choose: when point is at the beginning of the outline heading,
TAB can expand and collapse outlines, when point is not at the line beginning,
TAB moves to the next hunk.