Subject: Re: bug#11210: Windows emacs 23.4.1: scroll-conservatively > 0 results in multiple cursors being displayed after scrolling

From: Eli Zaretskii <[email-masked]>
Date: Fri, 13 Apr 2012 16:04:03 +0300

> Date: Fri, 13 Apr 2012 01:07:51 -0400
> From: Bill Meier <[email-masked]>
> CC: [email-masked]
> 
> With a little bisecting (doing builds from a local copy of the the emacs 
> bazaar repository), I've determined that revision 100582 (which was 
> became part of the 23.4 release) is the one that results in the change 
> in behavior (artifacts) on my system.
> 
> 
> em $bzr log -v -r 100582
> ------------------------------------------------------------
> revno: 100582
> committer: YAMAMOTO Mitsuharu <[email-masked]>
> branch nick: emacs-23
> timestamp: Sat 2011-05-21 10:56:45 +0900
> message:
>    * dispnew.c (scrolling_window): Don't exclude the case that the
>    last enabled row in the desired matrix touches the bottom boundary.

Can you run Emacs you built under a debugger?  If so, please make an
unoptimized build ("configure --no-opt" in the nt/ directory to
configure the package before compiling), and please show the values of
yb and last_new on line 5021 of dispnew.c, when you press down-arrow
on the "123" line in this recipe:

> 1. Start Emacs (scroll-conservatively > 0)
> 2. Adjust w32 window height (aka EMacs frame) to show (say) 24 rows.
> 3. Fill *scratch* with with 32 lines of 'abc'
> 
> Move cursor to top; down-arrow to end of buffer;
> Repeat;
> 
> No artifacts
> 
> Add 123 as last line of the buffer.
> Move cursor to top, down-arrow and etc.
> 
> Artifact shows up (almost always) at the end of the buffer.
> 
> abc
> 123
> |

For the record, the values I see are yb = 384 and last_new = 24.

Also, since you seem to have problems with cursor display, do you see
any change in the artifacts left after scrolling if you play with the
value of cursor-type?  E.g., try

          M-: (setq cursor-type 'hbar) RET
or even
          M-: (setq cursor-type nil) RET

before you repeat the above recipe.