gnus-score.el (gnus-score-find-alist): Keep the score files already in the reverse...
authorSam Steingold <sds@gnu.org>
Fri, 12 Aug 2011 23:23:27 +0000 (23:23 +0000)
committerKatsumi Yamaoka <yamaoka@jpl.org>
Fri, 12 Aug 2011 23:23:27 +0000 (23:23 +0000)
 (gnus-all-score-files): Do not modify the value returned by `gnus-score-find-alist' because it lives in a cache variable.
 (gnus-current-home-score-file): No need to `nreverse' the return value of `gnus-score-find-alist', it is already in the correct order.

lisp/ChangeLog
lisp/gnus-score.el

index 6d14c67..3624e87 100644 (file)
@@ -1,3 +1,12 @@
+2011-08-12  Sam Steingold  <sds@gnu.org>
+
+       * gnus-score.el (gnus-score-find-alist): Keep the score files already
+       in the reverse order to avoid modifying the cache with `nreverse'.
+       (gnus-all-score-files): Do not modify the value returned by
+       `gnus-score-find-alist' because it lives in a cache variable.
+       (gnus-current-home-score-file): No need to `nreverse' the return value
+       of `gnus-score-find-alist', it is already in the correct order.
+
 2011-08-11  Andrew Cohen  <cohen@andy.bu.edu>
 
        * nnimap.el (nnimap-transform-headers): BODYSTRUCTURE for messages of
 
        * nnir.el (gnus-group-make-nnir-group): Allow optional search query
        argument.
-       (gnus-group-make-nnir-group,nnir-request-group,nnir-run-query): Use
+       (gnus-group-make-nnir-group, nnir-request-group, nnir-run-query): Use
        `nnir-address' to handle server info rather than passing an arg.
 
        * nnimap.el (nnimap-make-thread-query): New utility function to format
index 9bbfbfb..099d06d 100644 (file)
@@ -2834,8 +2834,7 @@ The list is determined from the variable `gnus-score-file-alist'."
       ;; handle the multiple match alist
       (while alist
        (when (string-match (caar alist) group)
-         (setq score-files
-               (nconc score-files (copy-sequence (cdar alist)))))
+         (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
@@ -2845,8 +2844,7 @@ The list is determined from the variable `gnus-score-file-alist'."
          ;; 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
-               (nconc score-files (copy-sequence (cdar alist))))
+         (setq score-files (append (cdar alist) score-files))
          (setq alist nil))
        (setq alist (cdr alist)))
       ;; cache the score files
@@ -2866,7 +2864,7 @@ The list is determined from the variable `gnus-score-file-alist'."
       (when gnus-score-use-all-scores
        ;; Get the initial score files for this group.
        (when funcs
-         (setq score-files (nreverse (gnus-score-find-alist group))))
+         (setq score-files (copy-list (gnus-score-find-alist group))))
        ;; Add any home adapt files.
        (let ((home (gnus-home-score-file group t)))
          (when home
@@ -3013,7 +3011,7 @@ If ADAPT, return the home adaptive file instead."
 
 (defun gnus-current-home-score-file (group)
   "Return the \"current\" regular score file."
-  (car (nreverse (gnus-score-find-alist group))))
+  (car (gnus-score-find-alist group)))
 
 ;;;
 ;;; Score decays