Function: gnus-make-threads
gnus-make-threads is a byte-compiled function defined in
gnus-sum.el.gz.
Signature
(gnus-make-threads)
Documentation
Go through the dependency hashtb and find the roots. Return all threads.
Source Code
;; Defined in /usr/src/emacs/lisp/gnus/gnus-sum.el.gz
(defun gnus-make-threads ()
"Go through the dependency hashtb and find the roots. Return all threads."
(let (threads)
(while (catch 'infloop
(maphash
(lambda (_id refs)
;; Deal with self-referencing References loops.
(when (and (car refs)
(not (zerop
(apply
#'+
(mapcar
(lambda (thread)
(gnus-thread-loop-p
(car refs) thread))
(cdr refs))))))
(setq threads nil)
(throw 'infloop t))
(unless (car refs)
;; These threads do not refer back to any other
;; articles, so they're roots.
(setq threads (append (cdr refs) threads))))
gnus-newsgroup-dependencies)))
threads))