Subject: Re: bug#20808: 24.5; Emacs looping with 100% CPU at line 15287 (?) of xdisp.c

From: [email-masked] (N. Jackson)
Date: Wed, 17 Jun 2015 08:30:18 -0300

At 23:45 -0300 on Tuesday 2015-06-16, Eli Zaretskii wrote:

> OK, thanks.  I will install the change shortly, but just for more
> confidence: is it true that all of these infloops happened when you
> tried to scroll with bottom of the window near the end of the buffer?
> That's the condition the patch attempts to fix.

FWIW, for about half of the infloops, I attatched the debugger to check
it was the same infloop because I wasn't convinced I'd triggered it the
same way, and it was in that same loop (ending at line 15287 of
xdisp.c).

As for "near" the end of the buffer, yes, for some value of "near".

That webpage has some text at the top and below that are images only. It
turns out (I just checked with an even shorter window), that Eww/shr is
displaying all of those images on the same line and that line is the
last line of the buffer.

The images get sized (by Eww/shr?) so that each of them fits within the
window height and with the even shorter window I just tried (maybe four
or five text lines high), they are sufficiently small that the entire
line of them fits within the width of the window.

But with the eleven-text-lines-high window that the webpage opens in
from Gnus, the line of images is wider than the window so it is wrapped
to two "lines" or rows in the window.

The infloop always occurs when the window is showing the top row of
images (and a little bit of the top of the tallest image in the second
row), so (because the line of images is the last line of the buffer),
yes, the infloop occurs when scrolling near the last line of the buffer;
however it is not the last line of the window, but rather, more like
half way up it, if that makes any sense.

I hope that helps.