changeset 76065:2001cae9df4e

(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.
author Kim F. Storm <storm@cua.dk>
date Thu, 22 Feb 2007 16:04:08 +0000
parents b79b132c5c55
children 4862d5fdff8b
files src/dispnew.c
diffstat 1 files changed, 14 insertions(+), 16 deletions(-) [+]
line wrap: on
line diff
--- 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;