I copied the generated lisp files on my windows machine and I managed to load them. However, semantic-active-p still returns nil in a C# buffer.

My .emacs has :
(load "cedet-bzr/trunk/cedet-devel-load")
(load "cedet-bzr/trunk/contrib/cedet-contrib-load")

Looking at the code of semantic-new-buffer-fcn, I saw variable semantic-new-buffer-setup-functions which has for example
(emacs-lisp-mode . semantic-default-elisp-setup)
 (c-mode . semantic-default-c-setup)
 (c++-mode . semantic-default-c-setup)

and nothing for C#. Maybe there is a specific command or hook to activate C# in semantic ?

wisent-csharp.el has mode
(define-mode-overload-implementation semantic-format-tag-type
  csharp-mode (tag color)

maybe that's the mode my C# buffers should be in.


On Fri, May 9, 2014 at 3:00 AM, Eric M. Ludlam <eric@siege-engine.com> wrote:
I'm glad you found a solution.

Unfortunately, I'm not that familiar with Windows, or why Emacs would complain about an incomplete file.  I'd guess that one of the constructed lisp files failed to build correctly, such as the autoloads.  You'd have to check to see which file it is.


On 05/02/2014 03:25 PM, Vincent Semeria wrote:

I just tried make in the contrib directory. It runs a series
compilations, all of which fail.

I managed to narrow it down to :
emacs -batch --no-site-file --eval '(setq debug-on-error t)' -l

which when run alone, displays error "end of file during parsing".

I have to confess I work on Windows and I used make from GnuWin32. I
understand it's asking for trouble, but you will grant me that for
coding in C#, Windows makes some sense :)

Now I sucessfully ran the usual make on a linux machine and I got the
various .el and .elc files for the contrib directory. I'll try to copy
and use them on my Windows machine next week. Meanwhile, can you suggest
a proper way to build contrib on Windows ?


On Thu, May 1, 2014 at 12:05 AM, Eric M. Ludlam <eric@siege-engine.com
<mailto:eric@siege-engine.com>> wrote:


    You need to run 'make' in the 'contrib' area to build the loaddef
    file.   Make at the top-level doesn't include building any of the
    contrib area code.

    Good Luck!

    On 04/30/2014 01:25 PM, Vincent Semeria wrote:

        Hello Eric,

        Yes the ternary ? works now, thanks.

        I tried to load cedet-contrib-load.el and it fails on this last line
        (load "contrib-loaddefs" nil t)

        This contrib-loaddefs is nowhere in cedet directories.

        I understand the copyright issues, however the author of
        cedet-contrib-load.el is no other than yourself :)


        On Sat, Apr 19, 2014 at 4:08 AM, Eric M. Ludlam
        <eric@siege-engine.com <mailto:eric@siege-engine.com>
        <mailto:eric@siege-engine.com <mailto:eric@siege-engine.com>>__>


             On 03/29/2014 01:11 PM, Vincent Semeria wrote:


                 In the attached file which contains a simple c++ function,
                 1) run M-x semantic-calculate-scope    to get a context
                 2) run M-: (semantic-get-local-variables)

                 It fails to detect the last variable :
                       const CSRMarketData& context = fx ? param :

             Hi Vincent,

             Sorry for the delay.

             The parser didn't support that ternary ? expression, so I added
             support and checked it into the CEDET repository with a new


                 Another question not related, I couldn't manage to use
                 with C#.
                 When I open a C# file, (semantic-active-p) returns nil.

                 Is there some setup to do to activate C# in semantic ?

             The C# support was contributed by someone who could not assign
             copyright, so it is in the "contrib" area.

             You need to use the cedet-contrib-load.el file to load in those
             systems.   Unfortunately, they are not well supported.