Hello all.
There weren't any responses to the mail below so I'm probing again to see if anyone has any thoughts. I've dug into semanticdb.el, specifically function semanticdb-file-table-object, but with limited success. Basically I'm lost in terms of the how semantic operates as a whole.
I have narrowed down the issue to the (set-buffer (find-file-noselect file)) line in semanticdb-file-table-object but can't figure out why doing a find-file-noselect (of the #include files) would cause the ECB methods buffer to blank out.
Am I the only person that is seeing this...or the only person being driven crazy by it?  ;-)
Anyway. I don't believe there is much more I can do.
Thanks and take care.


-----Original Message-----
From: Oviedo, Javier [mailto:joviedo@telogy.com]
Sent: Friday, August 06, 2004 1:46 PM
To: 'Eric M. Ludlam'; 'cedet-devel@lists.sourceforge.net '
Cc: 'Berndl, Klaus '
Subject: [CEDET-devel] Method Buffer Going Blank with ECB

Hello all!

For those of you having trouble with the mail I send, I have copied the text of this mail into a .txt file and attached it. :-)

I'm using cedet beta3b and ecb 2.26

Remember the "methods buffer clearing/going blank with ECB" that several of us reported? Well, I remember at least one other person other than myself seeing this.

Anyway, I have some more data about this.

Now to my "insights":

I have two files:  javier.c and siutimerCnst.h

I open javier.c in emacs with ECB already active.

javier.c consists of the following:

#include "siutimerCnst.h"

tulong siuMIPSTotalCycles  = 0;

tulong siuMIPSIsrCycles    = 0;

int isrTimerLastTime = 0;

/* Nothing past this point */

siutimerCnst.h is an empty file. ( by the way, this problem happens when it is not empty, I'm just trying to make the simplest test case I can.)

When I open javier.c, the methods buffer shows the "Includes" and "Variables" tag headers. Everything is fine.
Please note that "tulong" is a typdef of unsigned long int that is used in our software.

If I move the cursor to the "int  isrTimerLastTime = 0;" declaration and place it on the "int" I see the following in the echo area:  Integral Primitive Type: (-2147483648 to 2147483647)   and the methods buffer is still intact.

I guess semantic outputs this "Integral ..." ??

I can cause the methods buffer to go blank by putting the cursor on any non-whitespace character/word in javier.c, other than "int". When I move the cursor off "int" and onto "tulong", "isrTimerLastTime", "siuMIPSTotalCycles", or "siuMIPSIsrCycles" the cursor will sit there for about .5 to 1 second and then the methods buffer goes blank. Even if I put it on the #include it happens. If I have the *Message* buffer open in another window as I put the cursor in a "non-safe" place, I see the following:

Fontifying siutimerCnst.h... (regexps.......................)

The methods buffer goes blank directly following this message printing out!!

If I rebuild the methods buffer while the cursor is on tulong, for example, I see it redisplay for a second. Then is spits out the same "Fontifying...." message in the *Message* buffer and it goes blank. If I now move the cursor to be on the word "int" and then rebuild, everything is fine and I do not see the "Fontifying..." message.

This is really, really strange to me.

Now it gets even more interesting... if I comment out the #include "siutimerCnst.h" , the methods buffer does not clear out and I do not see the "Fontifying..." message when I put the cursor on tulong.

Since I'm completely ignorant of the semantic code I'm not sure that I can debug this any further. Someone must have some sort of idea what is going wrong...or at least where to look.

It seems to me that semantic is trying to search(or do something) with the .h files that included in the source file. By doing so, it causes methods buffer to go blank. Why does this "Fontifying..." message not happen when I put the cursor on "int"???

Okay. This email has become way to long. I'm really sorry about that.

Someone please help!!  :-)