The foldout-* commands, available in outline-minor-mode, give a way to zoom in and out of "folds", which are subtrees defined by the outline structure. To follow along with this email, start by doing foldout-zoom-subtree (C-c @ C-z) on a subtree (e.g., an elisp defun). By default, foldout-exit-fold (C-c @ C-x) exits one fold, hides the text that was in that fold (outline-hide-subtree), moves point to the heading, and recenters. When invoked with a negative prefix argument like C-- C-c @ C-x, the command instead (1) exits one fold without hiding the text, (2) moves point to the bottom of the fold, and (3) recenters. I think that better behavior would be to skip steps (2) and (3), so that the point stays put and the window view does not change. [Step (2) seems incidental rather than by design, so "skip" really means "counter".] Advantages of omitting (2) are: - We don't lose our place when zooming out. - If we zoom in and zoom out (C-c @ C-z, C-- C-c @ C-x), then point doesn't move. - Consistency with other outline/foldout commands that preserve "point being on a heading". Regarding (3), recentering helps us reorient when hiding an exited fold, but is disruptive when the text remains visible. We retain the flexibility to imitate the old behavior using M-> and C-l. The change could be guarded by a defcustom, but it seems to me like a clear improvement. I'd be happy to learn if I missed some scenario where it is not. Any feedback would be welcome.