diff lisp/gnus/gnus-score.el @ 30:ec9a17fef872 r19-15b98

Import from CVS: tag r19-15b98
author cvs
date Mon, 13 Aug 2007 08:52:29 +0200
parents 4103f0995bd7
children e04119814345
line wrap: on
line diff
--- a/lisp/gnus/gnus-score.el	Mon Aug 13 08:51:58 2007 +0200
+++ b/lisp/gnus/gnus-score.el	Mon Aug 13 08:52:29 2007 +0200
@@ -180,7 +180,7 @@
 
    * A function.
      If the function returns non-nil, the result will be used
-     as the home score file.  The function will be passed the 
+     as the home score file.  The function will be passed the
      name of the group as its parameter.
 
    * A string.  Use the string as the home score file.
@@ -205,7 +205,7 @@
 				 function))
 		 function))
 
-(defcustom gnus-default-adaptive-score-alist  
+(defcustom gnus-default-adaptive-score-alist
   '((gnus-kill-file-mark)
     (gnus-unread-mark)
     (gnus-read-mark (from 3) (subject 30))
@@ -245,7 +245,7 @@
   :group 'gnus-score-adapt
   :type '(repeat string))
 
-(defcustom gnus-default-adaptive-word-score-alist  
+(defcustom gnus-default-adaptive-word-score-alist
   `((,gnus-read-mark . 30)
     (,gnus-catchup-mark . -10)
     (,gnus-killed-mark . -20)
@@ -387,7 +387,7 @@
 
 (defvar gnus-score-alist nil
   "Alist containing score information.
-The keys can be symbols or strings.  The following symbols are defined. 
+The keys can be symbols or strings.  The following symbols are defined.
 
 touched: If this alist has been modified.
 mark:    Automatically mark articles below this.
@@ -469,7 +469,7 @@
   (let* ((nscore (gnus-score-default score))
 	 (prefix (if (< nscore 0) ?L ?I))
 	 (increase (> nscore 0))
-	 (char-to-header 
+	 (char-to-header
 	  '((?a "from" nil nil string)
 	    (?s "subject" nil nil string)
 	    (?b "body" "" nil body-string)
@@ -498,21 +498,21 @@
 	  (list (list ?t (current-time-string) "temporary")
 		'(?p perm "permanent") '(?i now "immediate")))
 	 (mimic gnus-score-mimic-keymap)
-	 (hchar (and gnus-score-default-header 
+	 (hchar (and gnus-score-default-header
 		     (aref (symbol-name gnus-score-default-header) 0)))
 	 (tchar (and gnus-score-default-type
 		     (aref (symbol-name gnus-score-default-type) 0)))
 	 (pchar (and gnus-score-default-duration
 		     (aref (symbol-name gnus-score-default-duration) 0)))
 	 entry temporary type match)
-    
+
     (unwind-protect
 	(progn
 
 	  ;; First we read the header to score.
 	  (while (not hchar)
 	    (if mimic
-		(progn 
+		(progn
 		  (sit-for 1)
 		  (message "%c-" prefix))
 	      (message "%s header (%s?): " (if increase "Increase" "Lower")
@@ -532,7 +532,7 @@
 	    (if mimic (message "%c %c" prefix hchar) (message ""))
 	    (setq tchar (or tchar ?s)
 		  pchar (or pchar ?t)))
-    
+
 	  ;; We continue reading - the type.
 	  (while (not tchar)
 	    (if mimic
@@ -593,7 +593,7 @@
 		       (eq tchar 114)
 		       (eq (- pchar 4) 111))
 	      (error "You rang?"))
-	    (if mimic 
+	    (if mimic
 		(error "%c %c %c %c" prefix hchar tchar pchar)
 	      (error ""))))
       ;; Always kill the score help buffer.
@@ -602,15 +602,15 @@
     ;; We have all the data, so we enter this score.
     (setq match (if (string= (nth 2 entry) "") ""
 		  (gnus-summary-header (or (nth 2 entry) (nth 1 entry)))))
-      
+
     ;; Modify the match, perhaps.
-    (cond 
+    (cond
      ((equal (nth 1 entry) "xref")
       (when (string-match "^Xref: *" match)
 	(setq match (substring match (match-end 0))))
       (when (string-match "^[^:]* +" match)
 	(setq match (substring match (match-end 0))))))
-    
+
     (when (memq type '(r R regexp Regexp))
       (setq match (regexp-quote match)))
 
@@ -624,7 +624,7 @@
        temporary)
      (not (nth 3 entry)))		; Prompt
     ))
-  
+
 (defun gnus-score-insert-help (string alist idx)
   (setq gnus-score-help-winconf (current-window-configuration))
   (save-excursion
@@ -646,7 +646,7 @@
       (setq max (+ max 4))		; %c, `:', SPACE, a SPACE at end
       (setq n (/ (1- (window-width)) max)) ; items per line
       (setq width (/ (1- (window-width)) n)) ; width of each item
-      ;; insert `n' items, each in a field of width `width' 
+      ;; insert `n' items, each in a field of width `width'
       (while alist
 	(if (< i n)
 	    ()
@@ -665,7 +665,7 @@
     (let ((window-min-height 1))
       (shrink-window-if-larger-than-buffer))
     (select-window (get-buffer-window gnus-summary-buffer))))
-  
+
 (defun gnus-summary-header (header &optional no-err)
   ;; Return HEADER for current articles, or error.
   (let ((article (gnus-summary-article-number))
@@ -683,7 +683,7 @@
 
 (defun gnus-newsgroup-score-alist ()
   (or
-   (let ((param-file (gnus-group-find-parameter 
+   (let ((param-file (gnus-group-find-parameter
 		      gnus-newsgroup-name 'score-file)))
      (when param-file
        (gnus-score-load param-file)))
@@ -693,8 +693,8 @@
 
 (defsubst gnus-score-get (symbol &optional alist)
   ;; Get SYMBOL's definition in ALIST.
-  (cdr (assoc symbol 
-	      (or alist 
+  (cdr (assoc symbol
+	      (or alist
 		  gnus-score-alist
 		  (gnus-newsgroup-score-alist)))))
 
@@ -734,8 +734,8 @@
 	(header (format "%s" (downcase header)))
 	new)
     (when prompt
-      (setq match (read-string 
-		   (format "Match %s on %s, %s: " 
+      (setq match (read-string
+		   (format "Match %s on %s, %s: "
 			   (cond ((eq date 'now)
 				  "now")
 				 ((stringp date)
@@ -750,7 +750,7 @@
     ;; Get rid of string props.
     (setq match (format "%s" match))
 
-    ;; If this is an integer comparison, we transform from string to int. 
+    ;; If this is an integer comparison, we transform from string to int.
     (when (eq (nth 2 (assoc header gnus-header-index)) 'gnus-score-integer)
       (setq match (string-to-int match)))
 
@@ -761,7 +761,7 @@
       (let ((old (gnus-score-get header))
 	    elem)
 	(setq new
-	      (cond 
+	      (cond
 	       (type
 		(list match score
 		      (and date (if (numberp date) date
@@ -821,7 +821,7 @@
 			 match)
 			((eq type 'e)
 			 (concat "\\`" (regexp-quote match) "\\'"))
-			(t 
+			(t
 			 (regexp-quote match)))))
       (while (not (eobp))
 	(let ((content (gnus-summary-header header 'noerr))
@@ -846,8 +846,8 @@
       (error "This article is not crossposted"))
     (while (string-match " \\([^ \t]+\\):" xref start)
       (setq start (match-end 0))
-      (when (not (string= 
-		  (setq group 
+      (when (not (string=
+		  (setq group
 			(substring xref (match-beginning 1) (match-end 1)))
 		  gnus-newsgroup-name))
 	(gnus-summary-score-entry
@@ -863,7 +863,7 @@
 ;; Added by Per Abrahamsen <amanda@iesd.auc.dk>.
 (defun gnus-score-set-mark-below (score)
   "Automatically mark articles with score below SCORE as read."
-  (interactive 
+  (interactive
    (list (or (and current-prefix-arg (prefix-numeric-value current-prefix-arg))
 	     (string-to-int (read-string "Mark below: ")))))
   (setq score (or score gnus-summary-default-score 0))
@@ -897,7 +897,7 @@
 
 (defun gnus-score-set-expunge-below (score)
   "Automatically expunge articles with score below SCORE."
-  (interactive 
+  (interactive
    (list (or (and current-prefix-arg (prefix-numeric-value current-prefix-arg))
 	     (string-to-int (read-string "Set expunge below: ")))))
   (setq score (or score gnus-summary-default-score 0))
@@ -936,8 +936,8 @@
 
 (defun gnus-score-set (symbol value &optional alist)
   ;; Set SYMBOL to VALUE in ALIST.
-  (let* ((alist 
-	  (or alist 
+  (let* ((alist
+	  (or alist
 	      gnus-score-alist
 	      (gnus-newsgroup-score-alist)))
 	 (entry (assoc symbol alist)))
@@ -986,7 +986,7 @@
 
 (defun gnus-score-change-score-file (file)
   "Change current score alist."
-  (interactive 
+  (interactive
    (list (read-file-name "Change to score file: " gnus-kill-files-directory)))
   (gnus-score-load-file file)
   (gnus-set-mode-line 'summary))
@@ -1006,13 +1006,13 @@
     (setq gnus-score-edit-exit-function 'gnus-score-edit-done)
     (make-local-variable 'gnus-prev-winconf)
     (setq gnus-prev-winconf winconf))
-  (gnus-message 
-   4 (substitute-command-keys 
+  (gnus-message
+   4 (substitute-command-keys
       "\\<gnus-score-mode-map>\\[gnus-score-edit-exit] to save edits")))
-  
+
 (defun gnus-score-edit-file (file)
   "Edit a score file."
-  (interactive 
+  (interactive
    (list (read-file-name "Edit score file: " gnus-kill-files-directory)))
   (gnus-make-directory (file-name-directory file))
   (when (buffer-name gnus-summary-buffer)
@@ -1024,13 +1024,13 @@
     (setq gnus-score-edit-exit-function 'gnus-score-edit-done)
     (make-local-variable 'gnus-prev-winconf)
     (setq gnus-prev-winconf winconf))
-  (gnus-message 
-   4 (substitute-command-keys 
+  (gnus-message
+   4 (substitute-command-keys
       "\\<gnus-score-mode-map>\\[gnus-score-edit-exit] to save edits")))
-  
+
 (defun gnus-score-load-file (file)
   ;; Load score file FILE.  Returns a list a retrieved score-alists.
-  (let* ((file (expand-file-name 
+  (let* ((file (expand-file-name
 		(or (and (string-match
 			  (concat "^" (expand-file-name
 				       gnus-kill-files-directory))
@@ -1048,7 +1048,7 @@
       (setq gnus-score-alist nil)
       (setq alist (gnus-score-load-score-alist file))
       ;; We add '(touched) to the alist to signify that it hasn't been
-      ;; touched (yet). 
+      ;; touched (yet).
       (unless (assq 'touched alist)
 	(push (list 'touched nil) alist))
       ;; If it is a global score file, we make it read-only.
@@ -1084,12 +1084,12 @@
 	  (eval (car (gnus-score-get 'eval alist))))
       ;; Perform possible decays.
       (when (and gnus-decay-scores
-		 (gnus-decay-scores 
+		 (gnus-decay-scores
 		  alist (or decay (gnus-time-to-day (current-time)))))
 	(gnus-score-set 'touched '(t) alist)
 	(gnus-score-set 'decay (list (gnus-time-to-day (current-time)))))
       ;; We do not respect eval and files atoms from global score
-      ;; files. 
+      ;; files.
       (and files (not global)
 	   (setq lists (apply 'append lists
 			      (mapcar (lambda (file)
@@ -1098,9 +1098,9 @@
 					files)))))
       (and eval (not global) (eval eval))
       ;; We then expand any exclude-file directives.
-      (setq gnus-scores-exclude-files 
-	    (nconc 
-	     (mapcar 
+      (setq gnus-scores-exclude-files
+	    (nconc
+	     (mapcar
 	      (lambda (sfile)
 		(expand-file-name sfile (file-name-directory file)))
 	      exclude-files)
@@ -1130,13 +1130,13 @@
 		  (t
 		   ;;(setq gnus-newsgroup-adaptive gnus-use-adaptive-scoring)
 		   gnus-default-adaptive-score-alist)))
-      (setq gnus-thread-expunge-below 
+      (setq gnus-thread-expunge-below
 	    (or thread-mark-and-expunge gnus-thread-expunge-below))
-      (setq gnus-summary-mark-below 
+      (setq gnus-summary-mark-below
 	    (or mark mark-and-expunge gnus-summary-mark-below))
-      (setq gnus-summary-expunge-below 
+      (setq gnus-summary-expunge-below
 	    (or expunge mark-and-expunge gnus-summary-expunge-below))
-      (setq gnus-newsgroup-adaptive-score-file 
+      (setq gnus-newsgroup-adaptive-score-file
 	    (or adapt-file gnus-newsgroup-adaptive-score-file)))
     (setq gnus-current-score-file file)
     (setq gnus-score-alist alist)
@@ -1154,7 +1154,7 @@
       (push (cons file gnus-score-alist) gnus-score-cache))))
 
 (defun gnus-score-remove-from-cache (file)
-  (setq gnus-score-cache 
+  (setq gnus-score-cache
 	(delq (assoc file gnus-score-cache) gnus-score-cache)))
 
 (defun gnus-score-load-score-alist (file)
@@ -1173,7 +1173,7 @@
 	  (setq alist
 		(condition-case ()
 		    (read (current-buffer))
-		  (error 
+		  (error
 		   (gnus-error 3.2 "Problem with score file %s" file))))))
       (if (eq (car alist) 'setq)
 	  ;; This is an old-style score file.
@@ -1185,7 +1185,7 @@
 
 (defun gnus-score-check-syntax (alist file)
   "Check the syntax of the score ALIST."
-  (cond 
+  (cond
    ((null alist)
     nil)
    ((not (consp alist))
@@ -1202,14 +1202,14 @@
 	  ((not (listp (car a)))
 	   (format "Illegal score element %s in %s" (car a) file))
 	  ((stringp (caar a))
-	   (cond 
+	   (cond
 	    ((not (listp (setq sr (cdar a))))
 	     (format "Illegal header match %s in %s" (nth 1 (car a)) file))
 	    (t
 	     (setq type (caar a))
 	     (while (and sr (not err))
 	       (setq s (pop sr))
-	       (setq 
+	       (setq
 		err
 		(cond
 		 ((if (member (downcase type) '("lines" "chars"))
@@ -1255,7 +1255,7 @@
 	      out))
       (setq alist (cdr alist)))
     (cons (list 'touched t) (nreverse out))))
-  
+
 (defun gnus-score-save ()
   ;; Save all score information.
   (let ((cache gnus-score-cache)
@@ -1276,7 +1276,7 @@
 	  (setq score (setcdr entry (delq (assq 'touched score) score)))
 	  (erase-buffer)
 	  (let (emacs-lisp-mode-hook)
-	    (if (string-match 
+	    (if (string-match
 		 (concat (regexp-quote gnus-adaptive-file-suffix)
 			 "$")
 		 file)
@@ -1285,13 +1285,13 @@
 		;; are not meant to be edited by human hands.
 		(gnus-prin1 score)
 	      ;; This is a normal score file, so we print it very
-	      ;; prettily. 
+	      ;; prettily.
 	      (pp score (current-buffer))))
 	  (gnus-make-directory (file-name-directory file))
 	  ;; If the score file is empty, we delete it.
 	  (if (zerop (buffer-size))
 	      (delete-file file)
-	    ;; There are scores, so we write the file. 
+	    ;; There are scores, so we write the file.
 	    (when (file-writable-p file)
 	      (gnus-write-buffer file)
 	      (when gnus-score-after-write-file-function
@@ -1365,8 +1365,8 @@
 	    ;; Set the global variant of this variable.
 	    (setq gnus-current-score-file current-score-file)
 	    ;; score orphans
-	    (when gnus-orphan-score 
-	      (setq gnus-score-index 
+	    (when gnus-orphan-score
+	      (setq gnus-score-index
 		    (nth 1 (assoc "references" gnus-header-index)))
 	      (gnus-score-orphans gnus-orphan-score))
 	    ;; Run each header through the score process.
@@ -1401,7 +1401,7 @@
 		(when (listp (caar score))
 		  (gnus-score-advanced (car score) trace))
 		(pop score))))
-		
+
 	  (gnus-message 5 "Scoring...done"))))))
 
 
@@ -1422,7 +1422,7 @@
 (defun gnus-score-orphans (score)
   (let ((new-thread-ids (gnus-get-new-thread-ids gnus-scores-articles))
         alike articles art arts this last this-id)
-    
+
     (setq gnus-scores-articles (sort gnus-scores-articles 'gnus-score-string<)
 	  articles gnus-scores-articles)
 
@@ -1471,7 +1471,7 @@
                            arts (cdr arts))
                      (setcdr art (+ score (cdr art))))
                    (forward-line))))))
-             
+
 
 (defun gnus-score-integer (scores header now expire &optional trace)
   (let ((gnus-score-index (nth 1 (assoc header gnus-header-index)))
@@ -1501,10 +1501,10 @@
 	  ;; matches on numbers that any cleverness will take more
 	  ;; time than one would gain.
 	  (while articles
-	    (when (funcall match-func 
+	    (when (funcall match-func
 			   (or (aref (caar articles) gnus-score-index) 0)
 			   match)
-	      (when trace 
+	      (when trace
 		(push (cons (car-safe (rassq alist gnus-score-cache)) kill)
 		      gnus-score-trace))
 	      (setq found t)
@@ -1602,7 +1602,7 @@
 	  (setq last (mail-header-number (caar (last articles))))
 	  ;; Not all backends support partial fetching.  In that case,
 	  ;; we just fetch the entire article.
-	  (unless (gnus-check-backend-function 
+	  (unless (gnus-check-backend-function
 		   (and (string-match "^gnus-" (symbol-name request-func))
 			(intern (substring (symbol-name request-func)
 					   (match-end 0))))
@@ -1640,10 +1640,10 @@
 				    gnus-score-interactive-default-score))
 			 (date (nth 2 kill))
 			 (found nil)
-			 (case-fold-search 
+			 (case-fold-search
 			  (not (or (eq type 'R) (eq type 'S)
 				   (eq type 'Regexp) (eq type 'String))))
-			 (search-func 
+			 (search-func
 			  (cond ((or (eq type 'r) (eq type 'R)
 				     (eq type 'regexp) (eq type 'Regexp))
 				 're-search-forward)
@@ -1665,7 +1665,7 @@
 		    (unless trace
 		      (cond
 		       ((null date))	;Permanent entry.
-		       ((and found gnus-update-score-entry-dates) 
+		       ((and found gnus-update-score-entry-dates)
 			;; Match, update date.
 			(gnus-score-set 'touched '(t) alist)
 			(setcar (nthcdr 2 kill) now))
@@ -1695,7 +1695,7 @@
       (set-buffer gnus-summary-buffer)
       (gnus-score-load-file
        (or gnus-newsgroup-adaptive-score-file
-	   (gnus-score-file-name 
+	   (gnus-score-file-name
 	    gnus-newsgroup-name gnus-adaptive-file-suffix))))
 
     (setq gnus-scores-articles (sort gnus-scores-articles 'gnus-score-string<)
@@ -1716,7 +1716,7 @@
     (when last				; Bwadr, duplicate code.
       (insert last ?\n)
       (put-text-property (1- (point)) (point) 'articles alike))
-  
+
     ;; Find matches.
     (while scores
       (setq alist (car scores)
@@ -1731,10 +1731,10 @@
 	       (date (nth 2 kill))
 	       (found nil)
 	       (mt (aref (symbol-name type) 0))
-	       (case-fold-search 
+	       (case-fold-search
 		(not (or (= mt ?R) (= mt ?S) (= mt ?E) (= mt ?F))))
 	       (dmt (downcase mt))
-	       (search-func 
+	       (search-func
 		(cond ((= dmt ?r) 're-search-forward)
 		      ((or (= dmt ?e) (= dmt ?s) (= dmt ?f)) 'search-forward)
 		      (t (error "Illegal match type: %s" type))))
@@ -1747,13 +1747,13 @@
 		     (= (progn (end-of-line) (point))
 			(match-end 0))
 		     (progn
-		       (setq found (setq arts (get-text-property 
+		       (setq found (setq arts (get-text-property
 					       (point) 'articles)))
 		       ;; Found a match, update scores.
 		       (while arts
 			 (setq art (car arts)
 			       arts (cdr arts))
-			 (gnus-score-add-followups 
+			 (gnus-score-add-followups
 			  (car art) score all-scores thread))))
 		(end-of-line))
 	    (while (funcall search-func match nil t)
@@ -1795,7 +1795,7 @@
 	     (assoc id entry)
 	     (setq dont t)))
       (unless dont
-	(gnus-summary-score-entry 
+	(gnus-summary-score-entry
 	 (if thread "thread" "references")
 	 id 's score (current-time-string) nil t)))))
 
@@ -1803,11 +1803,11 @@
   ;; Score ARTICLES according to HEADER in SCORE-LIST.
   ;; Update matching entries to NOW and remove unmatched entries older
   ;; than EXPIRE.
-  
+
   ;; Insert the unique article headers in the buffer.
   (let ((gnus-score-index (nth 1 (assoc header gnus-header-index)))
 	;; gnus-score-index is used as a free variable.
-	alike last this art entries alist articles 
+	alike last this art entries alist articles
 	fuzzies arts words kill)
 
     ;; Sorting the articles costs os O(N*log N) but will allow us to
@@ -1855,7 +1855,7 @@
 	       (mt (aref (symbol-name type) 0))
 	       (case-fold-search (not (memq mt '(?R ?S ?E ?F))))
 	       (dmt (downcase mt))
-	       (search-func 
+	       (search-func
 		(cond ((= dmt ?r) 're-search-forward)
 		      ((or (= dmt ?e) (= dmt ?s) (= dmt ?f)) 'search-forward)
 		      ((= dmt ?w) nil)
@@ -1878,14 +1878,14 @@
 		   (= (gnus-point-at-bol) (match-beginning 0))
 		   ;; Yup.
 		   (progn
-		     (setq found (setq arts (get-text-property 
+		     (setq found (setq arts (get-text-property
 					     (point) 'articles)))
 		     ;; Found a match, update scores.
 		     (if trace
 			 (while (setq art (pop arts))
 			   (setcdr art (+ score (cdr art)))
 			   (push
-			    (cons 
+			    (cons
 			     (car-safe (rassq alist gnus-score-cache))
 			     kill)
 			    gnus-score-trace))
@@ -1914,7 +1914,7 @@
 	  ;; Update expiry date
 	  (if trace
 	      (setq entries (cdr entries))
-	    (cond 
+	    (cond
 	     ;; Permanent entry.
 	     ((null date)
 	      (setq entries (cdr entries)))
@@ -1953,7 +1953,7 @@
 		  (while (setq art (pop arts))
 		    (setcdr art (+ score (cdr art)))
 		    (push (cons
-			   (car-safe (rassq (cdar fuzzies) gnus-score-cache)) 
+			   (car-safe (rassq (cdar fuzzies) gnus-score-cache))
 			   kill)
 			  gnus-score-trace))
 		;; Found a match, update scores.
@@ -2024,7 +2024,7 @@
 	  (set-syntax-table gnus-adaptive-word-syntax-table)
 	  (while (re-search-forward "\\b\\w+\\b" nil t)
 	    (setq val
-		  (gnus-gethash 
+		  (gnus-gethash
 		   (setq word (downcase (buffer-substring
 					 (match-beginning 0) (match-end 0))))
 		   hashtb))
@@ -2047,7 +2047,7 @@
 
 (defun gnus-current-score-file-nondirectory (&optional score-file)
   (let ((score-file (or score-file gnus-current-score-file)))
-    (if score-file 
+    (if score-file
 	(gnus-short-group-name (file-name-nondirectory score-file))
       "none")))
 
@@ -2057,9 +2057,9 @@
     ;; We change the score file to the adaptive score file.
     (save-excursion
       (set-buffer gnus-summary-buffer)
-      (gnus-score-load-file 
+      (gnus-score-load-file
        (or gnus-newsgroup-adaptive-score-file
-	   (gnus-score-file-name 
+	   (gnus-score-file-name
 	    gnus-newsgroup-name gnus-adaptive-file-suffix))))
     ;; Perform ordinary line scoring.
     (when (or (not (listp gnus-newsgroup-adaptive))
@@ -2085,8 +2085,8 @@
 			    (cdar elem)))
 	      (setcar (car elem)
 		      `(lambda (h)
-			 (,(intern 
-			    (concat "mail-header-" 
+			 (,(intern
+			    (concat "mail-header-"
 				    (if (eq (caar elem) 'followup)
 					"message-id"
 				      (downcase (symbol-name (caar elem))))))
@@ -2100,9 +2100,9 @@
 		    (gnus-data-pseudo-p (car data)))
 		()
 	      (when (setq headers (gnus-data-header (car data)))
-		(while elem 
+		(while elem
 		  (setq match (funcall (caar elem) headers))
-		  (gnus-summary-score-entry 
+		  (gnus-summary-score-entry
 		   (nth 1 (car elem)) match
 		   (cond
 		    ((numberp match)
@@ -2111,10 +2111,10 @@
 		     'a)
 		    (t
 		     ;; Whether we use substring or exact matches is
-		     ;; controlled here.  
+		     ;; controlled here.
 		     (if (or (not gnus-score-exact-adapt-limit)
 			     (< (length match) gnus-score-exact-adapt-limit))
-			 'e 
+			 'e
 		       (if (equal (nth 1 (car elem)) "subject")
 			   'f 's))))
 		   (nth 2 (car elem)) date nil t)
@@ -2138,7 +2138,7 @@
 		  (when (and
 			 (not (gnus-data-pseudo-p d))
 			 (setq score
-			       (cdr (assq 
+			       (cdr (assq
 				     (gnus-data-mark d)
 				     gnus-adaptive-word-score-alist))))
 		    ;; This article has a mark that should lead to
@@ -2246,7 +2246,7 @@
   (setq gnus-newsgroup-scored nil)
   (gnus-possibly-score-headers)
   (gnus-score-update-all-lines))
-  
+
 (defun gnus-score-flush-cache ()
   "Flush the cache of score files."
   (interactive)
@@ -2325,25 +2325,25 @@
   (interactive "P")
   (gnus-summary-raise-thread (- (1- (gnus-score-default score)))))
 
-;;; Finding score files. 
+;;; Finding score files.
 
 (defun gnus-score-score-files (group)
   "Return a list of all possible score files."
   ;; Search and set any global score files.
-  (when gnus-global-score-files 
+  (when gnus-global-score-files
     (unless gnus-internal-global-score-files
       (gnus-score-search-global-directories gnus-global-score-files)))
   ;; Fix the kill-file dir variable.
-  (setq gnus-kill-files-directory 
+  (setq gnus-kill-files-directory
 	(file-name-as-directory gnus-kill-files-directory))
   ;; If we can't read it, there are no score files.
   (if (not (file-exists-p (expand-file-name gnus-kill-files-directory)))
       (setq gnus-score-file-list nil)
     (if (not (gnus-use-long-file-name 'not-score))
 	;; We do not use long file names, so we have to do some
-	;; directory traversing.  
-	(setq gnus-score-file-list 
-	      (cons nil 
+	;; directory traversing.
+	(setq gnus-score-file-list
+	      (cons nil
 		    (or gnus-short-name-score-file-cache
 			(prog2
 			    (gnus-message 6 "Finding all score files...")
@@ -2356,11 +2356,11 @@
 		(not (car gnus-score-file-list))
 		(gnus-file-newer-than gnus-kill-files-directory
 				      (car gnus-score-file-list)))
-	(setq gnus-score-file-list 
+	(setq gnus-score-file-list
 	      (cons (nth 5 (file-attributes gnus-kill-files-directory))
-		    (nreverse 
-		     (directory-files 
-		      gnus-kill-files-directory t 
+		    (nreverse
+		     (directory-files
+		      gnus-kill-files-directory t
 		      (gnus-score-file-regexp)))))))
     (cdr gnus-score-file-list)))
 
@@ -2371,7 +2371,7 @@
 	(case-fold-search nil)
 	seen out file)
     (while (setq file (pop files))
-      (cond 
+      (cond
        ;; Ignore "." and "..".
        ((member (file-name-nondirectory file) '("." ".."))
 	nil)
@@ -2386,19 +2386,19 @@
     (or out
 	;; Return a dummy value.
 	(list "~/News/this.file.does.not.exist.SCORE"))))
-       
+
 (defun gnus-score-file-regexp ()
   "Return a regexp that match all score files."
   (concat "\\(" (regexp-quote gnus-score-file-suffix )
 	  "\\|" (regexp-quote gnus-adaptive-file-suffix) "\\)\\'"))
-	
+
 (defun gnus-score-find-bnews (group)
   "Return a list of score files for GROUP.
 The score files are those files in the ~/News/ directory which matches
 GROUP using BNews sys file syntax."
   (let* ((sfiles (append (gnus-score-score-files group)
 			 gnus-internal-global-score-files))
-	 (kill-dir (file-name-as-directory 
+	 (kill-dir (file-name-as-directory
 		    (expand-file-name gnus-kill-files-directory)))
 	 (klen (length kill-dir))
 	 (score-regexp (gnus-score-file-regexp))
@@ -2408,7 +2408,7 @@
       (set-buffer (get-buffer-create "*gnus score files*"))
       (buffer-disable-undo (current-buffer))
       ;; Go through all score file names and create regexp with them
-      ;; as the source.  
+      ;; as the source.
       (while sfiles
 	(erase-buffer)
 	(insert (car sfiles))
@@ -2495,7 +2495,7 @@
 	   (mapcar 'gnus-score-file-name all)))
     (if (equal prefix "")
 	all
-      (mapcar 
+      (mapcar
        (lambda (file)
 	 (concat (file-name-directory file) prefix
 		 (file-name-nondirectory file)))
@@ -2522,7 +2522,7 @@
       (erase-buffer)
       (setq elems (delete "all" elems))
       (length elems))))
-    
+
 (defun gnus-sort-score-files (files)
   "Sort FILES so that the most general files come first."
   (nnheader-temp-write nil
@@ -2556,7 +2556,7 @@
 	  ;; 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 
+	  ;; and used to simplify regexps in the single-alist
 	  (setq score-files
 		(nconc score-files (copy-sequence (cdar alist))))
 	  (setq alist nil))
@@ -2575,7 +2575,7 @@
 	 (not (listp funcs))
 	 (setq funcs (list funcs)))
     ;; Get the initial score files for this group.
-    (when funcs 
+    (when funcs
       (setq score-files (nreverse (gnus-score-find-alist group))))
     ;; Add any home adapt files.
     (let ((home (gnus-home-score-file group t)))
@@ -2591,7 +2591,7 @@
     ;; scores) and add them to a list.
     (while funcs
       (when (gnus-functionp (car funcs))
-	(setq score-files 
+	(setq score-files
 	      (nconc score-files (nreverse (funcall (car funcs) group)))))
       (setq funcs (cdr funcs)))
     ;; Add any home score files.
@@ -2621,7 +2621,7 @@
 	(pop files)))
     ;; Do the scoring if there are any score files for this group.
     score-files))
-    
+
 (defun gnus-possibly-score-headers (&optional trace)
   "Do scoring if scoring is required."
   (let ((score-files (gnus-all-score-files)))
@@ -2636,7 +2636,7 @@
       ((or (null newsgroup)
 	   (string-equal newsgroup ""))
        ;; The global score file is placed at top of the directory.
-       (expand-file-name 
+       (expand-file-name
 	suffix gnus-kill-files-directory))
       ((gnus-use-long-file-name 'not-score)
        ;; Append ".SCORE" to newsgroup name.
@@ -2657,7 +2657,7 @@
   (let (out)
     (while files
       (if (string-match "/$" (car files))
-	  (setq out (nconc (directory-files 
+	  (setq out (nconc (directory-files
 			    (car files) t
 			    (concat (gnus-score-file-regexp) "$"))))
 	(push (car files) out))
@@ -2707,7 +2707,7 @@
     ;; Group name without any dots.
     (concat group (if (gnus-use-long-file-name 'not-score) "." "/")
 	    gnus-score-file-suffix)))
-      
+
 (defun gnus-hierarchial-home-adapt-file (group)
   "Return the adapt file of the top-level hierarchy of GROUP."
   (if (string-match "^[^.]+\\." group)