• Paul Eggert's avatar
    Fix infloop in GC mark_kboards · 7d9fa89f
    Paul Eggert authored
    * src/keyboard.c (KBD_BUFFER_SIZE): Now a constant, not a macro.
    (kbd_fetch_ptr, kbd_store_ptr): These now always point somewhere
    into kbd_buffer, instead of sometimes pointing just past the
    end which led to serious bugs (Bug#33547).  All uses changed.
    (kbd_store_ptr): No longer volatile.  This variable has not been
    accessed by a signal handler for some time, it seems.
    (next_kbd_event, prev_kbd_event): New functions.
    (kbd_buffer_nr_stored, process_special_events): Simplify.
    7d9fa89f
keyboard.c 367 KB