Function: mh-thread-group-by-subject

mh-thread-group-by-subject is a byte-compiled function defined in mh-thread.el.gz.

Signature

(mh-thread-group-by-subject ROOTS)

Documentation

Group the set of message containers, ROOTS based on subject.

Bug: Check for and make sure that something without Re: is made the parent in preference to something that has it.

Source Code

;; Defined in /usr/src/emacs/lisp/mh-e/mh-thread.el.gz
(defsubst mh-thread-group-by-subject (roots)
  "Group the set of message containers, ROOTS based on subject.
Bug: Check for and make sure that something without Re: is made
the parent in preference to something that has it."
  (clrhash mh-thread-subject-container-hash)
  (let ((results ()))
    (dolist (root roots)
      (let* ((subject (mh-thread-container-subject root))
             (parent (gethash subject mh-thread-subject-container-hash)))
        (cond (parent (mh-thread-remove-parent-link root)
                      (mh-thread-add-link parent root t)
                      (setf (mh-container-real-child-p root) nil)
                      (push `(SUBJECT ,root) mh-thread-history))
              (t
               (setf (gethash subject mh-thread-subject-container-hash) root)
               (push root results)))))
    (nreverse results)))