Mercurial > emacs
comparison src/dispnew.c @ 59580:f43d0816e9c3
* keyboard.c (READABLE_EVENTS_DO_TIMERS_NOW)
(READABLE_EVENTS_FILTER_EVENTS)
(READABLE_EVENTS_IGNORE_SQUEEZABLES): New flags for readable_events.
get_filtered_input_pending, readable_filtered_events): Removed.
(tracking_off): Call readable_events and get_input_pending with
flag READABLE_EVENTS_DO_TIMERS_NOW.
(readable_events): Move code from old readable_filtered_events here,
but check new READABLE_EVENTS_* in argument flags instead of previous
two boolean arguments do_timers_now and filter_events.
If we are doing mouse tracking and the mouse moved, return only if
READABLE_EVENTS_IGNORE_SQUEEZABLES is not set in flags.
(swallow_events): Call get_input_pending with flag
READABLE_EVENTS_DO_TIMERS_NOW.
(get_input_pending): Move code from old get_filtered_input_pending
here. Replace boolean arguments do_timers_now, filter_events with
flags, and pass flags to readable_events. Document new
READABLE_EVENTS_* flags.
(detect_input_pending_ignore_squeezables): New function.
(detect_input_pending_run_timers): Call get_input_pending with flag
READABLE_EVENTS_DO_TIMERS_NOW.
(Finput_pending_p): Call get_input_pending with flags
READABLE_EVENTS_DO_TIMERS_NOW and READABLE_EVENTS_FILTER_EVENTS.
* dispnew.c (update_window, update_frame_1): Replace calls to
detect_input_pending with detect_input_pending_ignore_squeezables
so that redisplay is not paused if the event queue contains only
mouse movements.
* lisp.h: Declare detect_input_pending_ignore_squeezables.
author | Jan Djärv <jan.h.d@swipnet.se> |
---|---|
date | Sun, 16 Jan 2005 09:17:02 +0000 |
parents | 59945307b86b |
children | c0533d2d03af |
comparison
equal
deleted
inserted
replaced
59579:a588c86a429c | 59580:f43d0816e9c3 |
---|---|
4073 | 4073 |
4074 /* Check pending input the first time so that we can quickly return. */ | 4074 /* Check pending input the first time so that we can quickly return. */ |
4075 if (redisplay_dont_pause) | 4075 if (redisplay_dont_pause) |
4076 force_p = 1; | 4076 force_p = 1; |
4077 else | 4077 else |
4078 detect_input_pending (); | 4078 detect_input_pending_ignore_squeezables (); |
4079 | 4079 |
4080 /* If forced to complete the update, or if no input is pending, do | 4080 /* If forced to complete the update, or if no input is pending, do |
4081 the update. */ | 4081 the update. */ |
4082 if (force_p || !input_pending || !NILP (do_mouse_tracking)) | 4082 if (force_p || !input_pending || !NILP (do_mouse_tracking)) |
4083 { | 4083 { |
4147 /* We'll have to play a little bit with when to | 4147 /* We'll have to play a little bit with when to |
4148 detect_input_pending. If it's done too often, | 4148 detect_input_pending. If it's done too often, |
4149 scrolling large windows with repeated scroll-up | 4149 scrolling large windows with repeated scroll-up |
4150 commands will too quickly pause redisplay. */ | 4150 commands will too quickly pause redisplay. */ |
4151 if (!force_p && ++n_updated % preempt_count == 0) | 4151 if (!force_p && ++n_updated % preempt_count == 0) |
4152 detect_input_pending (); | 4152 detect_input_pending_ignore_squeezables (); |
4153 | 4153 |
4154 changed_p |= update_window_line (w, vpos, | 4154 changed_p |= update_window_line (w, vpos, |
4155 &mouse_face_overwritten_p); | 4155 &mouse_face_overwritten_p); |
4156 | 4156 |
4157 /* Mark all rows below the last visible one in the current | 4157 /* Mark all rows below the last visible one in the current |
5091 if (preempt_count <= 0) | 5091 if (preempt_count <= 0) |
5092 preempt_count = 1; | 5092 preempt_count = 1; |
5093 | 5093 |
5094 if (redisplay_dont_pause) | 5094 if (redisplay_dont_pause) |
5095 force_p = 1; | 5095 force_p = 1; |
5096 else if (!force_p && detect_input_pending ()) | 5096 else if (!force_p && detect_input_pending_ignore_squeezables ()) |
5097 { | 5097 { |
5098 pause = 1; | 5098 pause = 1; |
5099 goto do_pause; | 5099 goto do_pause; |
5100 } | 5100 } |
5101 | 5101 |
5147 } | 5147 } |
5148 } | 5148 } |
5149 } | 5149 } |
5150 | 5150 |
5151 if ((i - 1) % preempt_count == 0) | 5151 if ((i - 1) % preempt_count == 0) |
5152 detect_input_pending (); | 5152 detect_input_pending_ignore_squeezables (); |
5153 | 5153 |
5154 update_frame_line (f, i); | 5154 update_frame_line (f, i); |
5155 } | 5155 } |
5156 } | 5156 } |
5157 | 5157 |