Function: increment-register

increment-register is an interactive and byte-compiled function defined in register.el.gz.

Signature

(increment-register PREFIX REGISTER)

Documentation

Augment contents of REGISTER using PREFIX.

Interactively, PREFIX is the raw prefix argument.

If REGISTER contains a number, add prefix-numeric-value of PREFIX to it.

If REGISTER is empty or if it contains text, call append-to-register with delete-flag set to PREFIX.

Interactively, prompt for REGISTER using register-read-with-preview.

View in manual

Key Bindings

Source Code

;; Defined in /usr/src/emacs/lisp/register.el.gz
(defun increment-register (prefix register)
  "Augment contents of REGISTER using PREFIX.
Interactively, PREFIX is the raw prefix argument.

If REGISTER contains a number, add `prefix-numeric-value' of
PREFIX to it.

If REGISTER is empty or if it contains text, call
`append-to-register' with `delete-flag' set to PREFIX.

Interactively, prompt for REGISTER using `register-read-with-preview'."
  (interactive (list current-prefix-arg
		     (register-read-with-preview
		      "Increment register: "
		      (lambda (regval)
                        (or (numberp regval) (null regval) (stringp regval))))))
  (let ((register-val (get-register register)))
    (cond
     ((numberp register-val)
      (let ((number (prefix-numeric-value prefix)))
	(set-register register (+ number register-val))))
     ((or (not register-val) (stringp register-val))
      (append-to-register register (region-beginning) (region-end) prefix))
     (t (user-error "Register does not contain a number or text")))))