[Top][All Lists]

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

RE: redisplay-dont-pause is not mentioned in the Emacs manual

From: Drew Adams
Subject: RE: redisplay-dont-pause is not mentioned in the Emacs manual
Date: Tue, 6 Jun 2006 12:40:16 -0700

    > I did not understand that "redisplay is restarted whenever it
    > is interrupted by user input."  I thought that user input
    > _inhibited_ redisplay (but that a redisplay would eventually
    > occur).

    If user input never stops, redisplay will never happen (except if
    Emacs needs to display an urgent message or something).

    And we cannot really inhibit (i.e. pause) redisplay, because
    processing user input usually changes buffers' contents, and so the
    data structures built by the interrupted redisplay no longer reflect
    what's in the buffers.  Thus, redisplay must start anew.

I don't have a problem with the behavior. I was just explaining my
misunderstanding of it, based on reading various docs. I don't think I ever
read what Kim stated clearly: "redisplay is restarted whenever it is
interrupted by user input." Instead, I read things like this:

"Processing user input takes absolute priority over redisplay.  If you
call these functions when input is available, they do nothing
immediately, but a full redisplay does happen eventually--after all the
input has been processed." (node Refresh Screen)

"Emacs redisplays only when it pauses." (node Edebug Display Update)

"performs redisplay (provided there is no pending input from the user)"
(node Waiting)

"`(sit-for 0)' is a convenient way to request a redisplay, without any
delay." (node Waiting)

"Force redisplay of the current buffer's mode line and header line. The next
redisplay will update..." (node Mode Line Basics)

"if you move point, do not expect the window-start position to change in
response until after the next redisplay." (node Window Start)

None of these contradicts what Kim wrote, but they don't come right out and
say that redisplay happens immediately after input either.

They suggested to me that redisplay happens only occasionally, perhaps when
Emacs can be certain that it's needed or via some timer. They also suggested
to me that user input inhibits redisplay, so that it would occur only
sometime later, when Emacs "pauses". I didn't understand that redisplay
would occur _as soon as_ user input stopped.

IOW, to take the first quotation, it would have been clearer (to me), to say
"immediately" after the input has been processed. "Eventually" "after" I
understood; immediately after I did not understand until I read Kim's email.


reply via email to

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