Function: evil-normalize-repeat-info

evil-normalize-repeat-info is a byte-compiled function defined in evil-repeat.el.

Signature

(evil-normalize-repeat-info REPEAT-INFO)

Documentation

Concatenate consecutive arrays in REPEAT-INFO.

Return a single array.

Source Code

;; Defined in ~/.emacs.d/elpa/evil-20251108.138/evil-repeat.el
(defun evil-normalize-repeat-info (repeat-info)
  "Concatenate consecutive arrays in REPEAT-INFO.
Return a single array."
  (let* ((result (cons nil nil))
         (result-last result)
         cur cur-last)
    (dolist (rep repeat-info)
      (cond
       ((null rep))
       ((arrayp rep)
        (setq rep (listify-key-sequence rep))
        (cond
         (cur
          (setcdr cur-last (cons rep nil))
          (setq cur-last (cdr cur-last)))
         (t (setq cur (cons rep nil)
                  cur-last cur))))
       (t
        (when cur
          (setcdr result-last (cons (apply #'vconcat cur) nil))
          (setq result-last (cdr result-last)
                cur nil))
        (setcdr result-last (cons rep nil))
        (setq result-last (cdr result-last)))))
    (when cur
      (setcdr result-last (cons (apply #'vconcat cur) nil)))
    (cdr result)))