comparison lisp/gnus/gnus-score.el @ 110:fe104dbd9147 r20-1b7

Import from CVS: tag r20-1b7
author cvs
date Mon, 13 Aug 2007 09:19:45 +0200
parents 360340f9fd5f
children 7d55a9ba150c
comparison
equal deleted inserted replaced
109:e183fc049578 110:fe104dbd9147
2179 (gnus-score-load-file bufnam))) 2179 (gnus-score-load-file bufnam)))
2180 2180
2181 (defun gnus-score-find-trace () 2181 (defun gnus-score-find-trace ()
2182 "Find all score rules that applies to the current article." 2182 "Find all score rules that applies to the current article."
2183 (interactive) 2183 (interactive)
2184 (let ((gnus-newsgroup-headers 2184 (let ((old-scored gnus-newsgroup-scored))
2185 (list (gnus-summary-article-header))) 2185 (let ((gnus-newsgroup-headers
2186 (gnus-newsgroup-scored nil) 2186 (list (gnus-summary-article-header)))
2187 trace) 2187 (gnus-newsgroup-scored nil)
2188 (save-excursion 2188 trace)
2189 (nnheader-set-temp-buffer "*Score Trace*")) 2189 (save-excursion
2190 (setq gnus-score-trace nil) 2190 (nnheader-set-temp-buffer "*Score Trace*"))
2191 (gnus-possibly-score-headers 'trace) 2191 (setq gnus-score-trace nil)
2192 (if (not (setq trace gnus-score-trace)) 2192 (gnus-possibly-score-headers 'trace)
2193 (gnus-error 1 "No score rules apply to the current article.") 2193 (if (not (setq trace gnus-score-trace))
2194 (set-buffer "*Score Trace*") 2194 (gnus-error
2195 (gnus-add-current-to-buffer-list) 2195 1 "No score rules apply to the current article (default score %d)."
2196 (while trace 2196 gnus-summary-default-score)
2197 (insert (format "%S -> %s\n" (cdar trace) 2197 (set-buffer "*Score Trace*")
2198 (file-name-nondirectory (caar trace)))) 2198 (gnus-add-current-to-buffer-list)
2199 (setq trace (cdr trace))) 2199 (while trace
2200 (goto-char (point-min)) 2200 (insert (format "%S -> %s\n" (cdar trace)
2201 (gnus-configure-windows 'score-trace)))) 2201 (file-name-nondirectory (caar trace))))
2202 (setq trace (cdr trace)))
2203 (goto-char (point-min))
2204 (gnus-configure-windows 'score-trace)))
2205 (set-buffer gnus-summary-buffer)
2206 (setq gnus-newsgroup-scored old-scored)))
2202 2207
2203 (defun gnus-score-find-favourite-words () 2208 (defun gnus-score-find-favourite-words ()
2204 "List words used in scoring." 2209 "List words used in scoring."
2205 (interactive) 2210 (interactive)
2206 (let ((alists (gnus-score-load-files (gnus-all-score-files))) 2211 (let ((alists (gnus-score-load-files (gnus-all-score-files)))
2614 (while (and score-files 2619 (while (and score-files
2615 (member (car score-files) (cdr score-files))) 2620 (member (car score-files) (cdr score-files)))
2616 (pop score-files)) 2621 (pop score-files))
2617 (let ((files score-files)) 2622 (let ((files score-files))
2618 (while (cdr files) 2623 (while (cdr files)
2619 (when (member (cadr files) (cddr files)) 2624 (if (member (cadr files) (cddr files))
2620 (setcdr files (cddr files))) 2625 (setcdr files (cddr files))
2621 (pop files))) 2626 (pop files))))
2622 ;; Do the scoring if there are any score files for this group. 2627 ;; Do the scoring if there are any score files for this group.
2623 score-files)) 2628 score-files))
2624 2629
2625 (defun gnus-possibly-score-headers (&optional trace) 2630 (defun gnus-possibly-score-headers (&optional trace)
2626 "Do scoring if scoring is required." 2631 "Do scoring if scoring is required."