emacs-devel
[Top][All Lists]
Advanced

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

Re: redisplay-dont-pause does not work


From: Kim F. Storm
Subject: Re: redisplay-dont-pause does not work
Date: Sat, 27 May 2006 22:57:44 +0200
User-agent: Gnus/5.11 (Gnus v5.11) Emacs/22.0.50 (gnu/linux)

Richard Stallman <address@hidden> writes:

>         You can request a display update, but only if no input is pending,
>       with @code{(sit-for 0)}.  To force a display update even when input is
>       pending, do this:
>
>       @example
>       (let ((redisplay-dont-pause t))
>         (sit-for 0))
>       @end example
>
>     Yes, I see a contradiction here.  Setting `redisplay-dont-pause' does
>     not have the declared effect, to wit "to force a display update even
>     when input is pending".
>
> I think that text in the manual is mistaken.  `redisplay-dont-pause'
> only affects redisplay itself.  It has no effect on sit-for, which
> isn't (strictly speaking) redisplay.
>
> We could change the code, or change the manual.
> I am not sure which is better.

Here is a fix for the code.

*** dispnew.c   01 May 2006 10:07:42 +0200      1.363
--- dispnew.c   27 May 2006 22:53:42 +0200      
***************
*** 6406,6412 ****
    swallow_events (display);
  
    if (detect_input_pending_run_timers (display) || !NILP 
(Vexecuting_kbd_macro))
!     return Qnil;
  
    if (initial_display)
      redisplay_preserve_echo_area (2);
--- 6406,6415 ----
    swallow_events (display);
  
    if (detect_input_pending_run_timers (display) || !NILP 
(Vexecuting_kbd_macro))
!     {
!       if (!redisplay_dont_pause || sec || usec)
!       return Qnil;
!     }
  
    if (initial_display)
      redisplay_preserve_echo_area (2);


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





reply via email to

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