comparison src/dispnew.c @ 83556:07774e5c3ff5

Merged from emacs@sv.gnu.org Patches applied: * emacs@sv.gnu.org/emacs--devo--0--patch-619 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-620 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-621 Merge from gnus--rel--5.10 * emacs@sv.gnu.org/emacs--devo--0--patch-622 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-623 Remove RCS keywords * emacs@sv.gnu.org/emacs--devo--0--patch-624 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-625 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-626 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-627 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-628 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-629 Merge from gnus--rel--5.10 * emacs@sv.gnu.org/emacs--devo--0--patch-630 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-631 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-632 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-633 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-634 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-635 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-636 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-637 Remove RCS keywords * emacs@sv.gnu.org/emacs--devo--0--patch-638 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-639 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-640 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-641 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-642 Merge from gnus--rel--5.10 * emacs@sv.gnu.org/emacs--devo--0--patch-643 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-644 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-645 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-646 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-647 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-648 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-649 Update from CVS * emacs@sv.gnu.org/gnus--rel--5.10--patch-197 Merge from emacs--devo--0 * emacs@sv.gnu.org/gnus--rel--5.10--patch-198 Update from CVS * emacs@sv.gnu.org/gnus--rel--5.10--patch-199 Update from CVS * emacs@sv.gnu.org/gnus--rel--5.10--patch-200 Merge from emacs--devo--0 * emacs@sv.gnu.org/gnus--rel--5.10--patch-201 Update from CVS: lisp/nnweb.el (nnweb-google-parse-1): Update parser. * emacs@sv.gnu.org/gnus--rel--5.10--patch-202 Update from CVS git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-596
author Karoly Lorentey <karoly@lorentey.hu>
date Sat, 24 Feb 2007 19:26:54 +0000
parents b8d9a391daf3 898ccefda9ce
children 738ce3540ffb
comparison
equal deleted inserted replaced
83555:053bf1a38bfa 83556:07774e5c3ff5
3819 { 3819 {
3820 /* 1 means display has been paused because of pending input. */ 3820 /* 1 means display has been paused because of pending input. */
3821 int paused_p; 3821 int paused_p;
3822 struct window *root_window = XWINDOW (f->root_window); 3822 struct window *root_window = XWINDOW (f->root_window);
3823 3823
3824 if (redisplay_dont_pause)
3825 force_p = 1;
3824 #if PERIODIC_PREEMPTION_CHECKING 3826 #if PERIODIC_PREEMPTION_CHECKING
3825 if (!force_p && NUMBERP (Vredisplay_preemption_period)) 3827 else if (NILP (Vredisplay_preemption_period))
3828 force_p = 1;
3829 else if (!force_p && NUMBERP (Vredisplay_preemption_period))
3826 { 3830 {
3827 EMACS_TIME tm; 3831 EMACS_TIME tm;
3828 double p = XFLOATINT (Vredisplay_preemption_period); 3832 double p = XFLOATINT (Vredisplay_preemption_period);
3829 int sec, usec; 3833 int sec, usec;
3830 3834
3977 struct frame *f = XFRAME (WINDOW_FRAME (w)); 3981 struct frame *f = XFRAME (WINDOW_FRAME (w));
3978 3982
3979 /* Record that this is not a frame-based redisplay. */ 3983 /* Record that this is not a frame-based redisplay. */
3980 set_frame_matrix_frame (NULL); 3984 set_frame_matrix_frame (NULL);
3981 3985
3986 if (redisplay_dont_pause)
3987 force_p = 1;
3982 #if PERIODIC_PREEMPTION_CHECKING 3988 #if PERIODIC_PREEMPTION_CHECKING
3983 if (!force_p && NUMBERP (Vredisplay_preemption_period)) 3989 else if (NILP (Vredisplay_preemption_period))
3990 force_p = 1;
3991 else if (!force_p && NUMBERP (Vredisplay_preemption_period))
3984 { 3992 {
3985 EMACS_TIME tm; 3993 EMACS_TIME tm;
3986 double p = XFLOATINT (Vredisplay_preemption_period); 3994 double p = XFLOATINT (Vredisplay_preemption_period);
3987 int sec, usec; 3995 int sec, usec;
3988 3996
4164 /* Check that W's frame doesn't have glyph matrices. */ 4172 /* Check that W's frame doesn't have glyph matrices. */
4165 xassert (FRAME_WINDOW_P (XFRAME (WINDOW_FRAME (w)))); 4173 xassert (FRAME_WINDOW_P (XFRAME (WINDOW_FRAME (w))));
4166 #endif 4174 #endif
4167 4175
4168 /* Check pending input the first time so that we can quickly return. */ 4176 /* Check pending input the first time so that we can quickly return. */
4169 if (redisplay_dont_pause) 4177 #if !PERIODIC_PREEMPTION_CHECKING
4170 force_p = 1; 4178 if (!force_p)
4171 #if PERIODIC_PREEMPTION_CHECKING
4172 else if (NILP (Vredisplay_preemption_period))
4173 force_p = 1;
4174 #else
4175 else if (!force_p)
4176 detect_input_pending_ignore_squeezables (); 4179 detect_input_pending_ignore_squeezables ();
4177 #endif 4180 #endif
4178 4181
4179 /* If forced to complete the update, or if no input is pending, do 4182 /* If forced to complete the update, or if no input is pending, do
4180 the update. */ 4183 the update. */
4396 || current_row->overlapped_p 4399 || current_row->overlapped_p
4397 /* This next line is necessary for correctly redrawing 4400 /* This next line is necessary for correctly redrawing
4398 mouse-face areas after scrolling and other operations. 4401 mouse-face areas after scrolling and other operations.
4399 However, it causes excessive flickering when mouse is moved 4402 However, it causes excessive flickering when mouse is moved
4400 across the mode line. Luckily, turning it off for the mode 4403 across the mode line. Luckily, turning it off for the mode
4401 line doesn't seem to hurt anything. -- cyd. */ 4404 line doesn't seem to hurt anything. -- cyd.
4402 || (current_row->mouse_face_p && !current_row->mode_line_p) 4405 But it is still needed for the header line. -- kfs. */
4406 || (current_row->mouse_face_p
4407 && !(current_row->mode_line_p && vpos > 0))
4403 || current_row->x != desired_row->x) 4408 || current_row->x != desired_row->x)
4404 { 4409 {
4405 rif->cursor_to (vpos, 0, desired_row->y, desired_row->x); 4410 rif->cursor_to (vpos, 0, desired_row->y, desired_row->x);
4406 4411
4407 if (desired_row->used[TEXT_AREA]) 4412 if (desired_row->used[TEXT_AREA])
5219 calculate_costs (f); 5224 calculate_costs (f);
5220 5225
5221 if (preempt_count <= 0) 5226 if (preempt_count <= 0)
5222 preempt_count = 1; 5227 preempt_count = 1;
5223 5228
5224 if (redisplay_dont_pause) 5229 #if !PERIODIC_PREEMPTION_CHECKING
5225 force_p = 1; 5230 if (!force_p && detect_input_pending_ignore_squeezables ())
5226 #if PERIODIC_PREEMPTION_CHECKING
5227 else if (NILP (Vredisplay_preemption_period))
5228 force_p = 1;
5229 #else
5230 else if (!force_p && detect_input_pending_ignore_squeezables ())
5231 { 5231 {
5232 pause = 1; 5232 pause = 1;
5233 goto do_pause; 5233 goto do_pause;
5234 } 5234 }
5235 #endif 5235 #endif