changeset 10908:b09674057bb2

(struct PERDISPLAY): New members defining_kbd_macro, kbd_macro_buffer, kbd_macro_ptr, kbd_macro_end, kbd_macro_bufsize.
author Karl Heuer <kwzh@gnu.org>
date Fri, 03 Mar 1995 05:02:06 +0000
parents 1e9ffdb9980c
children f5dbed840520
files src/lisp.h
diffstat 1 files changed, 19 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/src/lisp.h	Fri Mar 03 05:01:27 1995 +0000
+++ b/src/lisp.h	Fri Mar 03 05:02:06 1995 +0000
@@ -499,12 +499,27 @@
     /* 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;