Function: nndiary-flatten

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

Signature

(nndiary-flatten SPEC MIN &optional MAX)

Source Code

;; Defined in /usr/src/emacs/lisp/gnus/nndiary.el.gz
(defun nndiary-flatten (spec min &optional max)
  ;; flatten the spec by expanding ranges to all possible values.
  (let (flat n)
    (cond ((null spec)
	   ;; this happens when I flatten something else than one of my
	   ;; schedules (a list of read articles for instance).
	   (unless (null max)
	     (setq n min)
	     (while (<= n max)
	       (push n flat)
	       (setq n (1+ n)))))
	  (t
	   (let ((elts spec)
		 elt)
	     (while (setq elt (pop elts))
	       (if (integerp elt)
		   (push elt flat)
		 ;; else
		 (setq n (car elt))
		 (while (<= n (cdr elt))
		   (push n flat)
		   (setq n (1+ n))))))))
    flat))