Function: gnus-score-advanced

gnus-score-advanced is an autoloaded and byte-compiled function defined in gnus-logic.el.gz.

Signature

(gnus-score-advanced RULE &optional TRACE)

Documentation

Apply advanced scoring RULE to all the articles in the current group.

Source Code

;; Defined in /usr/src/emacs/lisp/gnus/gnus-logic.el.gz
(defun gnus-score-advanced (rule &optional trace)
  "Apply advanced scoring RULE to all the articles in the current group."
  (let (new-score score multiple)
    (dolist (gnus-advanced-headers gnus-newsgroup-headers)
      (when (setq multiple (gnus-advanced-score-rule (car rule)))
	(setq new-score (or (nth 1 rule)
			    gnus-score-interactive-default-score))
	(when (numberp multiple)
	  (setq new-score (* multiple new-score)))
	;; This rule was successful, so we add the score to this
	;; article.
	(if (setq score (assq (mail-header-number gnus-advanced-headers)
			      gnus-newsgroup-scored))
	    (setcdr score
		    (+ (cdr score) new-score))
	  (push (cons (mail-header-number gnus-advanced-headers)
		      new-score)
		gnus-newsgroup-scored))
	(when trace
	  (push (cons "A file" rule)
		;; Must be synced with `gnus-score-edit-file-at-point'.
		gnus-score-trace))))))