From: Karl Heuer Date: Fri, 3 Mar 1995 05:02:06 +0000 (+0000) Subject: (struct PERDISPLAY): New members defining_kbd_macro, kbd_macro_buffer, X-Git-Tag: emacs-19.34~4950 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=67f0e5287576d36e540331cd96e28987eae2a48f;p=emacs.git (struct PERDISPLAY): New members defining_kbd_macro, kbd_macro_buffer, kbd_macro_ptr, kbd_macro_end, kbd_macro_bufsize. --- diff --git a/src/lisp.h b/src/lisp.h index 2bbf7a54f26..c40f07259a0 100644 --- a/src/lisp.h +++ b/src/lisp.h @@ -499,12 +499,27 @@ struct PERDISPLAY /* Unread events specific to this display. */ Lisp_Object kbd_queue; - /* Placeholder for future vars that will be moved here. */ - Lisp_Object unused[23]; + /* Non-nil while a kbd macro is being defined. */ + Lisp_Object defining_kbd_macro; + + /* The start of storage for the current keyboard macro. */ + Lisp_Object *kbd_macro_buffer; + + /* Where to store the next keystroke of the macro. */ + Lisp_Object *kbd_macro_ptr; - Lisp_Object this_command_keys; + /* The finalized section of the macro starts at kbd_macro_buffer and + ends before this. This is not the same as kbd_macro_ptr, because + we advance this to kbd_macro_pointer when a key's command is complete. + This way, the keystrokes for "end-kbd-macro" are not included in the + macro. */ + Lisp_Object *kbd_macro_end; - int this_command_key_count; + /* Allocated size of kbd_macro_buffer. */ + int kbd_macro_bufsize; + + /* Placeholder for future vars that will be moved here. */ + Lisp_Object unused[20]; /* Nonzero means echo each character as typed. */ int immediate_echo;