Function: gnus-decay-scores

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

Signature

(gnus-decay-scores ALIST DAY)

Documentation

Decay non-permanent scores in ALIST.

Probably introduced at or before Emacs version 20.1.

Source Code

;; Defined in /usr/src/emacs/lisp/gnus/gnus-score.el.gz
(defun gnus-decay-scores (alist day)
  "Decay non-permanent scores in ALIST."
  (let ((times (- (time-to-days nil) day))
	kill entry updated score n)
    (unless (zerop times)		;Done decays today already?
      (while (setq entry (pop alist))
	(when (stringp (car entry))
	  (setq entry (cdr entry))
	  (while (setq kill (pop entry))
	    (when (nth 2 kill)
	      (setq updated t)
	      (setq score (or (nth 1 kill)
			      gnus-score-interactive-default-score)
		    n times)
	      (while (natnump (cl-decf n))
		(setq score (funcall gnus-decay-score-function score)))
	      (setcdr kill (cons score
				 (cdr (cdr kill)))))))))
    ;; Return whether this score file needs to be saved.  By Je-haysuss!
    updated))