aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorKarl Heuer1995-03-08 01:25:04 +0000
committerKarl Heuer1995-03-08 01:25:04 +0000
commit9e1ffae242f28346d7ab876d85ba2453aab02635 (patch)
treed1a109de51894a2a89ed43e06d1aa77aa5e91cc6 /src
parent603aaedc7b254c680b180b8206961868c80b66ed (diff)
downloademacs-9e1ffae242f28346d7ab876d85ba2453aab02635.tar.gz
emacs-9e1ffae242f28346d7ab876d85ba2453aab02635.zip
(Fstart_kbd_macro): Access Vlast_kbd_macro via perdisplay.
(Fend_kbd_macro, Fcall_last_kbd_macro): Likewise. (init_macros): Delete initialization. (syms_of_macros): Use DEFVAR_DISPLAY for Vlast_kbd_macro. Doc fix for executing-macro, executing-kbd-macro, last-kbd-macro.
Diffstat (limited to 'src')
-rw-r--r--src/macros.c24
1 files changed, 11 insertions, 13 deletions
diff --git a/src/macros.c b/src/macros.c
index 75227ec6218..fd5c193e86a 100644
--- a/src/macros.c
+++ b/src/macros.c
@@ -27,8 +27,6 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
27 27
28Lisp_Object Qexecute_kbd_macro; 28Lisp_Object Qexecute_kbd_macro;
29 29
30Lisp_Object Vlast_kbd_macro;
31
32Lisp_Object Vexecuting_macro; 30Lisp_Object Vexecuting_macro;
33int executing_macro_index; 31int executing_macro_index;
34 32
@@ -64,7 +62,8 @@ Non-nil arg (prefix arg) means append to last macro defined;\n\
64 { 62 {
65 message("Appending to kbd macro..."); 63 message("Appending to kbd macro...");
66 current_perdisplay->kbd_macro_ptr = current_perdisplay->kbd_macro_end; 64 current_perdisplay->kbd_macro_ptr = current_perdisplay->kbd_macro_end;
67 Fexecute_kbd_macro (Vlast_kbd_macro, make_number (1)); 65 Fexecute_kbd_macro (current_perdisplay->Vlast_kbd_macro,
66 make_number (1));
68 } 67 }
69 current_perdisplay->defining_kbd_macro = Qt; 68 current_perdisplay->defining_kbd_macro = Qt;
70 69
@@ -96,7 +95,7 @@ An argument of zero means repeat until error.")
96 { 95 {
97 current_perdisplay->defining_kbd_macro = Qnil; 96 current_perdisplay->defining_kbd_macro = Qnil;
98 update_mode_lines++; 97 update_mode_lines++;
99 Vlast_kbd_macro 98 current_perdisplay->Vlast_kbd_macro
100 = make_event_array ((current_perdisplay->kbd_macro_end 99 = make_event_array ((current_perdisplay->kbd_macro_end
101 - current_perdisplay->kbd_macro_buffer), 100 - current_perdisplay->kbd_macro_buffer),
102 current_perdisplay->kbd_macro_buffer); 101 current_perdisplay->kbd_macro_buffer);
@@ -104,12 +103,12 @@ An argument of zero means repeat until error.")
104 } 103 }
105 104
106 if (XFASTINT (arg) == 0) 105 if (XFASTINT (arg) == 0)
107 Fexecute_kbd_macro (Vlast_kbd_macro, arg); 106 Fexecute_kbd_macro (current_perdisplay->Vlast_kbd_macro, arg);
108 else 107 else
109 { 108 {
110 XSETINT (arg, XINT (arg)-1); 109 XSETINT (arg, XINT (arg)-1);
111 if (XINT (arg) > 0) 110 if (XINT (arg) > 0)
112 Fexecute_kbd_macro (Vlast_kbd_macro, arg); 111 Fexecute_kbd_macro (current_perdisplay->Vlast_kbd_macro, arg);
113 } 112 }
114 return Qnil; 113 return Qnil;
115} 114}
@@ -161,10 +160,10 @@ defining others, use \\[name-last-kbd-macro].")
161{ 160{
162 if (! NILP (current_perdisplay->defining_kbd_macro)) 161 if (! NILP (current_perdisplay->defining_kbd_macro))
163 error ("Can't execute anonymous macro while defining one"); 162 error ("Can't execute anonymous macro while defining one");
164 else if (NILP (Vlast_kbd_macro)) 163 else if (NILP (current_perdisplay->Vlast_kbd_macro))
165 error ("No kbd macro has been defined"); 164 error ("No kbd macro has been defined");
166 else 165 else
167 Fexecute_kbd_macro (Vlast_kbd_macro, prefix); 166 Fexecute_kbd_macro (current_perdisplay->Vlast_kbd_macro, prefix);
168 return Qnil; 167 return Qnil;
169} 168}
170 169
@@ -228,7 +227,6 @@ COUNT is a repeat count, or nil for once, or 0 for infinite loop.")
228 227
229init_macros () 228init_macros ()
230{ 229{
231 Vlast_kbd_macro = Qnil;
232 Vexecuting_macro = Qnil; 230 Vexecuting_macro = Qnil;
233} 231}
234 232
@@ -246,13 +244,13 @@ syms_of_macros ()
246 "Non-nil while a keyboard macro is being defined. Don't set this!"); 244 "Non-nil while a keyboard macro is being defined. Don't set this!");
247 245
248 DEFVAR_LISP ("executing-macro", &Vexecuting_macro, 246 DEFVAR_LISP ("executing-macro", &Vexecuting_macro,
249 "Currently executing keyboard macro (a string); nil if none executing."); 247 "Currently executing keyboard macro (string or vector); nil if none executing.");
250 248
251 DEFVAR_LISP_NOPRO ("executing-kbd-macro", &Vexecuting_macro, 249 DEFVAR_LISP_NOPRO ("executing-kbd-macro", &Vexecuting_macro,
252 "Currently executing keyboard macro (a string); nil if none executing."); 250 "Currently executing keyboard macro (string or vector); nil if none executing.");
253 251
254 DEFVAR_LISP ("last-kbd-macro", &Vlast_kbd_macro, 252 DEFVAR_DISPLAY ("last-kbd-macro", Vlast_kbd_macro,
255 "Last kbd macro defined, as a string; nil if none defined."); 253 "Last kbd macro defined, as a string or vector; nil if none defined.");
256} 254}
257 255
258keys_of_macros () 256keys_of_macros ()