Function: ebrowse-files-table
ebrowse-files-table is a byte-compiled function defined in
ebrowse.el.gz.
Signature
(ebrowse-files-table &optional MARKED-ONLY)
Documentation
Return a hash table containing all files mentioned in the current tree.
The tree is expected in the buffer-local variable ebrowse--tree-table.
MARKED-ONLY non-nil means include marked classes only.
Source Code
;; Defined in /usr/src/emacs/lisp/progmodes/ebrowse.el.gz
;;; Operations on `ebrowse-ts' structures
(defun ebrowse-files-table (&optional marked-only)
"Return a hash table containing all files mentioned in the current tree.
The tree is expected in the buffer-local variable `ebrowse--tree-table'.
MARKED-ONLY non-nil means include marked classes only."
(let ((files (make-hash-table :test 'equal))
(i -1))
(ebrowse-for-all-trees (tree ebrowse--tree-table)
(when (or (not marked-only) (ebrowse-ts-mark tree))
(let ((class (ebrowse-ts-class tree)))
(when (zerop (% (incf i) 20))
(ebrowse-show-progress "Preparing file list" (zerop i)))
;; Add files mentioned in class description
(let ((source-file (ebrowse-cs-source-file class))
(file (ebrowse-cs-file class)))
(when source-file
(puthash source-file source-file files))
(when file
(puthash file file files))
;; For all member lists in this class
(dolist (accessor ebrowse-member-list-accessors)
(cl-loop for m in (funcall accessor tree)
for file = (ebrowse-ms-file m)
for def-file = (ebrowse-ms-definition-file m) do
(when file
(puthash file file files))
(when def-file
(puthash def-file def-file files))))))))
files))