Subject: bug#13690: 24.3.50; scroll-conservatively and Info-up

From: Eli Zaretskii <[email-masked]>
Date: Wed, 13 Feb 2013 06:02:34 +0200

> From: Stephen Berman <[email-masked]>
> Cc: [email-masked]
> Date: Tue, 12 Feb 2013 23:00:56 +0100
> 
> >   Scroll up to this many lines, to bring point back on screen.
> >   If point moves off-screen, redisplay will scroll by up to
> >   `scroll-conservatively' lines in order to bring point just barely
> >   onto the screen again.        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> >   ^^^^^^^^^^^^^^^^^^^^^
> >
> > And this is what happens in the use case you describe.  So I'm unsure
> > why you regard this a bug.  What did you expect instead, and why?
> 
> I expected to see the whole node, or at least as much as possible while
> keeping the target line in view.  I expect this because to all
> appearances Info-up, like the other Info node navigation commands, is a
> jumping (or zapping, warping, i.e. movement in one fell swoop), not a
> scrolling, operation.

scroll-conservatively affects _any_ movement within a buffer, not just
to scrolling commands.  This is by popular demand; you can find my
questions about this and answers by others a year or two ago in the
archives.  E.g., scroll-conservatively affects commands such as
goto-char, even if you move far away in the buffer.

> I see that scroll_conservatively is only used in redisplay_window.
> Does calling Fnarrow_to_region entail calling redisplay_window?

redisplay_window is the workhorse of the display engine in GUI
sessions.  It is called for _any_ kind of redisplay of any window.

Narrowing only requires redisplay if it affects the portion of the
buffer shown in the window.

> > In general, setting scroll-conservatively to 1 tells Emacs that you
> > are prepared to see as little as 1 line of context.
> 
> But again, as a user, I'd expect this only if what I'm doing
> recognizably involves scrolling, which Info-up does not, from the user's
> point of view.

Alas, other users' expectations are different.

> Anyway, if you (and the other Emacs maintainers) agree with my
> arguments, would it be acceptable to add a call to recenter at the end
> of Info-up?

I don't mind.  But if you want that, why do you set
scroll-conservatively to a non-nil value at all?