Function: gnus-score-orphans

gnus-score-orphans is a byte-compiled function defined in gnus-score.el.gz.

Signature

(gnus-score-orphans SCORE)

Documentation

Score orphans.

A root is an article with no references. An orphan is an article which has references, but is not connected via its references to a root article. This function finds all the orphans, and adjusts their score in gnus-newsgroup-scored by SCORE.

Source Code

;; Defined in /usr/src/emacs/lisp/gnus/gnus-score.el.gz
(defun gnus-score-orphans (score)
  "Score orphans.
A root is an article with no references.  An orphan is an article
which has references, but is not connected via its references to a
root article.  This function finds all the orphans, and adjusts their
score in `gnus-newsgroup-scored' by SCORE."
  ;; gnus-make-threads produces a list, where each entry is a "thread"
  ;; as described in the gnus-score-lower-thread docs.  This function
  ;; will be called again (after limiting has been done) if the display
  ;; is threaded.  It would be nice to somehow save this info and use
  ;; it later.
  (dolist (thread (gnus-make-threads))
    (let ((id (aref (car thread) gnus-score-index)))
      ;; If the parent of the thread is not a root, lower the score of
      ;; it and its descendants.  Note that some roots seem to satisfy
      ;; (eq id nil) and some (eq id "");  not sure why.
      (when (and id
		 (not (string= id "")))
	(gnus-score-lower-thread thread score)))))