<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV=3D"Content-Type" CONTENT=3D"text/html; =
charset=3DUS-ASCII">
<META NAME=3D"Generator" CONTENT=3D"MS Exchange Server version =
5.5.2653.12">
<TITLE>RE: [CEDET-devel] A fix for semanticdb.el</TITLE>
</HEAD>
<BODY>
<P><FONT SIZE=3D2>Hmm! This sounds like it could be related. In my =
rather crude debugging, db parsing/creation (or whatever semanticdb was =
doing) seemed to play into the methods buffer disappearing.</FONT></P>
<P><FONT SIZE=3D2>From a previous mail:</FONT>
</P>
<P><FONT SIZE=3D2>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. When I comment out =
this find-file-no-select, the problem goes away. It obviously has =
something to do with loading the #include files and then parsing them. =
In the same function if I leave in the find-file-noselect but instead =
comment out the kill-buffer, then the problem happens only once. After =
that, I see the header file as a buffer in the buffer list(since it was =
never killed) and I am able to move around the file freely without the =
methods buffer from going blank. It seems that the initial tags parsing =
of the include file, by semantic, is doing something.</FONT></P>
<BR>
<P><FONT SIZE=3D2> -------------</FONT>
<BR><FONT SIZE=3D2> Javier</FONT>
<BR><FONT SIZE=3D2> </FONT>
</P>
<BR>
<BR>
<P><FONT SIZE=3D2>-----Original Message-----</FONT>
<BR><FONT SIZE=3D2>From: David Ponce [<A =
HREF=3D"mailto:david.ponce@...>=
] </FONT>
<BR><FONT SIZE=3D2>Sent: Tuesday, August 24, 2004 3:36 PM</FONT>
<BR><FONT SIZE=3D2>To: Eric M. Ludlam; cedet-devel</FONT>
<BR><FONT SIZE=3D2>Subject: [CEDET-devel] A fix for =
semanticdb.el</FONT>
</P>
<BR>
<P><FONT SIZE=3D2>Hi Eric,</FONT>
</P>
<P><FONT SIZE=3D2>Here is a patch for semanticdb.el that fixes a nasty =
side effect of the new deferred-first-parse-at-idle-time feature, when =
loading a file to setup the `semanticdb-current-table'. Maybe it =
could explain the "Method Buffer Going Blank with ECB" =
problem, discussed on the cedet-devel ML? I am not =
sure.</FONT></P>
<P><FONT SIZE=3D2>Sometimes the function `semanticdb-file-table-object' =
returns an empty DB table, because under certain circumstances, tags =
weren't created in `semanticdb-current-table'. For example, when =
the file is loaded for the first time, and the idle scheduler didn't =
get a chance to trigger a parse before the file buffer is =
killed.</FONT></P>
<P><FONT SIZE=3D2>The patch should fixes that, by calling =
`semanticdb-refresh-table' when needed.</FONT>
</P>
<P><FONT SIZE=3D2>However, I am not sure it is the right fix, and would =
like to know your opinion.</FONT>
</P>
<P><FONT SIZE=3D2>Thanks!</FONT>
<BR><FONT SIZE=3D2>David</FONT>
</P>
<P><FONT SIZE=3D2>Index: semanticdb.el =
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D</FONT>
<BR><FONT SIZE=3D2>RCS file: =
/cvsroot/cedet/cedet/semantic/semanticdb.el,v</FONT>
<BR><FONT SIZE=3D2>retrieving revision 1.69</FONT>
<BR><FONT SIZE=3D2>diff -c -r1.69 semanticdb.el</FONT>
<BR><FONT SIZE=3D2>*** =
semanticdb.el 19 Mar 2004 23:40:51 =
-0000 1.69</FONT>
<BR><FONT SIZE=3D2>--- =
semanticdb.el 24 Aug 2004 19:25:41 =
-0000</FONT>
<BR><FONT SIZE=3D2>***************</FONT>
<BR><FONT SIZE=3D2>*** 585,590 ****</FONT>
<BR><FONT SIZE=3D2>--- 585,597 ----</FONT>
<BR><FONT SIZE=3D2> =
(save-excursion</FONT>
<BR><FONT SIZE=3D2> =
(set-buffer (find-file-noselect file))</FONT>
<BR><FONT SIZE=3D2> =
;; Find file should automatically do this for =
us.</FONT>
<BR><FONT SIZE=3D2>+ =
;; Sometimes the DB table doesn't contains tags and needs</FONT>
<BR><FONT SIZE=3D2>+ =
;; a refresh. For example, when the file is loaded for</FONT>
<BR><FONT SIZE=3D2>+ =
;; the first time, and the idle scheduler didn't get a</FONT>
<BR><FONT SIZE=3D2>+ =
;; chance to trigger a parse before the file buffer is</FONT>
<BR><FONT SIZE=3D2>+ =
;; killed.</FONT>
<BR><FONT SIZE=3D2>+ =
(when (semanticdb-needs-refresh-p semanticdb-current-table)</FONT>
<BR><FONT SIZE=3D2>+ =
(semanticdb-refresh-table =
semanticdb-current-table))</FONT>
<BR><FONT SIZE=3D2> =
(prog1</FONT>
<BR><FONT SIZE=3D2> =
=
semanticdb-current-table</FONT>
<BR><FONT SIZE=3D2> =
;; If we had to find the file, then we =
should kill it</FONT>
</P>
<BR>
<P><FONT =
SIZE=3D2>-------------------------------------------------------</FONT>
<BR><FONT SIZE=3D2>SF.Net email is sponsored by Shop4tech.com-Lowest =
price on Blank Media 100pk Sonic DVD-R 4x for only $29 -100pk Sonic =
DVD+R for only $33 Save 50% off Retail on Ink & Toner - Free =
Shipping and Free Gift. <A =
HREF=3D"http://www.shop4tech.com/z/Inkjet_Cartridges/9_108_r285" =
TARGET=3D"_blank">http://www.shop4tech.com/z/Inkjet_Cartridges/9_108_r28=
5</A></FONT></P>
<P><FONT =
SIZE=3D2>_______________________________________________</FONT>
<BR><FONT SIZE=3D2>Cedet-devel mailing list</FONT>
<BR><FONT SIZE=3D2>Cedet-devel@... <A =
HREF=3D"https://lists.sourceforge.net/lists/listinfo/cedet-devel" =
TARGET=3D"_blank">https://lists.sourceforge.net/lists/listinfo/cedet-dev=
el</A></FONT>
</P>
</BODY>
</HTML>
|