Re: [cedet-semantic] Getting semantic to work properly
Brought to you by:
zappo
From: Bruce S. <bru...@ce...> - 2005-02-09 00:21:46
|
"Eric M. Ludlam" <er...@si...> writes: [...] > The addition of the throttle stuff certainly allows semantic to > rummage around in the header file directories more. beta3 does not > do that. > > The idle timer that manages other stuff is part of > `global-semantic-idle-scheduler-mode', so if you turn that off, all > the idle time features are disabled and you should get your cpu back. > > The features the scheduler has are: > > 1) parsing files in background > - this is useful so that if you request data later, there is no > waiting. > 2) summary mode > - tries to show you what the symbol you are on is all about > 3) completion mode > - Give you completions in a tooltip. That's what I was expecting, yes. I'm using the default semanticdb-find-default-throttle (project system recursive), so what I suspect is happening is that it's trying to find all of these headers to find out what their full pathnames are, so it can see if they're already present in a table that it's already loaded. I guess it might do that each time the idle scheduler kicks in, and probably it doesn't remember the results from the last time it did it, so to the naive observer it looks like a spin. Does that seem plausible? [...] > If semantic is making xemacs busy, it is most likely the idle > completion mode. Disabling it does not make that feature > unavailable, it just turns off the auto-popup part. You can always > request the list later with `semantic-complete-analyze-inline' (just > bind it to a key.) Summary mode is also similarly a bit of busy > work. Cool, I'll try that. I've never noticed that feature, so I probably won't notice if it's disabled. > Why Emacs would call stat a lot, I'm not sure. It may be that some > combination of system databases and tweaking the include list can > solve that problem. Those features are pretty new and need some > study to figure out: > > 1) What is useful > 2) what is not useful > 3) do useful stuff only. > > Basically, it needs lots of folks to not only use it, but spend time > tweaking it to the point where performance and accuracy is good. We > can then encode those values, and write a good guide on how to get > it set up right. Ideally it would be fully automated. That, of > course, is gated by good documentation on the topic which I need to > work on. That sounds right. I strongly suspect most of the problems are simply because I don't understand the interactions of all these settings, and some simple example setups would have got me going very quickly. > The missing tags (alluded to earlier) could be an issue with the > parser. The best tactic there is to enable > `semantic-show-unmatched-syntax-mode' and reparse the file with > > C-u M-x bovinate RET > > and see what it can't figure out. It may be some obscure syntax or > template code is making it drop some tags. I'm sure that happens, but I'm not seeing that. I'm just seeing that tags in other files (files I haven't visited, but I know have semantic.cache files in the default save directory) aren't being found. I mostly understand why that is, I just don't see how to get things to work as I'd like. |