Subject: bug#11857: large hscroll values mess up the display

From: Paul Eggert <[email-masked]>
Date: Wed, 04 Jul 2012 11:15:50 -0700

I tried out large hscroll values and got messed
up displays.  The exact details vary, depending
on display and other parameters I don't understand.
In some cases, even hscroll values well under INT_MAX
caused problems, but these are harder to reproduce.

One way to easily reproduce the problem on Fedora 15
x86-64 with Emacs trunk bzr 108872 is to run
emacs -Q on an X display and type this:

C-u 1 0 0 0 0 0 0 0 0 0 0 C-x < SPC

That is, scroll by 10**10.  This results in a display
with <- in front of the first four lines, -> after
the first three lines, and semicolons in the start
of the first three lines.  It looks like this:

<-;                           ->
<-;                           ->
<-;                           ->
<-

Where "<-" and "->" denote the margin arrows.  This
is incorrect, as the display should look
like it does when scrolling by 100, namely, like this:

<-
<-
<-
<-

I also reproduced the problem with Emacs 23.3.1
(stock Ubuntu 12.04 x86) so this is not a new bug
nor is it restricted to 64-bit hosts.