diff options
| author | Paul Eggert | 2018-12-01 13:40:13 -0800 |
|---|---|---|
| committer | Paul Eggert | 2018-12-01 13:42:57 -0800 |
| commit | af914fc26db273d8788e7efa57c569f0f778d037 (patch) | |
| tree | aefabbcb75779fba2437d41cdc9811acee4c1445 /src | |
| parent | 317b3547820bf2468c1c0e9b5bed1bde94aeb544 (diff) | |
| download | emacs-af914fc26db273d8788e7efa57c569f0f778d037.tar.gz emacs-af914fc26db273d8788e7efa57c569f0f778d037.zip | |
Fix infloop in GC mark_kboards
Do not merge to master, as I have a more systematic fix there.
* src/keyboard.c (mark_kboards): Fix infloop (Bug#33547).
Diffstat (limited to 'src')
| -rw-r--r-- | src/keyboard.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/keyboard.c b/src/keyboard.c index 0d56ea3f7ac..dccc6b7f128 100644 --- a/src/keyboard.c +++ b/src/keyboard.c | |||
| @@ -12011,7 +12011,12 @@ mark_kboards (void) | |||
| 12011 | for (event = kbd_fetch_ptr; event != kbd_store_ptr; event++) | 12011 | for (event = kbd_fetch_ptr; event != kbd_store_ptr; event++) |
| 12012 | { | 12012 | { |
| 12013 | if (event == kbd_buffer + KBD_BUFFER_SIZE) | 12013 | if (event == kbd_buffer + KBD_BUFFER_SIZE) |
| 12014 | event = kbd_buffer; | 12014 | { |
| 12015 | event = kbd_buffer; | ||
| 12016 | if (event == kbd_store_ptr) | ||
| 12017 | break; | ||
| 12018 | } | ||
| 12019 | |||
| 12015 | /* These two special event types has no Lisp_Objects to mark. */ | 12020 | /* These two special event types has no Lisp_Objects to mark. */ |
| 12016 | if (event->kind != SELECTION_REQUEST_EVENT | 12021 | if (event->kind != SELECTION_REQUEST_EVENT |
| 12017 | && event->kind != SELECTION_CLEAR_EVENT) | 12022 | && event->kind != SELECTION_CLEAR_EVENT) |