Function: nnmaildir--nlist-iterate
nnmaildir--nlist-iterate is a byte-compiled function defined in
nnmaildir.el.gz.
Signature
(nnmaildir--nlist-iterate NLIST RANGES FUNC)
Source Code
;; Defined in /usr/src/emacs/lisp/gnus/nnmaildir.el.gz
(defun nnmaildir--nlist-iterate (nlist ranges func)
(let (entry high low nlist2)
(if (eq ranges 'all)
(setq ranges `((1 . ,(caar nlist)))))
(while ranges
(setq entry (car ranges) ranges (cdr ranges))
(while (and ranges (eq entry (car ranges)))
(setq ranges (cdr ranges))) ;; skip duplicates
(if (numberp entry)
(setq low entry
high entry)
(setq low (car entry)
high (cdr entry)))
(setq nlist2 nlist) ;; Don't assume any sorting of ranges
(catch 'iterate-loop
(while nlist2
(if (<= (caar nlist2) high) (throw 'iterate-loop nil))
(setq nlist2 (cdr nlist2))))
(catch 'iterate-loop
(while nlist2
(setq entry (car nlist2) nlist2 (cdr nlist2))
(if (< (car entry) low) (throw 'iterate-loop nil))
(funcall func (cdr entry)))))))