Function: gnus-score-find-favorite-words
gnus-score-find-favorite-words is an interactive and byte-compiled
function defined in gnus-score.el.gz.
Signature
(gnus-score-find-favorite-words)
Documentation
List words used in scoring.
Probably introduced at or before Emacs version 27.1.
Key Bindings
Aliases
gnus-score-find-favourite-words (obsolete since 27.1)
Source Code
;; Defined in /usr/src/emacs/lisp/gnus/gnus-score.el.gz
(defun gnus-score-find-favorite-words ()
"List words used in scoring."
(interactive)
(let ((alists (gnus-score-load-files (gnus-all-score-files)))
alist rule rules kill)
;; Go through all the score alists for this group
;; and find all `w' rules.
(while (setq alist (pop alists))
(while (setq rule (pop alist))
(when (and (stringp (car rule))
(equal "subject" (downcase (pop rule))))
(while (setq kill (pop rule))
(when (memq (nth 3 kill) '(w W word Word))
(push (cons (or (nth 1 kill)
gnus-score-interactive-default-score)
(car kill))
rules))))))
(setq rules (sort rules (lambda (r1 r2)
(string-lessp (cdr r1) (cdr r2)))))
;; Add up words that have appeared several times.
(let ((r rules))
(while (cdr r)
(if (equal (cdar r) (cdadr r))
(progn
(setcar (car r) (+ (caar r) (caadr r)))
(setcdr r (cddr r)))
(pop r))))
;; Insert the words.
(nnheader-set-temp-buffer "*Score Words*")
(if (not (setq rules (sort rules (lambda (r1 r2) (> (car r1) (car r2))))))
(gnus-error 3 "No word score rules")
(while rules
(insert (format "%-5d: %s\n" (caar rules) (cdar rules)))
(pop rules))
(goto-char (point-min))
(gnus-configure-windows 'score-words))))