Mercurial > emacs
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 |