From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: "Eric M. Ludlam" Newsgroups: gmane.emacs.devel Subject: Re[2]: ECB Date: Mon, 12 Jul 2004 20:35:52 -0400 Sender: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Message-ID: <200407130035.i6D0ZqdX001375@projectile.siege-engine.com> References: <200407051206.i65C6cRq032724@projectile.siege-engine.com> <200407061241.i66CfX1w016798@projectile.siege-engine.com> NNTP-Posting-Host: deer.gmane.org X-Trace: sea.gmane.org 1089678994 19798 80.91.224.253 (13 Jul 2004 00:36:34 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Tue, 13 Jul 2004 00:36:34 +0000 (UTC) Cc: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Tue Jul 13 02:36:24 2004 Return-path: Original-Received: from quimby.gnus.org ([80.91.224.244]) by deer.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 1BkBHU-0001wC-00 for ; Tue, 13 Jul 2004 02:36:24 +0200 Original-Received: from lists.gnu.org ([199.232.76.165]) by quimby.gnus.org with esmtp (Exim 3.35 #1 (Debian)) id 1BkBHU-0006jk-00 for ; Tue, 13 Jul 2004 02:36:24 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.33) id 1BkBJp-0005Da-PB for emacs-devel@quimby.gnus.org; Mon, 12 Jul 2004 20:38:49 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.33) id 1BkBJc-0005B7-Uh for emacs-devel@gnu.org; Mon, 12 Jul 2004 20:38:37 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.33) id 1BkBJb-00059m-Dx for emacs-devel@gnu.org; Mon, 12 Jul 2004 20:38:36 -0400 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.33) id 1BkBJb-00059j-BA for emacs-devel@gnu.org; Mon, 12 Jul 2004 20:38:35 -0400 Original-Received: from [68.162.221.229] (helo=projectile.siege-engine.com) by monty-python.gnu.org with esmtp (TLSv1:DES-CBC3-SHA:168) (Exim 4.34) id 1BkBH3-0000j3-Ko; Mon, 12 Jul 2004 20:35:58 -0400 Original-Received: from projectile.siege-engine.com (localhost.localdomain [127.0.0.1]) by projectile.siege-engine.com (8.12.8/8.12.8) with ESMTP id i6D0ZsAA001379; Mon, 12 Jul 2004 20:35:55 -0400 Original-Received: (from zappo@localhost) by projectile.siege-engine.com (8.12.8/8.12.8/Submit) id i6D0ZqdX001375; Mon, 12 Jul 2004 20:35:52 -0400 X-Authentication-Warning: projectile.siege-engine.com: zappo set sender to eric@siege-engine.com using -f Original-To: rms@gnu.org In-reply-to: (message from Richard Stallman on Mon, 12 Jul 2004 19:58:14 -0400) 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: , Errors-To: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Xref: main.gmane.org gmane.emacs.devel:25636 X-Report-Spam: http://spam.gmane.org/gmane.emacs.devel:25636 >>> Richard Stallman seems to think that: >Could you tell us more about semantic? > >For instance, is it written entirely in Emacs Lisp? >If not, what other languages are needed? Does it use any >separate auxiliary programs? > >Are you the author of semantic? >If not, could you tell me how to reach the author? >It seems very desirable to include semantic in Emacs. Semantic, and those other libraries it depends on are all written entirely in Emacs Lisp. The doc uses makeinfo. There are two shell scripts which are optional that use bash. The scripts allow creation of data files by calling Emacs in batch mode. There is a utility that generates UML diagrams from source code that calls "dot" (released by ATT as a graph diagram kind of tool.) which is optional. There were rumors of a tool for using PostgreSQL as a database backend but I have not seen news of it lately. I am the main author of Semantic and all the items not currently in Emacs that it depends on. David Ponce is also a primary contributor. Paul Kinnucan (author of JDEE) wrote the original imenu support, but there is very little left of his original work. Klaus Berndl (ECB author) wrote a regression test. All other packages that represent significant works beyond a small patch by other authors are separated in a "contrib" directory. A version of semantic from perhaps around the year 2000 is already fully assigned to the FSF. I have my paperwork submitted to my Employer's legal department for clearance on those intervening years so the current version can be a part of Emacs too. Semantic depends on several small utilities written in Emacs Lisp by either myself or David Ponce including tools for simplified Image loading and use, progress bar display, runtime version dependency checking, and an implementation of "mode local" variables/functions. I highly recommend using mode-local.el. I think it could greatly simplify the construction of any tool that has slightly different behaviors in different major modes, or the major modes themselves. It eliminates the need for hooks or complex functions that contain lots of `setq' calls, or functions that branch based on a alist of major modes. http://cvs.sourceforge.net/viewcvs.py/cedet/cedet/common/mode-local.el?view=markup Semantic also depends on EIEIO which is a CLOS layer also previously assigned to the FSF. It too is in the CEDET collection. You can read about all the tools in the CEDET collection at this web site: http://cedet.sourceforge.net The CEDET package scheme and related Makefiles are merely a convenience for releasing and building all those tools together. The Makefiles are generated by EDE, which adds project management and Makefile construction with a nifty GUI inside Emacs. The most complex part of the build is converting grammar files (.by, or .wy) into Emacs Lisp. This requires a calling Emacs in batch mode with Semantic loaded to perform the generation. Also involved is a special autoload file generator. It is a copy of the one that comes with Emacs and modified to handle CLOS constructs and some Semantic macros. I hope this answers your questions. Eric -- Eric Ludlam: zappo@gnu.org, eric@siege-engine.com Home: http://www.ludlam.net Siege: www.siege-engine.com Emacs: http://cedet.sourceforge.net GNU: www.gnu.org