Function: nnmh-request-list-1
nnmh-request-list-1 is a byte-compiled function defined in nnmh.el.gz.
Signature
(nnmh-request-list-1 DIR)
Source Code
;; Defined in /usr/src/emacs/lisp/gnus/nnmh.el.gz
(defun nnmh-request-list-1 (dir)
(setq dir (expand-file-name dir))
;; Recurse down all directories.
(let ((files (nnheader-directory-files dir t nil t))
(max 0)
min num subdirectoriesp file) ;; rdir
;; Recurse down directories.
(setq subdirectoriesp
;; link number always 1 on MS Windows :(
(/= (file-attribute-link-number
(file-attributes (file-truename dir)))
2))
(dolist (rdir files)
(if (or (not subdirectoriesp)
(file-regular-p rdir))
(progn
(setq file (file-name-nondirectory rdir))
(when (string-match "^[0-9]+$" file)
(setq num (string-to-number file))
(setq max (max max num))
(when (or (null min)
(< num min))
(setq min num))))
;; This is a directory.
(when (and (file-readable-p rdir)
(not (equal (file-truename rdir)
(file-truename dir))))
(nnmh-request-list-1 rdir))))
;; For each directory, generate an active file line.
(unless (string= (expand-file-name nnmh-toplev) dir)
(with-current-buffer nntp-server-buffer
(goto-char (point-max))
(insert
(format
"%s %.0f %.0f y\n"
(progn
(string-match
(regexp-quote
(file-truename (file-name-as-directory
(expand-file-name nnmh-toplev))))
dir)
(encode-coding-string
(nnheader-replace-chars-in-string
(substring dir (match-end 0))
?/ ?.)
nnmail-pathname-coding-system))
(or max 0)
(or min 1))))))
t)