comparison src/macros.c @ 9122:9ba3f17d6631

(Fexecute_kbd_macro): Use type test macros.
author Karl Heuer <kwzh@gnu.org>
date Tue, 27 Sep 1994 02:25:20 +0000
parents 1fc792473491
children 2c681685646b
comparison
equal deleted inserted replaced
9121:faecbbbcceb4 9122:9ba3f17d6631
200 if (!NILP (prefixarg)) 200 if (!NILP (prefixarg))
201 prefixarg = Fprefix_numeric_value (prefixarg), 201 prefixarg = Fprefix_numeric_value (prefixarg),
202 repeat = XINT (prefixarg); 202 repeat = XINT (prefixarg);
203 203
204 final = indirect_function (macro); 204 final = indirect_function (macro);
205 if (XTYPE (final) != Lisp_String 205 if (!STRINGP (final) && !VECTORP (final))
206 && XTYPE (final) != Lisp_Vector)
207 error ("Keyboard macros must be strings or vectors."); 206 error ("Keyboard macros must be strings or vectors.");
208 207
209 XFASTINT (tem) = executing_macro_index; 208 XFASTINT (tem) = executing_macro_index;
210 tem = Fcons (Vexecuting_macro, tem); 209 tem = Fcons (Vexecuting_macro, tem);
211 record_unwind_protect (pop_kbd_macro, tem); 210 record_unwind_protect (pop_kbd_macro, tem);
218 217
219 command_loop_1 (); 218 command_loop_1 ();
220 219
221 QUIT; 220 QUIT;
222 } 221 }
223 while (--repeat && (XTYPE (Vexecuting_macro) == Lisp_String 222 while (--repeat
224 || XTYPE (Vexecuting_macro) == Lisp_Vector)); 223 && (STRINGP (Vexecuting_macro) || VECTORP (Vexecuting_macro)));
225 224
226 UNGCPRO; 225 UNGCPRO;
227 return unbind_to (count, Qnil); 226 return unbind_to (count, Qnil);
228 } 227 }
229 228