Function: gnus-all-score-files
gnus-all-score-files is a byte-compiled function defined in
gnus-score.el.gz.
Signature
(gnus-all-score-files &optional GROUP)
Documentation
Return a list of all score files for the current group.
Source Code
;; Defined in /usr/src/emacs/lisp/gnus/gnus-score.el.gz
(defun gnus-all-score-files (&optional group)
"Return a list of all score files for the current group."
(let ((funcs gnus-score-find-score-files-function)
(group (or group gnus-newsgroup-name))
score-files)
(when group
(setq funcs (ensure-list funcs))
(when gnus-score-use-all-scores
;; Get the initial score files for this group.
(when funcs
(setq score-files (copy-sequence (gnus-score-find-alist group))))
;; Add any home adapt files.
(let ((home (gnus-home-score-file group t)))
(when home
(push home score-files)
(setq gnus-newsgroup-adaptive-score-file home)))
;; Check whether there is a `adapt-file' group parameter.
(let ((param-file (gnus-group-find-parameter group 'adapt-file)))
(when param-file
(push param-file score-files)
(setq gnus-newsgroup-adaptive-score-file param-file))))
;; Go through all the functions for finding score files (or actual
;; scores) and add them to a list.
(while funcs
(when (functionp (car funcs))
(setq score-files
(append score-files
(nreverse (funcall (car funcs) group)))))
(setq funcs (cdr funcs)))
(when gnus-score-use-all-scores
;; Add any home score files.
(let ((home (gnus-home-score-file group)))
(when home
(push home score-files)))
;; Check whether there is a `score-file' group parameter.
(let ((param-file (gnus-group-find-parameter group 'score-file)))
(when param-file
(push param-file score-files))))
;; Expand all files names.
(let ((files score-files))
(while files
(when (stringp (car files))
(setcar files (expand-file-name
(car files) gnus-kill-files-directory)))
(pop files)))
(setq score-files (nreverse score-files))
;; Remove any duplicate score files.
(while (and score-files
(member (car score-files) (cdr score-files)))
(pop score-files))
(let ((files score-files))
(while (cdr files)
(if (member (cadr files) (cddr files))
(setcdr files (cddr files))
(pop files))))
;; Do the scoring if there are any score files for this group.
score-files)))