Function: cua--prefix-override-replay
cua--prefix-override-replay is a byte-compiled function defined in
cua-base.el.gz.
Signature
(cua--prefix-override-replay REPEAT)
Source Code
;; Defined in /usr/src/emacs/lisp/emulation/cua-base.el.gz
(defun cua--prefix-override-replay (repeat)
(let* ((keys (this-command-keys))
(i (length keys))
(key (aref keys (1- i))))
(setq cua--prefix-override-length (- i repeat))
(setq cua--prefix-override-timer
(or
;; In state [2], change to state [3]
(> repeat 0)
;; In state [1], change directly to state [3]
(and cua-check-pending-input (input-pending-p))
;; In state [1], [T] disabled, so change to state [3]
(not (numberp cua-prefix-override-inhibit-delay))
(<= cua-prefix-override-inhibit-delay 0)
;; In state [1], start [T] and change to state [2]
(run-with-timer cua-prefix-override-inhibit-delay nil
#'cua--prefix-override-timeout)))
;; Don't record this command
(setq this-command last-command)
;; Restore the prefix arg
;; This should make it so that exchange-point-and-mark gets the prefix when
;; you do C-u C-x C-x C-x work (where the C-u is properly passed to the C-x
;; C-x binding after the first C-x C-x was rewritten to just C-x).
(prefix-command-preserve-state)
;; Push the key back on the event queue
(setq unread-command-events (cons (cons 'no-record key)
unread-command-events))))