Ah, now i understand - thanks!
Eric M. Ludlam wrote:
> For semantic 1.4, if you set search-parts to non-nil, that is like a
> 'deep' search. The default behavior of the semanticdb 1.4 searches is
> that they were all brutish, meaning they searched all tables in a
> project. It was this behavior that caused the re-write of the
> searching routines. There were no non-brutish searches in 1.4.
>>>> <klaus.berndl@...> seems to think that:
>> Hmm, sorry, seems that i have explained it very bad...
>> What i want to know is: How to perform deep- and brute-deep-searches
>> (know from cedet) with loaded semantic 1.4!!! I do not want simulate
>> some 1.4 behavior with=20
>> loaded cedet!
>> Background: Currently ECB has to be still compatible with semantic
>> 1.4 ;-)=20
>> Eric M. Ludlam wrote:
>>>>>> <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
>>>> Thanks a lot!
>>> 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.=20
>>> 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?
>> This SF.Net email is sponsored by the 'Do More With Dual!' webinar
>> July 14 at 8am PDT/11am EDT. We invite you to explore the latest in
>> core and dual graphics technology at this free one hour event hosted
>> by HP,=20
>> AMD, and NVIDIA. To register visit http://www.hp.com/go/dualwebinar
>> Cedet-devel mailing list