Mercurial > emacs
comparison lisp/gnus/nndiary.el @ 111573:e89dd9c3633b
merge trunk
author | Kenichi Handa <handa@m17n.org> |
---|---|
date | Mon, 08 Nov 2010 14:19:54 +0900 |
parents | 0b85687890f8 |
children | 417b1e4d63cd |
comparison
equal
deleted
inserted
replaced
111572:b3f9490f0b7f | 111573:e89dd9c3633b |
---|---|
1059 (while (setq dir (pop dirs)) | 1059 (while (setq dir (pop dirs)) |
1060 (when (and (not (string-match "^\\." (file-name-nondirectory dir))) | 1060 (when (and (not (string-match "^\\." (file-name-nondirectory dir))) |
1061 (file-directory-p dir)) | 1061 (file-directory-p dir)) |
1062 (nndiary-generate-nov-databases-1 dir seen)))) | 1062 (nndiary-generate-nov-databases-1 dir seen)))) |
1063 ;; Do this directory. | 1063 ;; Do this directory. |
1064 (let ((files (sort (nnheader-article-to-file-alist dir) | 1064 (let ((nndiary-files (sort (nnheader-article-to-file-alist dir) |
1065 'car-less-than-car))) | 1065 'car-less-than-car))) |
1066 (if (not files) | 1066 (if (not nndiary-files) |
1067 (let* ((group (nnheader-file-to-group | 1067 (let* ((group (nnheader-file-to-group |
1068 (directory-file-name dir) nndiary-directory)) | 1068 (directory-file-name dir) nndiary-directory)) |
1069 (info (cadr (assoc group nndiary-group-alist)))) | 1069 (info (cadr (assoc group nndiary-group-alist)))) |
1070 (when info | 1070 (when info |
1071 (setcar info (1+ (cdr info))))) | 1071 (setcar info (1+ (cdr info))))) |
1072 (funcall nndiary-generate-active-function dir) | 1072 (funcall nndiary-generate-active-function dir) |
1073 ;; Generate the nov file. | 1073 ;; Generate the nov file. |
1074 (nndiary-generate-nov-file dir files) | 1074 (nndiary-generate-nov-file dir nndiary-files) |
1075 (unless no-active | 1075 (unless no-active |
1076 (nnmail-save-active nndiary-group-alist nndiary-active-file)))))) | 1076 (nnmail-save-active nndiary-group-alist nndiary-active-file)))))) |
1077 | 1077 |
1078 (defvar files) | 1078 (defvar nndiary-files) ; dynamically bound in nndiary-generate-nov-databases-1 |
1079 (defun nndiary-generate-active-info (dir) | 1079 (defun nndiary-generate-active-info (dir) |
1080 ;; Update the active info for this group. | 1080 ;; Update the active info for this group. |
1081 (let* ((group (nnheader-file-to-group | 1081 (let* ((group (nnheader-file-to-group |
1082 (directory-file-name dir) nndiary-directory)) | 1082 (directory-file-name dir) nndiary-directory)) |
1083 (entry (assoc group nndiary-group-alist)) | 1083 (entry (assoc group nndiary-group-alist)) |
1084 (last (or (caadr entry) 0))) | 1084 (last (or (caadr entry) 0))) |
1085 (setq nndiary-group-alist (delq entry nndiary-group-alist)) | 1085 (setq nndiary-group-alist (delq entry nndiary-group-alist)) |
1086 (push (list group | 1086 (push (list group |
1087 (cons (or (caar files) (1+ last)) | 1087 (cons (or (caar nndiary-files) (1+ last)) |
1088 (max last | 1088 (max last |
1089 (or (caar (last files)) | 1089 (or (caar (last nndiary-files)) |
1090 0)))) | 1090 0)))) |
1091 nndiary-group-alist))) | 1091 nndiary-group-alist))) |
1092 | 1092 |
1093 (defun nndiary-generate-nov-file (dir files) | 1093 (defun nndiary-generate-nov-file (dir files) |
1094 (let* ((dir (file-name-as-directory dir)) | 1094 (let* ((dir (file-name-as-directory dir)) |