[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] Changes to emacs/src/xdisp.c
From: |
Richard M. Stallman |
Subject: |
[Emacs-diffs] Changes to emacs/src/xdisp.c |
Date: |
Sun, 29 Sep 2002 13:47:51 -0400 |
Index: emacs/src/xdisp.c
diff -c emacs/src/xdisp.c:1.786 emacs/src/xdisp.c:1.787
*** emacs/src/xdisp.c:1.786 Wed Sep 11 23:26:01 2002
--- emacs/src/xdisp.c Sun Sep 29 13:44:16 2002
***************
*** 8471,8476 ****
--- 8471,8484 ----
b->clip_changed = 1;
}
}
+
+ #define STOP_POLLING \
+ do { if (! polling_stopped_here) stop_polling (); \
+ polling_stopped_here = 1; } while (0)
+
+ #define RESUME_POLLING \
+ do { if (polling_stopped_here) start_polling (); \
+ polling_stopped_here = 0; } while (0)
/* If PRESERVE_ECHO_AREA is nonzero, it means this redisplay is not in
***************
*** 8491,8496 ****
--- 8499,8505 ----
int number_of_visible_frames;
int count;
struct frame *sf = SELECTED_FRAME ();
+ int polling_stopped_here = 0;
/* Non-zero means redisplay has to consider all windows on all
frames. Zero means, only selected_window is considered. */
***************
*** 8979,8985 ****
error. */
if (interrupt_input)
unrequest_sigio ();
! stop_polling ();
/* Update the display. */
set_window_update_flags (XWINDOW (f->root_window), 1);
--- 8988,8994 ----
error. */
if (interrupt_input)
unrequest_sigio ();
! STOP_POLLING;
/* Update the display. */
set_window_update_flags (XWINDOW (f->root_window), 1);
***************
*** 9035,9041 ****
which can cause an apparent I/O error. */
if (interrupt_input)
unrequest_sigio ();
! stop_polling ();
if (FRAME_VISIBLE_P (sf) && !FRAME_OBSCURED_P (sf))
{
--- 9044,9050 ----
which can cause an apparent I/O error. */
if (interrupt_input)
unrequest_sigio ();
! STOP_POLLING;
if (FRAME_VISIBLE_P (sf) && !FRAME_OBSCURED_P (sf))
{
***************
*** 9111,9117 ****
But it is much hairier to try to do anything about that. */
if (interrupt_input)
request_sigio ();
! start_polling ();
/* If a frame has become visible which was not before, redisplay
again, so that we display it. Expose events for such a frame
--- 9120,9126 ----
But it is much hairier to try to do anything about that. */
if (interrupt_input)
request_sigio ();
! RESUME_POLLING;
/* If a frame has become visible which was not before, redisplay
again, so that we display it. Expose events for such a frame
***************
*** 9152,9157 ****
--- 9161,9167 ----
end_of_redisplay:
unbind_to (count, Qnil);
+ RESUME_POLLING;
}