>>> <klaus.berndl@...> seems to think that:
>Hi Eric,
>
>one short question: Can i perform something like the brute-deep- and the
>deep-searches in semanticdb 2.0 with semanticdb-find-nonterminal-by-name
>by setting some parameteres suitable? I assume SEARCH-PARTS unequal nil
>performs a search named "deep" in semanticdb 2.0?! What about
>brute-searches in semanticdb 1.4.X?
>
>Thanks a lot!
Hi,
The semantic 1.4 db search code was very slow because it touched
every tag in the system. The new searches were optimized by allowing
different ways to slice through the tag tables along the hierarchy,
thus saving time by not touching many tags.
All the 'semanticdb-find-nonterminal*' functions have been
obsoleted. semanticdb-search.el will probably be deleted sometime
after Cedet 1.0. The find infrastructure was re-written from scratch
to handle the new optimizations, and the old API has not been modified
since.
The semanticdb-find-tag* all have a special PATH argument that let
you pass in all sorts of things to search through, including
semanticdb tables, search results, a buffer, a filename, or even a tag
whose buffer is searched. As such, you could do this:
(let* ((foo (semanticdb-deep-find-tags-by-name "moose"))
;; now have a list of all "moose" fcns
(ans (semanticdb-find-tags-by-type "int" foo))
;; now have a list of all moose fcns which return an int.
)
If you have just a raw list of tags, you could instead do this:
(ans (semantic-find-tags-by-type "int"
(semanticdb-strip-find-results foo)))
Is there some special feature in semanticdb-find-nonterminal that
you cannot replace with the semanticdb-find-tag functions?
Eric
--
Eric Ludlam: zappo@..., eric@...
Home: http://www.ludlam.net Siege: http://www.siege-engine.com
Emacs: http://cedet.sourceforge.net GNU: http://www.gnu.org
|