Function: gnus-sort-threads-loop

gnus-sort-threads-loop is a byte-compiled function defined in gnus-sum.el.gz.

Signature

(gnus-sort-threads-loop THREADS FUNC)

Source Code

;; Defined in /usr/src/emacs/lisp/gnus/gnus-sum.el.gz
(defun gnus-sort-threads-loop (threads func)
  (let* ((superthread (cons nil threads))
         (stack (list (cons superthread threads)))
         remaining-threads thread)
    (while stack
      (setq remaining-threads (cdr (car stack)))
      (if remaining-threads
          (progn (setq thread (car remaining-threads))
                 (setcdr (car stack) (cdr remaining-threads))
                 (if (cdr thread)
                     (push (cons thread (cdr thread)) stack)))
        (setq thread (caar stack))
        (setcdr thread (sort (cdr thread) func))
        (pop stack)))
    (cdr superthread)))