summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorKarl Heuer <kwzh@gnu.org>1995-03-03 05:02:06 +0000
committerKarl Heuer <kwzh@gnu.org>1995-03-03 05:02:06 +0000
commit67f0e5287576d36e540331cd96e28987eae2a48f (patch)
tree18513d3a8b0eced70fbbafea16159fcc19c41c6d /src
parent8066f1a1d116b60c5165ec6f3a0b63f288e89803 (diff)
downloademacs-67f0e5287576d36e540331cd96e28987eae2a48f.tar.gz
emacs-67f0e5287576d36e540331cd96e28987eae2a48f.tar.bz2
emacs-67f0e5287576d36e540331cd96e28987eae2a48f.zip
(struct PERDISPLAY): New members defining_kbd_macro, kbd_macro_buffer,
kbd_macro_ptr, kbd_macro_end, kbd_macro_bufsize.
Diffstat (limited to 'src')
-rw-r--r--src/lisp.h23
1 files changed, 19 insertions, 4 deletions
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;