comparison lisp/gnus/nnml.el @ 114:8619ce7e4c50 r20-1b9

Import from CVS: tag r20-1b9
author cvs
date Mon, 13 Aug 2007 09:21:54 +0200
parents 48d667d6f17f
children 9f59509498e1
comparison
equal deleted inserted replaced
113:2ec2fe4a4c89 114:8619ce7e4c50
311 311
312 (deffoo nnml-request-accept-article (group &optional server last) 312 (deffoo nnml-request-accept-article (group &optional server last)
313 (nnml-possibly-change-directory group server) 313 (nnml-possibly-change-directory group server)
314 (nnmail-check-syntax) 314 (nnmail-check-syntax)
315 (let (result) 315 (let (result)
316 (nnmail-cache-insert (nnmail-fetch-field "message-id")) 316 (when nnmail-cache-accepted-message-ids
317 (nnmail-cache-insert (nnmail-fetch-field "message-id")))
317 (if (stringp group) 318 (if (stringp group)
318 (and 319 (and
319 (nnmail-activate 'nnml) 320 (nnmail-activate 'nnml)
320 (setq result (car (nnml-save-mail 321 (setq result (car (nnml-save-mail
321 (list (cons group (nnml-active-number group)))))) 322 (list (cons group (nnml-active-number group))))))
326 (nnmail-activate 'nnml) 327 (nnmail-activate 'nnml)
327 (setq result (car (nnml-save-mail 328 (setq result (car (nnml-save-mail
328 (nnmail-article-group 'nnml-active-number)))) 329 (nnmail-article-group 'nnml-active-number))))
329 (when last 330 (when last
330 (nnmail-save-active nnml-group-alist nnml-active-file) 331 (nnmail-save-active nnml-group-alist nnml-active-file)
331 (nnmail-cache-close) 332 (when nnmail-cache-accepted-message-ids
333 (nnmail-cache-close))
332 (nnml-save-nov)))) 334 (nnml-save-nov))))
333 result)) 335 result))
334 336
335 (deffoo nnml-request-replace-article (article group buffer) 337 (deffoo nnml-request-replace-article (article group buffer)
336 (nnml-possibly-change-directory group) 338 (nnml-possibly-change-directory group)
680 ;; numbers in empty groups. 682 ;; numbers in empty groups.
681 (nnmail-activate 'nnml) 683 (nnmail-activate 'nnml)
682 (nnml-open-server (or (nnoo-current-server 'nnml) "")) 684 (nnml-open-server (or (nnoo-current-server 'nnml) ""))
683 (setq nnml-directory (expand-file-name nnml-directory)) 685 (setq nnml-directory (expand-file-name nnml-directory))
684 ;; Recurse down the directories. 686 ;; Recurse down the directories.
685 (nnml-generate-nov-databases-1 nnml-directory) 687 (nnml-generate-nov-databases-1 nnml-directory nil t)
686 ;; Save the active file. 688 ;; Save the active file.
687 (nnmail-save-active nnml-group-alist nnml-active-file)) 689 (nnmail-save-active nnml-group-alist nnml-active-file))
688 690
689 (defun nnml-generate-nov-databases-1 (dir &optional seen) 691 (defun nnml-generate-nov-databases-1 (dir &optional seen no-active)
690 "Regenerate the NOV database in DIR." 692 "Regenerate the NOV database in DIR."
691 (interactive "DRegenerate NOV in: ") 693 (interactive "DRegenerate NOV in: ")
692 (setq dir (file-name-as-directory dir)) 694 (setq dir (file-name-as-directory dir))
693 ;; Only scan this sub-tree if we haven't been here yet. 695 ;; Only scan this sub-tree if we haven't been here yet.
694 (unless (member (file-truename dir) seen) 696 (unless (member (file-truename dir) seen)
704 (let ((files (sort (nnheader-article-to-file-alist dir) 706 (let ((files (sort (nnheader-article-to-file-alist dir)
705 (lambda (a b) (< (car a) (car b)))))) 707 (lambda (a b) (< (car a) (car b))))))
706 (when files 708 (when files
707 (funcall nnml-generate-active-function dir) 709 (funcall nnml-generate-active-function dir)
708 ;; Generate the nov file. 710 ;; Generate the nov file.
709 (nnml-generate-nov-file dir files))))) 711 (nnml-generate-nov-file dir files)
712 (unless no-active
713 (nnmail-save-active nnml-group-alist nnml-active-file))))))
710 714
711 (defvar files) 715 (defvar files)
712 (defun nnml-generate-active-info (dir) 716 (defun nnml-generate-active-info (dir)
713 ;; Update the active info for this group. 717 ;; Update the active info for this group.
714 (let ((group (nnheader-file-to-group 718 (let ((group (nnheader-file-to-group