Function: end-kbd-macro
end-kbd-macro is an interactive function defined in macros.c.
Signature
(end-kbd-macro &optional REPEAT LOOPFUNC)
Documentation
Finish defining a keyboard macro.
The definition was started by M-x start-kbd-macro (start-kbd-macro).
The macro is now available for use via M-x call-last-kbd-macro (call-last-kbd-macro),
or it can be given a name with M-x name-last-kbd-macro (name-last-kbd-macro) and then invoked
under that name.
With numeric arg, repeat macro now that many times, counting the definition just completed as the first repetition. An argument of zero means repeat until error.
In Lisp, optional second arg LOOPFUNC may be a function that is called prior to each iteration of the macro. Iteration stops if LOOPFUNC returns nil.
Key Bindings
Source Code
// Defined in /usr/src/emacs/src/macros.c
{
if (NILP (KVAR (current_kboard, defining_kbd_macro)))
error ("Not defining kbd macro");
if (NILP (repeat))
XSETFASTINT (repeat, 1);
else
CHECK_FIXNUM (repeat);
if (!NILP (KVAR (current_kboard, defining_kbd_macro)))
{
end_kbd_macro ();
message1 ("Keyboard macro defined");
}
if (XFIXNAT (repeat) == 0)
Fexecute_kbd_macro (KVAR (current_kboard, Vlast_kbd_macro), repeat, loopfunc);
else if (XFIXNUM (repeat) > 1)
{
XSETINT (repeat, XFIXNUM (repeat) - 1);
Fexecute_kbd_macro (KVAR (current_kboard, Vlast_kbd_macro),
repeat, loopfunc);
}
return Qnil;
}