• Tim Ruffing's avatar
    Continue reading in 'read-event' etc. at the end of a keyboard macro · 6f46dd51
    Tim Ruffing authored
    This fixes a bug that could make 'read-event', 'read-char', and
    'read-char-exclusive' erroneously return -1, an internal magic return
    value of 'read_char' leaked from C to lisp. Instead of returning -1, the
    aforementioned lisp functions now transparently continue reading
    available input (e.g., from the keyboard) when reaching the end of a
    keyboard macro.
    
    * src/keyboard.c (read_char, read_key_sequence): Move handling
    of the end of a keyboard macro from 'read_char' to its caller
    'read_key_sequence', which is the only caller that can
    meaningfully deal with this case.
    * src/macros.c (Fexecute_kbd_macro): Document how the end of keyboard
    macro is processed.
    * etc/NEWS: Announce this change.
    6f46dd51