Mercurial > hg > xemacs-beta
comparison src/macros.c @ 314:341dac730539 r21-0b55
Import from CVS: tag r21-0b55
author | cvs |
---|---|
date | Mon, 13 Aug 2007 10:44:22 +0200 |
parents | 558f606b08ae |
children | cc15677e0335 |
comparison
equal
deleted
inserted
replaced
313:2905de29931f | 314:341dac730539 |
---|---|
103 /* This function can GC */ | 103 /* This function can GC */ |
104 struct console *con = XCONSOLE (Vselected_console); | 104 struct console *con = XCONSOLE (Vselected_console); |
105 int repeat; | 105 int repeat; |
106 | 106 |
107 if (NILP (con->defining_kbd_macro)) | 107 if (NILP (con->defining_kbd_macro)) |
108 error ("Not defining kbd macro."); | 108 error ("Not defining kbd macro"); |
109 | 109 |
110 if (NILP (arg)) | 110 if (NILP (arg)) |
111 repeat = -1; | 111 repeat = -1; |
112 else | 112 else |
113 repeat = XINT (Fprefix_numeric_value (arg)); | 113 repeat = XINT (Fprefix_numeric_value (arg)); |
273 repeat = XINT (prefixarg); | 273 repeat = XINT (prefixarg); |
274 } | 274 } |
275 | 275 |
276 final = indirect_function (macro, 1); | 276 final = indirect_function (macro, 1); |
277 if (!STRINGP (final) && !VECTORP (final)) | 277 if (!STRINGP (final) && !VECTORP (final)) |
278 error ("Keyboard macros must be strings or vectors."); | 278 error ("Keyboard macros must be strings or vectors"); |
279 | 279 |
280 tem = Fcons (Vexecuting_macro, make_int (executing_macro_index)); | 280 tem = Fcons (Vexecuting_macro, make_int (executing_macro_index)); |
281 record_unwind_protect (pop_kbd_macro, tem); | 281 record_unwind_protect (pop_kbd_macro, tem); |
282 | 282 |
283 GCPRO1 (final); | 283 GCPRO1 (final); |