From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Chong Yidong Newsgroups: gmane.emacs.devel Subject: CEDET update Date: Mon, 21 Sep 2009 21:39:46 -0400 Message-ID: <874oqv3ggt.fsf@stupidchicken.com> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: ger.gmane.org 1253583607 15486 80.91.229.12 (22 Sep 2009 01:40:07 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Tue, 22 Sep 2009 01:40:07 +0000 (UTC) Cc: "Eric M. Ludlam" To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Tue Sep 22 03:39:59 2009 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1MpuMJ-0001rR-1n for ged-emacs-devel@m.gmane.org; Tue, 22 Sep 2009 03:39:59 +0200 Original-Received: from localhost ([127.0.0.1]:54041 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1MpuMI-00065f-Ao for ged-emacs-devel@m.gmane.org; Mon, 21 Sep 2009 21:39:58 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1MpuMD-00065Q-5r for emacs-devel@gnu.org; Mon, 21 Sep 2009 21:39:53 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1MpuM7-00062Z-Pn for emacs-devel@gnu.org; Mon, 21 Sep 2009 21:39:52 -0400 Original-Received: from [199.232.76.173] (port=34680 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1MpuM7-00062C-Ix for emacs-devel@gnu.org; Mon, 21 Sep 2009 21:39:47 -0400 Original-Received: from pantheon-po32.its.yale.edu ([130.132.50.88]:36540) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1MpuM7-0004Px-9W for emacs-devel@gnu.org; Mon, 21 Sep 2009 21:39:47 -0400 Original-Received: from furry (dhcp128036014244.central.yale.edu [128.36.14.244]) (authenticated bits=0) by pantheon-po32.its.yale.edu (8.12.11.20060308/8.12.11) with ESMTP id n8M1dkvg026779 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT); Mon, 21 Sep 2009 21:39:46 -0400 Original-Received: by furry (Postfix, from userid 1000) id 65972C070; Mon, 21 Sep 2009 21:39:46 -0400 (EDT) X-YaleITSMailFilter: Version 1.2c (attachment(s) not renamed) X-detected-operating-system: by monty-python.gnu.org: GNU/Linux 2.4-2.6 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:115509 Archived-At: 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.