diff options
| author | Richard M. Stallman | 2002-06-11 19:29:40 +0000 |
|---|---|---|
| committer | Richard M. Stallman | 2002-06-11 19:29:40 +0000 |
| commit | a0ba8995e3c579f4c57a674b1b44d60f6a4fb82d (patch) | |
| tree | 48780dae81070ea2d0261c6fa65f15364fa4cc99 /src | |
| parent | 2e46cd090815ef739ef996a6f835a29579153535 (diff) | |
| download | emacs-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.c | 21 |
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; |