Function: actypes::exec-kbd-macro
actypes::exec-kbd-macro is an interactive and byte-compiled function
defined in hactypes.el.
Signature
(actypes::exec-kbd-macro KBD-MACRO &optional REPEAT-COUNT)
Documentation
Execute KBD-MACRO REPEAT-COUNT times.
KBD-MACRO may be a string of editor command characters, a function symbol or nil to use the last defined keyboard macro. Optional REPEAT-COUNT nil means execute once, zero means repeat until error.
Key Bindings
Source Code
;; Defined in ~/.emacs.d/elpa/hyperbole-20260414.325/hactypes.el
(defact exec-kbd-macro (kbd-macro &optional repeat-count)
"Execute KBD-MACRO REPEAT-COUNT times.
KBD-MACRO may be a string of editor command characters, a function symbol or
nil to use the last defined keyboard macro.
Optional REPEAT-COUNT nil means execute once, zero means repeat until
error."
(interactive
(let (macro repeat)
(setq macro (intern-soft
(hargs:read-match
"Unquoted macro name or nil for last one defined: "
obarray (lambda (sym)
(and (fboundp sym)
(stringp (hypb:indirect-function sym))))
nil "nil" 'symbol)))
(cond ((fboundp macro))
((null last-kbd-macro)
(hypb:error
"(exec-kbd-macro): Define a keyboard macro first"))
(t (defalias '$%macro last-kbd-macro)
(setq macro '$%macro)))
(save-excursion
(let ((standard-output (get-buffer-create "*macro-def*")))
(unwind-protect
(progn (set-buffer standard-output)
(setq buffer-read-only nil)
(erase-buffer)
(insert-kbd-macro macro)
(goto-char (point-min))
(setq macro (car (cdr (cdr (read (current-buffer)))))))
(kill-buffer standard-output))))
(fmakunbound '$%macro)
(setq repeat (hargs:read "Repeat count: "
(lambda (repeat)
(or (null repeat)
(and (integerp repeat) (>= repeat 0))))
1))
(list macro repeat)))
(unless (called-interactively-p 'interactive)
(or (and kbd-macro (or (stringp kbd-macro)
(and (symbolp kbd-macro) (fboundp kbd-macro))))
(hypb:error "(exec-kbd-macro): Bad macro: %s" kbd-macro))
(or (null repeat-count) (and (integerp repeat-count) (<= 0 repeat-count))
(hypb:error "(exec-kbd-macro): Bad repeat count: %s" repeat-count)))
(execute-kbd-macro kbd-macro repeat-count))