emacs-devel
[Top][All Lists]
Advanced

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

CEDET branch


From: Chong Yidong
Subject: CEDET branch
Date: Tue, 08 Sep 2009 22:23:33 -0400

EIEIO and Semantic are now working in the CVS branch for the CEDET
merge.  The branch name is "cedet-branch", and the branch tag is
CEDET_BASE (tagged a little more than a month ago from the trunk); you
can check out the branch with a "-r cedet-branch" argument to the usual
cvs update command.

Although the two other major components of CEDET (EDE and Srecode) are
still unmerged, and although there are still several rough edges, this
is a good time to look at the branch if you're interested.  Barring
changes in strategy, EDE and Srecode would be handled similar to the way
Semantic has been, so comments/opinions/criticisms are very welcome.

I have not included Semantic's imenu and awk support (still waiting on
papers).  Also omitted is Senator, the package by David Ponce that
alters a lot of basic Emacs commands to use Semantic parsing.  I'm not
sure what to do with Senator; we certainly can't include it as-is,
because it makes heavy use of advice.  Suggestions welcome.


Regarding file placement: EIEIO, Eric's implementation of the CLOS, is
in the lisp/emacs-lisp/ directory.  All other CEDET files go in the
lisp/cedet directory and its subdirectories.  Although lisp/cedet is in
the load-path, I deliberately excluded its subdirectories from the
load-path; so, for instance, lisp/cedet/semantic/ and
lisp/cedet/semantic/wisent/ are not on the load path.  The reason for
this is the "8+3 filenames hack" discussed previously on this list, at

  http://lists.gnu.org/archive/html/emacs-devel/2009-08/msg01214.html

For instance, the file semantic/semantic-analyze.el from the CEDET
repository is now at lisp/cedet/semantic/analyze.el, and can be loaded
with

  (require 'semantic/analyze)

Most of the Semantic files contain autoloaded functions and class
definitions.  During "make autoloads", the autoload definitions are not
put in the global autoloads file (lisp/loaddefs.el), but in
lisp/cedet/semantic/loaddefs.el; this file is loaded when you do
(require 'semantic).  This required a few minor changes to the
autoloads.el.

(The reason not to use lisp/loaddefs.el is that there are lots and lots
of CEDET autoload definitions; CEDET makes liberal use of them to avoid
circular dependencies, whereas in Emacs we generally use autoloads for
user commands.)

The basic Semantic unit tests work, but if you come across any problem,
please let me know.  In particular, some of the necessary autoloads
present in the original CEDET package may have been omitted when
transitioning to the new setup.

Another thing: please don't install non-CEDET-related changes on this
branch, as that would greatly complicate merging to the trunk later.




reply via email to

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