Actually, I am using semanticdb project roots. After I removed the recursive
option, it is working fine (although, it cannot do intellisense completion
if I used a symbol or struct from a file that is only indirectly included).
I can live with that currently. I am prepared to spend some time to fix this
issue, but I will need a few pointers as to where to start. I was able to
turn on edebug on quit/error and then step through the code in
semanticdb-find.el. But I don't know when exactly the semanticdb-database is
created and how does it go recursively through the paths.
On 6/22/07, Eric M. Ludlam <eric@...> wrote:
> I submitted a change to semantic-tag-file.el which should help in
> this case where the #include is a <system> include, and where your
> project is help inside EDE.
> If that is not the case, and it is just using the semanticdb project
> roots, then I'll need to look into it some more.
> Thanks for identifying this. It ought to lead to some good
> >>> "Ashish Hanwadikar" <ahanwadi@...> seems to think that:
> >I am trying to setup semantic intellisense for a large project (possibly
> >more than 1000 files). It is extremely slow and thus, unusable in the
> >current state. The relevant .emacs is at the end of this email. I found
> >using 'strace' that it is trying to locate the include file (say, include
> ><b/a.h>) in my project. The algorithm seems to be the following:
> >1) try, current directory/b/a.h -- Not found
> >2) then, current directory/a.h -- Not found
> >3) the, for each subdirectory in the system include path, try, system
> >include dir/subdir/b/a.h -- Not found
> >The last step, takes a lot of time as it has to through hundreds of sub
> >directories. Just like the step 1), why doesn't it directly try, system
> >include dir/b/a.h? It will find that file immediately.
> >I don't know enough lisp to fix this. But if somebody can point to me
> >I should be looking for, I am willing to give it a try.
> >thanks in advance,
> >Ashish Hanwadikar
> [ ... ]
> Eric Ludlam: zappo@...,
> Home: http://www.ludlam.net Siege: http://www.siege-engine.com
> Emacs: http://cedet.sourceforge.net GNU: http://www.gnu.org