Function: kmacro-repeat-on-last-key
kmacro-repeat-on-last-key is a byte-compiled function defined in
kmacro.el.gz.
Signature
(kmacro-repeat-on-last-key KEYS)
Documentation
Process kmacro commands keys immediately after cycling the ring.
Source Code
;; Defined in /usr/src/emacs/lisp/kmacro.el.gz
(defun kmacro-repeat-on-last-key (keys)
"Process kmacro commands keys immediately after cycling the ring."
(setq keys (vconcat keys))
(let ((n (1- (length keys)))
cmd done repeat)
(while (and last-kbd-macro
(not done)
(aset keys n (read-event))
(setq cmd (key-binding keys t))
(setq repeat (get cmd 'kmacro-repeat)))
(clear-this-command-keys t)
(cond
((eq repeat 'ring)
(if kmacro-ring
(let ((kmacro-repeat-no-prefix nil))
(funcall cmd nil))
(kmacro-display last-kbd-macro t)))
((eq repeat 'head)
(let ((kmacro-repeat-no-prefix nil))
(funcall cmd nil)))
((eq repeat 'stop)
(funcall cmd nil)
(setq done t)))
(setq last-input-event nil)))
(when last-input-event
(clear-this-command-keys t)
(push last-input-event unread-command-events)))