unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: storm@cua.dk (Kim F. Storm)
Cc: Matt Hodges <matt@stchem.bham.ac.uk>, emacs-devel@gnu.org
Subject: Re: Buffer Boundary Problem
Date: 02 Feb 2004 10:46:23 +0100	[thread overview]
Message-ID: <m3r7xdx18w.fsf@kfs-l.imdomain.dk> (raw)
In-Reply-To: <401CF70C.1030309@swipnet.se>

"Jan D." <jan.h.d@swipnet.se> 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	other threads:[~2004-02-02  9:46 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-01-31 23:14 Buffer Boundary Problem Vinicius Jose Latorre
2004-02-01  0:13 ` Miles Bader
2004-02-01  0:36   ` Jan D.
2004-02-01  1:06     ` Vinicius Jose Latorre
2004-02-01  1:04   ` Vinicius Jose Latorre
2004-02-01 11:52     ` Matt Hodges
2004-02-01 12:30       ` Jan D.
2004-02-01 12:54         ` Jan D.
2004-02-02  9:46           ` Kim F. Storm [this message]
2004-02-01 21:32       ` Vinicius Jose Latorre
2004-02-01 21:38       ` Kim F. Storm
2004-02-01 12:26 ` Jan D.

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=m3r7xdx18w.fsf@kfs-l.imdomain.dk \
    --to=storm@cua.dk \
    --cc=emacs-devel@gnu.org \
    --cc=matt@stchem.bham.ac.uk \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).