aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorRichard M. Stallman2002-06-11 19:29:40 +0000
committerRichard M. Stallman2002-06-11 19:29:40 +0000
commita0ba8995e3c579f4c57a674b1b44d60f6a4fb82d (patch)
tree48780dae81070ea2d0261c6fa65f15364fa4cc99 /src
parent2e46cd090815ef739ef996a6f835a29579153535 (diff)
downloademacs-a0ba8995e3c579f4c57a674b1b44d60f6a4fb82d.tar.gz
emacs-a0ba8995e3c579f4c57a674b1b44d60f6a4fb82d.zip
(readable_events): Ignore any number of
FOCUS_IN_EVENT events and return 0 if nothing else in buffer.
Diffstat (limited to 'src')
-rw-r--r--src/keyboard.c21
1 files changed, 20 insertions, 1 deletions
diff --git a/src/keyboard.c b/src/keyboard.c
index ffc86840865..6b02c399bf2 100644
--- a/src/keyboard.c
+++ b/src/keyboard.c
@@ -3259,8 +3259,27 @@ readable_events (do_timers_now)
3259 if (do_timers_now) 3259 if (do_timers_now)
3260 timer_check (do_timers_now); 3260 timer_check (do_timers_now);
3261 3261
3262 /* If the buffer contains only FOCUS_IN_EVENT events,
3263 report it as empty. */
3262 if (kbd_fetch_ptr != kbd_store_ptr) 3264 if (kbd_fetch_ptr != kbd_store_ptr)
3263 return 1; 3265 {
3266 struct input_event *event;
3267
3268 event = ((kbd_fetch_ptr < kbd_buffer + KBD_BUFFER_SIZE)
3269 ? kbd_fetch_ptr
3270 : kbd_buffer);
3271
3272 while (event->kind == FOCUS_IN_EVENT)
3273 {
3274 event++;
3275 if (event == kbd_buffer + KBD_BUFFER_SIZE)
3276 event = kbd_buffer;
3277 if (event == kbd_store_ptr)
3278 return 0;
3279 }
3280 return 1;
3281 }
3282
3264#ifdef HAVE_MOUSE 3283#ifdef HAVE_MOUSE
3265 if (!NILP (do_mouse_tracking) && some_mouse_moved ()) 3284 if (!NILP (do_mouse_tracking) && some_mouse_moved ())
3266 return 1; 3285 return 1;