# HG changeset patch # User Kim F. Storm # Date 1172160248 0 # Node ID 2001cae9df4ea60c859e8d0aa47ed179e6b8a1ce # Parent b79b132c5c554ba6ab3791b2b1e1946e5b505af7 (update_frame, update_single_window): Set force_p here if redisplay_dont_pause is set or Vredisplay_preemption_period is nil... (update_window, update_frame_1): ... instead of here. diff -r b79b132c5c55 -r 2001cae9df4e src/dispnew.c --- a/src/dispnew.c Thu Feb 22 16:03:57 2007 +0000 +++ b/src/dispnew.c Thu Feb 22 16:04:08 2007 +0000 @@ -3827,8 +3827,12 @@ int paused_p; struct window *root_window = XWINDOW (f->root_window); + if (redisplay_dont_pause) + force_p = 1; #if PERIODIC_PREEMPTION_CHECKING - if (!force_p && NUMBERP (Vredisplay_preemption_period)) + else if (NILP (Vredisplay_preemption_period)) + force_p = 1; + else if (!force_p && NUMBERP (Vredisplay_preemption_period)) { EMACS_TIME tm; double p = XFLOATINT (Vredisplay_preemption_period); @@ -3982,8 +3986,12 @@ /* Record that this is not a frame-based redisplay. */ set_frame_matrix_frame (NULL); + if (redisplay_dont_pause) + force_p = 1; #if PERIODIC_PREEMPTION_CHECKING - if (!force_p && NUMBERP (Vredisplay_preemption_period)) + else if (NILP (Vredisplay_preemption_period)) + force_p = 1; + else if (!force_p && NUMBERP (Vredisplay_preemption_period)) { EMACS_TIME tm; double p = XFLOATINT (Vredisplay_preemption_period); @@ -4165,13 +4173,8 @@ #endif /* Check pending input the first time so that we can quickly return. */ - if (redisplay_dont_pause) - force_p = 1; -#if PERIODIC_PREEMPTION_CHECKING - else if (NILP (Vredisplay_preemption_period)) - force_p = 1; -#else - else if (!force_p) +#if !PERIODIC_PREEMPTION_CHECKING + if (!force_p) detect_input_pending_ignore_squeezables (); #endif @@ -5215,13 +5218,8 @@ if (preempt_count <= 0) preempt_count = 1; - if (redisplay_dont_pause) - force_p = 1; -#if PERIODIC_PREEMPTION_CHECKING - else if (NILP (Vredisplay_preemption_period)) - force_p = 1; -#else - else if (!force_p && detect_input_pending_ignore_squeezables ()) +#if !PERIODIC_PREEMPTION_CHECKING + if (!force_p && detect_input_pending_ignore_squeezables ()) { pause = 1; goto do_pause;