;;; nneething.el --- arbitrary file access for Gnus
-;; Copyright (C) 1995,96,97,98 Free Software Foundation, Inc.
+;; Copyright (C) 1995,96,97,98,99 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; Masanobu UMEDA <umerin@flab.flab.fujitsu.junet>
"Regexp saying what files to exclude from the group.
If this variable is nil, no files will be excluded.")
+(defvoo nneething-include-files nil
+ "Regexp saying what files to include in the group.
+If this variable is non-nil, only files matching this regexp will be
+included.")
+
\f
;;; Internal variables.
(nnmail-find-file file) ; Insert the file in the nntp buf.
(unless (nnheader-article-p) ; Either it's a real article...
(goto-char (point-min))
- (nneething-make-head file (current-buffer)) ; ... or we fake some headers.
+ (nneething-make-head
+ file (current-buffer)) ; ... or we fake some headers.
(insert "\n"))
t))))
(setq files (cdr files)))
(setq prev f))
(setq f (cdr f)))))
+ ;; Remove files not matching the inclusion regexp.
+ (when nneething-include-files
+ (let ((f files)
+ prev)
+ (while f
+ (if (not (string-match nneething-include-files (car f)))
+ (if prev (setcdr prev (cdr f))
+ (setq files (cdr files)))
+ (setq prev f))
+ (setq f (cdr f)))))
;; Remove deleted files from the map.
(let ((map nneething-map)
prev)
(substring file
(match-beginning 1)
(match-end 1))
- (when (string-match "/\\(users\\|home\\)/\\([^/]+\\)/" file)
+ (when (string-match
+ "/\\(users\\|home\\)/\\([^/]+\\)/" file)
(setq login (substring file
(match-beginning 2)
(match-end 2))