Function: gnus-score-find-alist
gnus-score-find-alist is a byte-compiled function defined in
gnus-score.el.gz.
Signature
(gnus-score-find-alist GROUP)
Documentation
Return list of score files for GROUP.
The list is determined from the variable gnus-score-file-alist.
Source Code
;; Defined in /usr/src/emacs/lisp/gnus/gnus-score.el.gz
(defun gnus-score-find-alist (group)
"Return list of score files for GROUP.
The list is determined from the variable `gnus-score-file-alist'."
(let ((alist gnus-score-file-multiple-match-alist)
score-files)
;; if this group has been seen before, return the cached entry
(if (setq score-files (assoc group gnus-score-file-alist-cache))
(cdr score-files) ;ensures caching groups with no matches
;; handle the multiple match alist
(while alist
(when (string-match (caar alist) group)
(setq score-files (append (cdar alist) score-files)))
(setq alist (cdr alist)))
(setq alist gnus-score-file-single-match-alist)
;; handle the single match alist
(while alist
(when (string-match (caar alist) group)
;; progn used just in case ("regexp") has no files
;; and score-files is still nil. -sj
;; this can be construed as a "stop searching here" feature :>
;; and used to simplify regexps in the single-alist
(setq score-files (append (cdar alist) score-files))
(setq alist nil))
(setq alist (cdr alist)))
;; cache the score files
(push (cons group score-files) gnus-score-file-alist-cache)
score-files)))