Subject: bug#23347: 25.0.92; Follow mode scrolling broken -- scrolls only one page

From: Alan Mackenzie <[email-masked]>
Date: Sun, 24 Apr 2016 14:23:13 +0000

Hello, Anders.

On Sun, Apr 24, 2016 at 02:36:27PM +0200, Anders Lindgren wrote:
> Hi!

> The normal `scroll-up-command' and `scroll-down-command' (typically bound
> to C-v and M-v) can scroll a page at a time, there is no need for a Follow
> mode-specific command for that, as the normal Follow mode machinery can
> reposition the other windows. (The only difference is that when using C-v
> the original window is still selected, whereas with the new
> follow-scroll-up command the windows where the original point ends up is
> selected.)

Indeed.  This is a difference important enough to have a command in
follow.el which keeps point at the same buffer position it started with.

> > I admit it didn't occur to me that there might be use cases other
> > than my own.  What I think we need here is a customisable option.
> > How about `follow-scroll-single-page-flag'?  The cleanest default
> > for it would probably be nil, since that better observes the
> > abstraction that the collection of all visible windows should be
> > regarded as a single page.

> A cleaner solution would be to define two sets of functions, e.g.
> follow-scroll-up-one-page.

OK.  I'm happy enought with that.

I'm not sure that's a good name, though - the "page" bit could easily
get confused with the region in a buffer between two ^L characters.

Maybe follow-scroll-up-window would be better.  What do you think?

> Many users might want to use both kind of scrolling (I use both C-v
> and C-c . C-v several time every day, depending on how I would like to
> scroll the display). With two sets of functions it's easier to do
> this. (Also, it's easier to write documentation for a function
> designed to do one thing.)

For me, C-c . C-v is too tedious to type, so I've just bound <PageUp>
and <PageDown> to `follow-scroll-down/up'.  I use them many times per
day.

Another possibility would be to use a C-u prefix argument to indicate N
windows as opposed to 1.  No, I don't think that's a good idea, either.

Anyway, here is what I think we can agree on:
1. `follow-scroll-up/down' should scroll by N windows.
2. There need to be commands in follow.el that scroll by 1 window as is
  done by the current `follow-scroll-up/down'.  You have suggested the
  name `follow-scroll-up/down-one-page'.  I have countered with
  `follow-scroll-up/down-window'.

If we can agree, I'm willing to amend follow.el.  I think it's probably
too late for this fix to make it into Emacs 25.1, though.

>     -- Anders

-- 
Alan Mackenzie (Nuremberg, Germany).