[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: Kim F. Storm
Subject: Re: redisplay-dont-pause is not mentioned in the Emacs manual
Date: Tue, 06 Jun 2006 10:26:36 +0200
User-agent: Gnus/5.11 (Gnus v5.11) Emacs/22.0.50 (gnu/linux)

Eli Zaretskii <address@hidden> writes:

>> Cc: Ralf Angeli <address@hidden>,  address@hidden,
>>        address@hidden
>> From: address@hidden (Kim F. Storm)
>> Date: Mon, 05 Jun 2006 23:00:43 +0200
>> >> I have [redisplay-dont-pause] enabled for all my Emacs installations
>> >> because I cannot stand the way buffer contents are updated during
>> >> scrolling if it is not.
>> >
>> > I think that's a bug that should be reported and fixed.
>> How?
> IMHO, if a user needs to futz with redisplay-dont-pause to solve her
> problems, there's either a bug or a missing feature.  I don't think
> redisplay-dont-pause was ever meant for the users, since its effect is
> complicated and hard to explain.  In some situations it makes
> redisplay more responsive, in others it has the reverse effect.
>> Normal redisplay is restarted whenever it is interrupted by user
>> input.  For example, pressing and holding the down-arrow key will be
>> "randomly jumpy" -- depending on the speed of the computer vs. the key
>> "repeat rate" of the keyboard.
>> The only way to get "more fluent" display updates is by setting
>> redisplay-dont-pause.  I also used to set it when I had a slower
>> computer --- these days, it usually manages to keep up with my
>> typing, so it doesn't really matter.
> If redisplay behaves erratically on slow computers, we should handle
> that case specially, to avoid the need for playing with
> redisplay-dont-pause.

Redisplay behaves exactly the way it was designed to behave on slow
computers ... preempting redisplay whenever there is input to process.

Some people (like me) just don't like the visual effects of this.
They (I) rather want each redisplay to complete (to avoid the
"randomly partial updates"), and then have emacs process (all)
available input _between_ redisplays.

I agree that "redisplay-dont-pause" in its current form is not
the best _user_ option for controlling this ... as it has the
other purpose of forcing sit-for to perform a fully redisplay.

But what is the alternative?  

As has already been pointed out, we should really have a redisplay-now
function that DTRT (independent of the setting of redisplay-dont-pause)
and make redisplay-dont-pause a user option to control (just) the
difference in user visible display updates described above.

We can be sure that those "some people" mentioned above _have_ set
redisplay-dont-pause to get the desired behaviour.  So we can just as
well promote redisplay-dont-pause to a user option.

BTW, there are no uses of redisplay-dont-pause in any Lisp code in
CVS, so it would be fairly safe to remove the (documented) connection
between redisplay-dont-pause and sit-for, and replace it by the
proposed `redisplay-now' function.

Kim F. Storm <address@hidden> http://www.cua.dk

reply via email to

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