comparison lisp/gnus/nnml.el @ 36:c53a95d3c46d r19-15b101

Import from CVS: tag r19-15b101
author cvs
date Mon, 13 Aug 2007 08:53:38 +0200
parents d620409f5eb8
children 1a767b41a199
comparison
equal deleted inserted replaced
35:279432d5c479 36:c53a95d3c46d
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"))
317 (if (stringp group) 316 (if (stringp group)
318 (and 317 (and
319 (nnmail-activate 'nnml) 318 (nnmail-activate 'nnml)
320 (setq result (car (nnml-save-mail 319 (setq result (car (nnml-save-mail
321 (list (cons group (nnml-active-number group)))))) 320 (list (cons group (nnml-active-number group))))))
326 (nnmail-activate 'nnml) 325 (nnmail-activate 'nnml)
327 (setq result (car (nnml-save-mail 326 (setq result (car (nnml-save-mail
328 (nnmail-article-group 'nnml-active-number)))) 327 (nnmail-article-group 'nnml-active-number))))
329 (when last 328 (when last
330 (nnmail-save-active nnml-group-alist nnml-active-file) 329 (nnmail-save-active nnml-group-alist nnml-active-file)
331 (nnmail-cache-close)
332 (nnml-save-nov)))) 330 (nnml-save-nov))))
333 result)) 331 result))
334 332
335 (deffoo nnml-request-replace-article (article group buffer) 333 (deffoo nnml-request-replace-article (article group buffer)
336 (nnml-possibly-change-directory group) 334 (nnml-possibly-change-directory group)
680 ;; numbers in empty groups. 678 ;; numbers in empty groups.
681 (nnmail-activate 'nnml) 679 (nnmail-activate 'nnml)
682 (nnml-open-server (or (nnoo-current-server 'nnml) "")) 680 (nnml-open-server (or (nnoo-current-server 'nnml) ""))
683 (setq nnml-directory (expand-file-name nnml-directory)) 681 (setq nnml-directory (expand-file-name nnml-directory))
684 ;; Recurse down the directories. 682 ;; Recurse down the directories.
685 (nnml-generate-nov-databases-1 nnml-directory) 683 (nnml-generate-nov-databases-1 nnml-directory nil t)
686 ;; Save the active file. 684 ;; Save the active file.
687 (nnmail-save-active nnml-group-alist nnml-active-file)) 685 (nnmail-save-active nnml-group-alist nnml-active-file))
688 686
689 (defun nnml-generate-nov-databases-1 (dir &optional seen) 687 (defun nnml-generate-nov-databases-1 (dir &optional seen no-active)
690 "Regenerate the NOV database in DIR." 688 "Regenerate the NOV database in DIR."
691 (interactive "DRegenerate NOV in: ") 689 (interactive "DRegenerate NOV in: ")
692 (setq dir (file-name-as-directory dir)) 690 (setq dir (file-name-as-directory dir))
693 ;; Only scan this sub-tree if we haven't been here yet. 691 ;; Only scan this sub-tree if we haven't been here yet.
694 (unless (member (file-truename dir) seen) 692 (unless (member (file-truename dir) seen)
704 (let ((files (sort (nnheader-article-to-file-alist dir) 702 (let ((files (sort (nnheader-article-to-file-alist dir)
705 (lambda (a b) (< (car a) (car b)))))) 703 (lambda (a b) (< (car a) (car b))))))
706 (when files 704 (when files
707 (funcall nnml-generate-active-function dir) 705 (funcall nnml-generate-active-function dir)
708 ;; Generate the nov file. 706 ;; Generate the nov file.
709 (nnml-generate-nov-file dir files))))) 707 (nnml-generate-nov-file dir files)
708 (unless no-active
709 (nnmail-save-active nnml-group-alist nnml-active-file))))))
710 710
711 (defvar files) 711 (defvar files)
712 (defun nnml-generate-active-info (dir) 712 (defun nnml-generate-active-info (dir)
713 ;; Update the active info for this group. 713 ;; Update the active info for this group.
714 (let ((group (nnheader-file-to-group 714 (let ((group (nnheader-file-to-group