Function: filesets-build-dir-submenu-now
filesets-build-dir-submenu-now is a byte-compiled function defined in
filesets.el.gz.
Signature
(filesets-build-dir-submenu-now LEVEL DEPTH ENTRY LOOKUP-NAME DIR PATT FD &optional REBUILD-FLAG)
Documentation
Helper function for filesets-build-dir-submenu.
Source Code
;; Defined in /usr/src/emacs/lisp/filesets.el.gz
(defun filesets-build-dir-submenu-now (level depth entry lookup-name dir patt fd
&optional rebuild-flag)
"Helper function for `filesets-build-dir-submenu'."
;;(filesets-message 3 "Filesets: scanning %s" dir)
(if (or (= depth 0)
(< level depth))
(let* ((dir (file-name-as-directory dir))
(header `([,(concat "Tree: "
(if (= level 0)
dir
(concat ".../"
(file-name-as-directory
(file-name-nondirectory
(directory-file-name dir))))))
,(list (function filesets-open)
':tree
`(quote (,dir ,patt))
lookup-name)]
"---"))
(dirlist (filesets-directory-files dir patt nil nil fd))
(subdirs (filesets-filter-dir-names dirlist))
(count 0)
(dirsmenu (mapcar
(lambda (x)
(setq count (+ count 1))
(let* ((x (file-name-as-directory x))
(xx (concat dir x))
(dd (filesets-build-dir-submenu-now
(+ level 1) depth entry
lookup-name xx patt fd))
(nm (concat (filesets-get-shortcut count)
x)))
(if dd
`(,nm ,@dd)
`[,nm ,(list 'filesets-browse-dir xx)])))
subdirs))
(files (filesets-filter-dir-names dirlist t))
(filesmenu (mapcar (lambda (x)
(setq count (+ count 1))
`[,(concat (filesets-get-shortcut count)
x)
(filesets-file-open nil
(quote ,(concat dir x))
(quote ,lookup-name))])
files)))
(append header
(filesets-wrap-submenu
(append
dirsmenu
filesmenu))
(filesets-get-menu-epilog `(,dir ,patt) ':tree
lookup-name rebuild-flag)))
nil))