Function: range-uncompress
range-uncompress is a byte-compiled function defined in range.el.gz.
Signature
(range-uncompress RANGES)
Documentation
Expand a list of ranges into a list of numbers.
RANGES is either a single range on the form (num . num) or a list of
these ranges.
Aliases
gnus-uncompress-range (obsolete since 29.1)
gnus-uncompress-sequence
Source Code
;; Defined in /usr/src/emacs/lisp/emacs-lisp/range.el.gz
(defun range-uncompress (ranges)
"Expand a list of ranges into a list of numbers.
RANGES is either a single range on the form `(num . num)' or a list of
these ranges."
(let (first last result)
(cond
((null ranges)
nil)
((not (listp (cdr ranges)))
(setq first (car ranges))
(setq last (cdr ranges))
(while (<= first last)
(setq result (cons first result))
(setq first (1+ first)))
(nreverse result))
(t
(while ranges
(if (atom (car ranges))
(when (numberp (car ranges))
(setq result (cons (car ranges) result)))
(setq first (caar ranges))
(setq last (cdar ranges))
(while (<= first last)
(setq result (cons first result))
(setq first (1+ first))))
(setq ranges (cdr ranges)))
(nreverse result)))))