Function: nndiary-unflatten

nndiary-unflatten is a byte-compiled function defined in nndiary.el.gz.

Signature

(nndiary-unflatten SPEC)

Source Code

;; Defined in /usr/src/emacs/lisp/gnus/nndiary.el.gz
(defun nndiary-unflatten (spec)
  ;; opposite of flatten: build ranges if possible
  (setq spec (sort spec #'<))
  (let (min max res)
    (while (setq min (pop spec))
      (setq max min)
      (while (and (car spec) (= (car spec) (1+ max)))
	(setq max (1+ max))
	(pop spec))
      (if (= max min)
	  (setq res (append res (list min)))
	(setq res (append res (list (cons min max))))))
    res))