Function: viper-register-macro

viper-register-macro is an interactive and byte-compiled function defined in viper-macs.el.gz.

Signature

(viper-register-macro COUNT)

Documentation

Keyboard macros in registers - a modified @ command.

Key Bindings

Source Code

;; Defined in /usr/src/emacs/lisp/emulation/viper-macs.el.gz
(defun viper-register-macro (count)
  "Keyboard macros in registers - a modified @ command."
  (interactive "P")
  (let ((reg (downcase (read-char))))
    (cond ((or (and (<= ?a reg) (<= reg ?z)))
	   (setq viper-last-macro-reg reg)
	   (if defining-kbd-macro
	       (progn
		 (end-kbd-macro)
		 (viper-set-register-macro reg))
	     (execute-kbd-macro (get-register reg) count)))
	  ((or (= ?@ reg) (= ?\^j reg) (= ?\^m reg))
	   (if viper-last-macro-reg
	       nil
	       (error "No previous kbd macro"))
	   (execute-kbd-macro (get-register viper-last-macro-reg) count))
	  ((= ?\# reg)
	   (start-kbd-macro count))
	  ((= ?! reg)
	   (setq reg (downcase (read-char)))
	   (if (or (and (<= ?a reg) (<= reg ?z)))
	       (progn
	       (setq viper-last-macro-reg reg)
	       (viper-set-register-macro reg))))
	  (t
	   (error "`%c': Unknown register" reg)))))