> There is a routine in semantic-util that finds externally defined
> children for a given type. This routine really bogged things down
> with the Emacs Lisp system db.
> The core routine for that is now in semanticdb-search and can be
> overriden by specific types of system databases. I removed the old
> code from semantic-util. I also changed semantic-analyze to use the
> new routine. While I was in semantic-util, I found some more
> functions that needed to be converted to `define-overload'.
> I also found an fixed some bugs in semantic-analyze. The analyzer
> mode for speedbar is now much more robust for C++, and significantly
> more accurate. If you use C++, give it a try.
All that looks good. Thanks!
Maybe it would be worth adding your comments below I found in
semanticdb-search.el, in the NEWS file=3F
;; There are three types of searches that can be implemented:
;; Basic Search:
;; These searches allow searching on specific attributes of tokens,
;; such as name or type.
;; Advanced Search:
;; These are searches that were needed to accomplish some tasks
;; during in utilities. Advanced searches include matching methods
;; defined outside some parent class.
;; The reason for advanced searches are so that external
;; repositories such as the Emacs obarray, or java .class files can
;; quickly answer these needed questions without dumping the entire
;; symbol list into Emacs for a regular semanticdb search.
;; Generic Search:
;; The generic search, `semanticdb-find-nonterminal-by-function'
;; accepts a Emacs Lisp predicate that tests tokens in Semantic
;; format. Most external searches cannot perform this search.