Function: majutsu-interactive--ranges-merge

majutsu-interactive--ranges-merge is a natively compiled function defined in majutsu-interactive.el.

Signature

(majutsu-interactive--ranges-merge RANGES)

Documentation

Return merged RANGES (list of cons).

Source Code

;; Defined in /nix/store/jagqw3nms546pad0gxi5f3wsckk6pji7-emacs-packages-deps/share/emacs/site-lisp/majutsu-interactive.el
(defun majutsu-interactive--ranges-merge (ranges)
  "Return merged RANGES (list of cons)."
  (let* ((sorted (sort (cl-copy-list ranges) (lambda (a b) (< (car a) (car b)))))
         (result nil))
    (dolist (range sorted)
      (let ((prev (car result)))
        (if (and prev (<= (car range) (cdr prev)))
            (setcdr prev (max (cdr prev) (cdr range)))
          (push (cons (car range) (cdr range)) result))))
    (nreverse result)))