lisp/gnus/nnfolder.el: Allow regenerating recursive nnfolder names
This commit is contained in:
parent
eff2eb5812
commit
4d1d3f07a4
2 changed files with 33 additions and 2 deletions
|
@ -1,3 +1,9 @@
|
|||
2012-12-29 Lars Magne Ingebrigtsen <larsi@gnus.org>
|
||||
|
||||
* nnfolder.el (nnfolder-recursive-directory-files): New function.
|
||||
(nnfolder-generate-active-file): Make this function work with recursive
|
||||
folder names.
|
||||
|
||||
2012-12-27 Lars Ingebrigtsen <larsi@gnus.org>
|
||||
|
||||
* nntp.el (nntp-open-connection): Use HELP as the capability command
|
||||
|
|
|
@ -1004,6 +1004,28 @@ deleted. Point is left where the deleted region was."
|
|||
(nnfolder-save-nov))
|
||||
(current-buffer))))))
|
||||
|
||||
(defun nnfolder-recursive-directory-files (dir prefix)
|
||||
(let ((files nil))
|
||||
(dolist (file (directory-files dir))
|
||||
(cond
|
||||
((or (file-symlink-p (expand-file-name file dir))
|
||||
(member file '("." "..")))
|
||||
;; Ignore
|
||||
)
|
||||
((file-directory-p (expand-file-name file dir))
|
||||
(setq files (nconc (nnfolder-recursive-directory-files
|
||||
(expand-file-name file dir)
|
||||
(if prefix
|
||||
(concat prefix "." (directory-file-name file))
|
||||
(file-name-nondirectory file)))
|
||||
files)))
|
||||
((file-regular-p (expand-file-name file dir))
|
||||
(push (if prefix
|
||||
(concat prefix "." file)
|
||||
file)
|
||||
files))))
|
||||
files))
|
||||
|
||||
;;;###autoload
|
||||
(defun nnfolder-generate-active-file ()
|
||||
"Look for mbox folders in the nnfolder directory and make them into groups.
|
||||
|
@ -1020,10 +1042,13 @@ This command does not work if you use short group names."
|
|||
(when (not (message-mail-file-mbox-p file))
|
||||
(ignore-errors
|
||||
(delete-file file)))))
|
||||
(dolist (file (directory-files nnfolder-directory))
|
||||
(dolist (file (if nnmail-use-long-file-names
|
||||
(directory-files nnfolder-directory)
|
||||
(nnfolder-recursive-directory-files
|
||||
nnfolder-directory nil)))
|
||||
(when (and (not (backup-file-name-p file))
|
||||
(message-mail-file-mbox-p
|
||||
(nnheader-concat nnfolder-directory file)))
|
||||
(nnfolder-group-pathname file)))
|
||||
(let ((oldgroup (assoc file nnfolder-group-alist)))
|
||||
(if oldgroup
|
||||
(nnheader-message 5 "Refreshing group %s..." file)
|
||||
|
|
Loading…
Add table
Reference in a new issue