calling semantic-speedbar-analysis is moving point.
Open a semantic enabled file.
Start speedbar and switch to analyzer mode
start a completion
M-x semantic-speedbar-analysis
point will get moved (it looks like it's moved to the last completion
option) which then messes up the local context for the analyze.
(defun semantic-speedbar-analysis ()
"Start Speedbar in semantic analysis mode.
The analyzer displays information about the current context, plus a smart
list of possible completions."
(interactive)
;; Make sure that speedbar is active
(speedbar-frame-mode 1)
;; Now, throw us into RPM mode on speedbar.
(speedbar-change-initial-expansion-list "Analyze")
)
It looks like (speedbar-frame-mode 1) is moving point, which then causes
speedbar-change-initial-expansion-list to have the wrong context for the
analysis.
--
DS

"Eric M. Ludlam" <eric@...> wrote:
>>>> DaveS <davls@...> seems to think that:
>>After several late night sessions and some help this list I now have the
>>first draft of a working wisent tag parser for C#.
>>ECB shows classes, structs, methods, and other goodies.
>>It works fairly well right now, but I do have a few more things I need
>>to sort out. (cedet-1.0beta1c)
>
> Huzzah!
>
[...]
>>I'm not parsing the function bodies at this point. I'm assuming that
>>the senator completion mechanism will require that I tag all the local
>>variable definitions so it can identify the types. Do I have to do
>>anything special to get this to work?
>
> There are different ways to try and parse local variables. I think
> Java has an entire separate parser for that purpose. David can tell
> you more about it.
>
I discovered that semantic-get-local-variables was the key to this. I
also discovered that if semantic-parse-region is called with a
nonterminal that either doesn't exist or is not marked as a %start, then
instead of generating an error emacs will get stuck in an infinite loop.
>>C# adds a new protection symbol "internal". Is there any way to
>>register a symbol (+#-) for this so it doesn't get a blank symbol.
>
> That doesn't seem to be as configurable as I would have hoped. I'll
> turn that into an override method for the next beta.
Great.
[...]
>>semantic-highlight-by-attribute-mode seems to cause some problems. In
>>the following code block the entire method definition gets an overline,
>>all the way to the closing brace.
>>struct Thing
>>{
>> private int GetOne()
>> {
>> return one;
>> }
>>}
>
> The overline is from semantic-show-tag-boundaries-mode. It should
> only be the first line though.
If I can reproduce this consistently, I'll try and send some more details.
--
DS

"Berndl, Klaus" <klaus.berndl@...> wrote:
> Hi Dave,
>
>>>>> DaveS <davls@...> seems to think that:
>>>After several late night sessions and some help this list I now have the
>>>first draft of a working wisent tag parser for C#.
>>>ECB shows classes, structs, methods, and other goodies.
>>>It works fairly well right now, but I do have a few more things I need
>>>>to sort out. (cedet-1.0beta1c)
>
>>Huzzah!
>
> Huzzah from me too....this sounds very well...i would be very interessed to get
> your first draft in addition with some c#-example code-files. Dave, could you
> please send me such a tarball - of course only if the effort is not much for
> you!
No problem I'll send you the files later today. I just want to do
little more tinkering first.
>
>>I currently tag all the types variables and methods which does the trick
>>for ECB. Is their any reason use CODE-TAG? I'm not clear what it's
>>for.
>
> What does this mean: "it does the trick for ECB?" Is this CODE-TAG not
> necessary so speedbar shows the c#-contents of a file?? In fact, there should
> be no difference between ECB and for example speedbar, being able to display
> file-contents of a sematic/wisent/bovine-supported language. If there are
> differences - i.e. if there is something special to do for ECB which is not
> necessary for speedbar - then please report this to ECB too! Thanks a lot!
>
Sorry for the confusion. It works fine in both ECB and Speedbar. I'm
marking TYPE, FUNCTION and VARIABLE tags. I was just curious what the
CODE tag was for and Eric explained it was just for loose code outside
of a function.
For some reason I seem to be blacklisted from the ecb list. :0
I've tried posting in the past by direct mail and through gmane, but
none of my posts ever make it to the list.
--
DS

Hi Dave,
>>>> DaveS <davls@...> seems to think that:
>>After several late night sessions and some help this list I now have the
>>first draft of a working wisent tag parser for C#.
>>ECB shows classes, structs, methods, and other goodies.
>>It works fairly well right now, but I do have a few more things I need
>>>to sort out. (cedet-1.0beta1c)
>Huzzah!
Huzzah from me too....this sounds very well...i would be very interessed to get
your first draft in addition with some c#-example code-files. Dave, could you
please send me such a tarball - of course only if the effort is not much for
you!
>I currently tag all the types variables and methods which does the trick
>for ECB. Is their any reason use CODE-TAG? I'm not clear what it's
>for.
What does this mean: "it does the trick for ECB?" Is this CODE-TAG not
necessary so speedbar shows the c#-contents of a file?? In fact, there should
be no difference between ECB and for example speedbar, being able to display
file-contents of a sematic/wisent/bovine-supported language. If there are
differences - i.e. if there is something special to do for ECB which is not
necessary for speedbar - then please report this to ECB too! Thanks a lot!
Ciao,
Klaus

>>> DaveS <davls@...> seems to think that:
>After several late night sessions and some help this list I now have the
>first draft of a working wisent tag parser for C#.
>ECB shows classes, structs, methods, and other goodies.
>It works fairly well right now, but I do have a few more things I need
>to sort out. (cedet-1.0beta1c)
Huzzah!
>I currently tag all the types variables and methods which does the trick
>for ECB. Is their any reason use CODE-TAG? I'm not clear what it's
>for.
The CODE tag is useful for scripting languages like Emacs Lisp where
code can just hang out at the same level as functions and such.
>I'm not parsing the function bodies at this point. I'm assuming that
>the senator completion mechanism will require that I tag all the local
>variable definitions so it can identify the types. Do I have to do
>anything special to get this to work?
There are different ways to try and parse local variables. I think
Java has an entire separate parser for that purpose. David can tell
you more about it.
>C# adds a new protection symbol "internal". Is there any way to register
>a symbol (+#-) for this so it doesn't get a blank symbol.
That doesn't seem to be as configurable as I would have hoped. I'll
turn that into an override method for the next beta.
>I've got auto-parse mode on but show-unmatched-syntax only seems to add
>or remove the red underline when I save the buffer. Is there
>any extra mode setup I have to do to get this to update while editing?
It should do that whenever it reparses the buffer. There are some
other issues I've found with the unmatched syntax that need to be
fixed.
>semantic-highlight-by-attribute-mode seems to cause some problems. In
>the following code block the entire method definition gets an overline,
>all the way to the closing brace.
>struct Thing
>{
> private int GetOne()
> {
> return one;
> }
>}
The overline is from semantic-show-tag-boundaries-mode. It should
only be the first line though.
>I'm sure I'll have more questions as I keep going, but I appreciate the
>help. Thanx.
Hopefully we can answer them. ;)
Eric
--
Eric Ludlam: zappo@..., eric@...
Home: http://www.ludlam.net Siege: http://www.siege-engine.com
Emacs: http://cedet.sourceforge.net GNU: http://www.gnu.org

Community

Help

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:

I agree to receive quotes, newsletters and other information from sourceforge.net and its partners regarding IT services and products. I understand that I can withdraw my consent at any time. Please refer to our Privacy Policy or Contact Us for more details