Function: nnml-generate-nov-file
nnml-generate-nov-file is a byte-compiled function defined in
nnml.el.gz.
Signature
(nnml-generate-nov-file DIR FILES)
Source Code
;; Defined in /usr/src/emacs/lisp/gnus/nnml.el.gz
(defun nnml-generate-nov-file (dir files)
(let* ((dir (file-name-as-directory dir))
(nov (concat dir nnml-nov-file-name))
(nov-buffer (gnus-get-buffer-create " *nov*"))
chars headers) ;; file
(with-current-buffer nov-buffer
;; Init the nov buffer.
(buffer-disable-undo)
(erase-buffer)
(set-buffer nntp-server-buffer)
;; Delete the old NOV file.
(when (file-exists-p nov)
(funcall nnmail-delete-file-function nov))
(dolist (file files)
(let ((path (concat dir (cdr file))))
(unless (file-directory-p path)
(erase-buffer)
(nnheader-insert-file-contents path)
(narrow-to-region
(goto-char (point-min))
(progn
(re-search-forward "\n\r?\n" nil t)
(setq chars (- (point-max) (point)))
(max (point-min) (1- (point)))))
(unless (zerop (buffer-size))
(goto-char (point-min))
(setq headers (nnml-parse-head chars (car file)))
(with-current-buffer nov-buffer
(goto-char (point-max))
(nnheader-insert-nov headers)))
(widen))))
(with-current-buffer nov-buffer
(nnmail-write-region (point-min) (point-max) nov nil 'nomesg nil 'excl)
(kill-buffer (current-buffer))))))