--- /usr/local/lib/xemacs/gnus/lisp/gnus-sum.el-5.6.3 Fri Mar 27 21:14:05 1998 +++ /usr/local/lib/xemacs/gnus/lisp/gnus-sum.el Fri Mar 27 21:44:35 1998 @@ -2960,7 +2960,8 @@ (let ((headers gnus-newsgroup-headers) (deps gnus-newsgroup-dependencies) header references generation relations - cthread subject child end pthread relation new-child) + cthread subject child end pthread relation new-child + refs-uniq) ;; First we create an alist of generations/relations, where ;; generations is how much we trust the relation, and the relation ;; is parent/child. @@ -2972,17 +2973,21 @@ (not (string= references ""))) (insert references) (setq child (mail-header-id header) + refs-uniq (list child) subject (mail-header-subject header)) (setq generation 0) (while (search-backward ">" nil t) (setq end (1+ (point))) - (when (search-backward "<" nil t) - (unless (string= (setq new-child (buffer-substring (point) end)) - child) - (push (list (incf generation) - child (setq child new-child) - subject) - relations)))) + (when (and (search-backward "<" nil t) + (not (member (setq new-child + (buffer-substring (point) end)) + refs-uniq))) + (push new-child refs-uniq) + (push (list (incf generation) + child (setq child new-child) + subject) + relations))) (push (list (1+ generation) child nil subject) relations) (erase-buffer))) (kill-buffer (current-buffer)))