emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] emacs-26 af914fc: Fix infloop in GC mark_kboards


From: Paul Eggert
Subject: [Emacs-diffs] emacs-26 af914fc: Fix infloop in GC mark_kboards
Date: Sat, 1 Dec 2018 16:43:03 -0500 (EST)

branch: emacs-26
commit af914fc26db273d8788e7efa57c569f0f778d037
Author: Paul Eggert <address@hidden>
Commit: Paul Eggert <address@hidden>

    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).
---
 src/keyboard.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/src/keyboard.c b/src/keyboard.c
index 0d56ea3..dccc6b7 100644
--- a/src/keyboard.c
+++ b/src/keyboard.c
@@ -12011,7 +12011,12 @@ mark_kboards (void)
     for (event = kbd_fetch_ptr; event != kbd_store_ptr; event++)
       {
        if (event == kbd_buffer + KBD_BUFFER_SIZE)
-         event = kbd_buffer;
+         {
+           event = kbd_buffer;
+           if (event == kbd_store_ptr)
+             break;
+         }
+
        /* These two special event types has no Lisp_Objects to mark.  */
        if (event->kind != SELECTION_REQUEST_EVENT
            && event->kind != SELECTION_CLEAR_EVENT)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]