Function: ebrowse-base-classes
ebrowse-base-classes is a byte-compiled function defined in
ebrowse.el.gz.
Signature
(ebrowse-base-classes TREE)
Documentation
Return list of base-classes of TREE by searching subclass lists.
This function must be used instead of the struct slot
base-classes to access the base-class list directly because it
computes this information lazily.
Source Code
;; Defined in /usr/src/emacs/lisp/progmodes/ebrowse.el.gz
(defun ebrowse-base-classes (tree)
"Return list of base-classes of TREE by searching subclass lists.
This function must be used instead of the struct slot
`base-classes' to access the base-class list directly because it
computes this information lazily."
(or (ebrowse-ts-base-classes tree)
(setf (ebrowse-ts-base-classes tree)
(cl-loop with to-search = (list tree)
with result = nil
as search = (pop to-search)
while search finally return result
do (ebrowse-for-all-trees (ti ebrowse--tree-table)
(when (memq search (ebrowse-ts-subclasses ti))
(unless (memq ti result)
(setq result (nconc result (list ti))))
(push ti to-search)))))))