[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, 13 Jun 2006 01:01:40 +0200 |
User-agent: |
Gnus/5.11 (Gnus v5.11) Emacs/22.0.50 (gnu/linux) |
Richard Stallman <address@hidden> writes:
> To repeat, (B) says:
>
> (B) Don't _interrupt_ redisplay once it has started.
>
> And this definitely _is_ (part of) what you get by setting
> redisplay_dont_pause.
>
> It is part of what you get, but now it is no longer the whole of what
> you get.
>
> Perhaps we should undo the recent change in sit-for.
> I don't remember the specific case for which we made it.
> If it was one specific caller that needed another facility,
> let's make (sit-for -1) do this, as someone else suggested.
Here is a way to do that. Note that it binds redisplay-dont-pause
to ensure that redisplay isn't interrupted.
*** dispnew.c 13 Jun 2006 00:09:47 +0200 1.367
--- dispnew.c 13 Jun 2006 00:58:56 +0200
***************
*** 6495,6509 ****
sit_for (sec, usec, reading, display, initial_display)
int sec, usec, reading, display, initial_display;
{
swallow_events (display);
! if ((detect_input_pending_run_timers (display)
! && !redisplay_dont_pause)
|| !NILP (Vexecuting_kbd_macro))
return Qnil;
if (initial_display)
! redisplay_preserve_echo_area (2);
if (sec == 0 && usec == 0)
return Qt;
--- 6495,6516 ----
sit_for (sec, usec, reading, display, initial_display)
int sec, usec, reading, display, initial_display;
{
+ int preempt = (sec >= 0) || (sec == 0 && usec >= 0);
+
swallow_events (display);
! if ((detect_input_pending_run_timers (display) && preempt)
|| !NILP (Vexecuting_kbd_macro))
return Qnil;
if (initial_display)
! {
! int count = SPECPDL_INDEX ();
! if (!preempt)
! specbind (Qredisplay_dont_pause, Qt);
! redisplay_preserve_echo_area (2);
! unbind_to (count, Qnil);
! }
if (sec == 0 && usec == 0)
return Qt;
***************
*** 6529,6536 ****
if input is available before it starts.
Value is t if waited the full time with no input arriving.
! Redisplay will occur even when input is available if you bind
! `redisplay-dont-pause' to a non-nil value.
An obsolete but still supported form is
\(sit-for SECONDS &optional MILLISECONDS NODISP)
--- 6536,6542 ----
if input is available before it starts.
Value is t if waited the full time with no input arriving.
! Redisplay will occur even when input is available if SECONDS is negative.
An obsolete but still supported form is
\(sit-for SECONDS &optional MILLISECONDS NODISP)
--
Kim F. Storm <address@hidden> http://www.cua.dk
- RE: redisplay-dont-pause is not mentioned in the Emacs manual, (continued)
- Re: redisplay-dont-pause is not mentioned in the Emacs manual, Kim F. Storm, 2006/06/07
- Re: redisplay-dont-pause is not mentioned in the Emacs manual, Richard Stallman, 2006/06/07
- Re: redisplay-dont-pause is not mentioned in the Emacs manual, Kim F. Storm, 2006/06/07
- Re: redisplay-dont-pause is not mentioned in the Emacs manual, Richard Stallman, 2006/06/08
- Re: redisplay-dont-pause is not mentioned in the Emacs manual, Kim F. Storm, 2006/06/08
- Re: redisplay-dont-pause is not mentioned in the Emacs manual, Richard Stallman, 2006/06/09
- Re: redisplay-dont-pause is not mentioned in the Emacs manual,
Kim F. Storm <=
- Re: redisplay-dont-pause is not mentioned in the Emacs manual, Richard Stallman, 2006/06/13
- Re: redisplay-dont-pause is not mentioned in the Emacs manual, Kim F. Storm, 2006/06/13
- [PATCH] Re: redisplay-dont-pause is not mentioned in the Emacs manual, Kim F. Storm, 2006/06/08
- Re: [PATCH] Re: redisplay-dont-pause is not mentioned in the Emacs manual, Richard Stallman, 2006/06/09
- Re: [PATCH] Re: redisplay-dont-pause is not mentioned in the Emacs manual, Jan Djärv, 2006/06/09
- Re: [PATCH] Re: redisplay-dont-pause is not mentioned in the Emacs manual, Richard Stallman, 2006/06/10
- Re: [PATCH] Re: redisplay-dont-pause is not mentioned in the Emacs manual, Kim F. Storm, 2006/06/10
- Re: [PATCH] Re: redisplay-dont-pause is not mentioned in the Emacs manual, Richard Stallman, 2006/06/11
- Re: [PATCH] Re: redisplay-dont-pause is not mentioned in the Emacs manual, Kim F. Storm, 2006/06/11
- Re: [PATCH] Re: redisplay-dont-pause is not mentioned in the Emacs manual, Richard Stallman, 2006/06/12