emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Buffer Boundary Problem


From: Kim F. Storm
Subject: Re: Buffer Boundary Problem
Date: 02 Feb 2004 10:46:23 +0100
User-agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.3.50

"Jan D." <address@hidden> writes:

> Oh, now I get it.  Its the arrows in the fringes.  I didn't even see
> them first.  Anyway, it is unrelated to scrollbars, I see the same
> effect for Motif, Lesstif, Lucid and Xaw(3d) scroll bars.   However, I
> can not find any code that clear the fringes, just draws, so it is not
> surprising that you get an arrow in the middle sometimes.  It is the
> arrow that was at the bottom that has been moved up, and since fringes
> are not cleared before redrawn, it stays.

It is true that fringes are not cleared before they are redrawn, as
the redisplay code tries to minimize the amount of redrawing -- so it
actually tries to remember which bitmaps are currently in the fringe
and only delete them if they are no longer needed at a certain
position.

The problem with the extra arrows is that some scrolling operations
work directly on the existing glyph matrix, so extra care is needed to
clean-up the fringe bitmaps that are scrolled with the text.

Since there are several such optimizations in the redisplay code, the
fringe redisplay code also need to be aware of those optimizations.
Currently there are some corner cases which it fails to handle.

++kfs





reply via email to

[Prev in Thread] Current Thread [Next in Thread]