Subject: bug#22739: 25.0.50; Hangs on revertig buffer

From: Eli Zaretskii <[email-masked]>
Date: Sun, 06 Mar 2016 18:22:34 +0200

> From: Óscar Fuentes <[email-masked]>
> Cc: [email-masked]
> Date: Sun, 06 Mar 2016 05:39:24 +0100
> 
> Eli Zaretskii <[email-masked]> writes:
> 
> > We don't have any mechanism in the display engine for "refusing to
> > display a line", AFAIK.
> 
> What about scanning the contents before entering display?

The problem is not with detecting a long line, the problem is what we
should do when we detect it.  If you just refrain from displaying it,
2 things will happen: (a) Emacs will start re-entering redisplay like
crazy, and (b) users will file bug reports about incorrect display.

So we'd need to display _something_ instead of that line which will
indicate the problem to the user.  This solves (b) above, but (a) is
still unsolved, and I don't know how to solve it in general.  Ideas
welcome.

Anyway, it turned out this is a regression wrt Emacs 24.5: a redisplay
optimization that targeted this particular use case was disabled as
part of fixing another display bug related to control characters.  I
have now partially re-enabled the optimization, which speeds up your
case by about 2 orders of magnitude.  Please take a look at the latest
emacs-25 branch.