Function: nndiary-generate-nov-databases-1

nndiary-generate-nov-databases-1 is an interactive and byte-compiled function defined in nndiary.el.gz.

Signature

(nndiary-generate-nov-databases-1 DIR &optional SEEN NO-ACTIVE)

Documentation

Regenerate the NOV database in DIR.

Key Bindings

Source Code

;; Defined in /usr/src/emacs/lisp/gnus/nndiary.el.gz
(defvar nndiary-files) ; dynamically bound in nndiary-generate-nov-databases-1

(defun nndiary-generate-nov-databases-1 (dir &optional seen no-active)
  "Regenerate the NOV database in DIR."
  (interactive "DRegenerate NOV in: ")
  (setq dir (file-name-as-directory dir))
  ;; Only scan this sub-tree if we haven't been here yet.
  (unless (member (file-truename dir) seen)
    (push (file-truename dir) seen)
    ;; We descend recursively
    (let ((dirs (directory-files dir t nil t))
	  dir)
      (while (setq dir (pop dirs))
	(when (and (not (string-match "^\\." (file-name-nondirectory dir)))
		   (file-directory-p dir))
	  (nndiary-generate-nov-databases-1 dir seen))))
    ;; Do this directory.
    (let ((nndiary-files (sort (nnheader-article-to-file-alist dir)
		       #'car-less-than-car)))
      (if (not nndiary-files)
	  (let* ((group (nnheader-file-to-group
			 (directory-file-name dir) nndiary-directory))
		 (info (cadr (assoc group nndiary-group-alist))))
	    (when info
	      (setcar info (1+ (cdr info)))))
	(funcall nndiary-generate-active-function dir)
	;; Generate the nov file.
	(nndiary-generate-nov-file dir nndiary-files)
	(unless no-active
	  (nnmail-save-active nndiary-group-alist nndiary-active-file))))))