diff options
| author | Karl Heuer | 1995-03-08 01:25:04 +0000 |
|---|---|---|
| committer | Karl Heuer | 1995-03-08 01:25:04 +0000 |
| commit | 9e1ffae242f28346d7ab876d85ba2453aab02635 (patch) | |
| tree | d1a109de51894a2a89ed43e06d1aa77aa5e91cc6 /src | |
| parent | 603aaedc7b254c680b180b8206961868c80b66ed (diff) | |
| download | emacs-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.c | 24 |
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 | ||
| 28 | Lisp_Object Qexecute_kbd_macro; | 28 | Lisp_Object Qexecute_kbd_macro; |
| 29 | 29 | ||
| 30 | Lisp_Object Vlast_kbd_macro; | ||
| 31 | |||
| 32 | Lisp_Object Vexecuting_macro; | 30 | Lisp_Object Vexecuting_macro; |
| 33 | int executing_macro_index; | 31 | int 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 | ||
| 229 | init_macros () | 228 | init_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 | ||
| 258 | keys_of_macros () | 256 | keys_of_macros () |