[Top][All Lists]

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

Re: redundant redisplay

From: Kim F. Storm
Subject: Re: redundant redisplay
Date: 28 Apr 2004 03:37:17 +0200
User-agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.3.50

David Kastrup <address@hidden> writes:

> Tak Ota <address@hidden> writes:
> > Some recent change, which I cannot identify, affects the redisplay
> > mechanism so that set-buffer-modified-p redisplays window contents
> > redundantly.  It creates occasional annoying partial screen flashing
> > as well as considerably slows down a buffer process which updates
> > modeline frequently.
> >From the Elisp manual:
>  - Function: set-buffer-modified-p flag
>      This function marks the current buffer as modified if FLAG is
>      non-`nil', or as unmodified if the flag is `nil'.
>      Another effect of calling this function is to cause unconditional
>      redisplay of the mode line for the current buffer.  In fact, the
>      function `force-mode-line-update' works by doing this:
>           (set-buffer-modified-p (buffer-modified-p))
> So it _should_ cause a redisplay, but only of the buffer line.  Kim,
> are you taking a peek at the line height there, could that be it?

It could be related to my changes of 2004-04-21 (I have a build from
04-18 where it doesn't seem to occur)  I just cannot see which change
could cause this.

I can provoke this myself with something like this:

M-x gdb
start another emacs,
C-x 2 (to get two windows)
r -Q
Then move the new emacs frame to overlap the one running gdb.
Now move the cursor (wildly) in the new emacs window and see
the modeline in the old emacs frame flicker.

I tried to trace this a bit, and one thing I saw is that gdb receives
a zillion of frames-invalid messages (here is a dump of the buffer
read from gdb pipe):


Maybe my change did something which causes this to redisplay more
frequently or radically.  I'll investigate further tomorrow...

reply via email to

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