[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

CEDET update

From: Chong Yidong
Subject: CEDET update
Date: Mon, 21 Sep 2009 21:39:46 -0400

The `cedet-branch' branch now contains all the major components of
CEDET: EIEIO, the Semantic parser, Srecode, and EDE.  The latter two are
not tested extensively yet.

If you have not taken a look at this branch, now would be a good time,
as I plan to migrate this code to the trunk soonish.  As most of the
code is now in place, please feel free to suggest patches and changes to
that branch.

Here are some remaining problems on which opinions are welcome:

1. How to activate CEDET?  In the upstream code, just loading the CEDET
   libraries changes your Emacs environment, e.g. it adds mode hooks
   that start the Semantic parser whenever you visit a parser-supported
   file.  A built-in Emacs package cannot behave like this, so in this
   part of the code we must diverge from upstream.

   I have added a minor mode called semantic-mode to deal with this
   problem for Semantic (which is the main offender).  All the Semantic
   parser mode hooks are moved from top-level into this minor mode.

   This minor mode also toggles some of the minor modes that come with
   Semantic.  The affected modes are in the `semantic-default-submodes'
   variable.  So customizing this variable takes the place of the
   hairy methods (involving names like semantic-load-turn-everything-on,
   semantic-load-enable-code-helpers, etc.) used upstream, which again
   are not suitable for a built-in package.

2. I would like to make it possible to enable the different parts of
   CEDET using the menu-bar.  However, CEDET offers too many knobs to
   fit in any of our existing menus, so it probably needs its own
   top-level menu.  One possibility is to add a "toggle CEDET" menu item
   to the Tools menu, which adds or removes a "CEDET" top-level menu.
   But this is not "standard menu-bar behavior"-ish.  Thoughts?

3. Semantic contains a package called Senator, which modifies many of
   the standard Emacs commands to use the parser information.  For the
   built-in version of Semantic, we should probably fold some of this
   functionality into the rest of Emacs.  As an example, I made a change
   to the `complete-symbol' function (bindings.el) so that if Semantic
   is running, it will call semantic-complete-symbol (a modified version
   of senator-complete-symbol that uses standard completion functions).
   I think `find-tag' can be dealt with similarly.  The question is,
   what do we do with Senator ?  Should we keep a compatibility package,
   drop it, or what?  Again, opinions welcome.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]