unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: "Eric M. Ludlam" <eric@siege-engine.com>
To: Tom Tromey <tromey@redhat.com>
Cc: monnier@iro.umontreal.ca, emacs-devel@gnu.org
Subject: Re[2]: Project local variables & EDE (was: Updated project-specific settings patch)
Date: Mon, 19 May 2008 15:51:51 -0400	[thread overview]
Message-ID: <200805191951.m4JJppxj016062@projectile.siege-engine.com> (raw)
In-Reply-To: <m34p8uw11d.fsf@fleche.redhat.com> (message from Tom Tromey on Mon, 19 May 2008 13:23:42 -0600)

>>> Tom Tromey <tromey@redhat.com> seems to think that:
>>>>>> "Stefan" == Stefan Monnier <monnier@iro.umontreal.ca> writes:
  [ ... ]
>
>Stefan> One more thing: since we want to include CEDET and CEDET has its own
>Stefan> notion of "project data", we want to try and get those two things
>Stefan> to converge.
>
>Stefan> So please try and work out with zappo@gnu.org what convergence might
>Stefan> look like.
>
>I've CC'd him.
>
>I looked through CEDET a bit but project-local settings do not seem to
>be extensively documented.  I think you have to use EDE to get them,
>and from what I can see EDE only supports a couple types of projects.
>
>Also, it appears that a Project.ede is needed in every directory.

Hi,

  The project-local variables are supported by any EDE project type.
This includes the ones with Project.ede files, or the simpler
projects that have no save files.  Of course, without a save file, the
project-local variables aren't persistent.

  You are right they are not well documented.  The goal of EDE when I
wrote it was not project-local variables.  They are a bit of a freebie
feature in EDE.

  One thing I learned since writing EDE is that I need to break the
"project" as a group of files concept apart from all the makefile
management stuff.  I have a first pass in the "simple" project type
which just has a high-level project at some root directory.  It needs
some work though.

  The goals behind EDE are very different from projectlocal if it the
same as what I had read on emacswiki a while back.  EDE uses objects
and methods to store, manipulate, and configure data.  Every buffer
gets associated with an EDE project if it is in one.  EDE should then
provide an API for a user facing program to navigate a project.  EDE
then also provides all the makefile manipulation stuff for itself.

  The API to other programs is important for other parts of CEDET
which want to have configurations specific under a particular project.
For example, ECB will draw it's dir tree rooted to some project.
Semantic will lookup header files for C++ programs within the current
project.  The template manager/code-generator (SRecode) will lookup
(someday) templates changes specific to a particular project.

  My suspicion is that projectlocal will satisfy a different group of
users where EDE is a bit more heavy weight.  It would be easy for EDE
to identify .dir-settings.el files and automatically configure those
directories as simple EDE projects that exclude all the other
heavyweight make system features.  In this case, EDE would be
duplicating some of the work of project-local.  If there is interest,
I'd be happy to help make an EDE project style that uses a
.dir-settings of the same format that uses EDE constructs to do the
variable settings.  The detriment to this would be that EDE will
likely be slower at runtime than the existing code, simply due to some
of the extra machinery.  The benefit would be a single project-ish
system.

  Tom, if you'd like to do this, I'll send you a mock-up of the EDE
code needed to merge the two to try to see if it satisfies your goal
set.  Alternately, you could look in CEDET's CVS repository for
ede-simple.el which, as far as I know, does persistent project-local
variables, though I hadn't tested that since, as I mentioned above,
that wasn't my original goal.

Eric

-- 
          Eric Ludlam:                       eric@siege-engine.com
   Siege: www.siege-engine.com          Emacs: http://cedet.sourceforge.net




  reply	other threads:[~2008-05-19 19:51 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-05-19 17:07 Updated project-specific settings patch Tom Tromey
2008-05-19 18:51 ` Stefan Monnier
2008-05-19 18:55   ` Miles Bader
2008-05-19 19:00     ` Tom Tromey
2008-05-20  2:35       ` Miles Bader
2008-05-19 19:23   ` Tom Tromey
2008-05-19 19:51     ` Eric M. Ludlam [this message]
2008-05-19 22:41     ` Michael Olson
2008-05-20  0:04       ` Stefan Monnier
2008-05-20  3:18         ` Michael Olson
2008-05-20  0:14       ` Miles Bader
2008-05-20  7:19         ` David Kastrup
2008-05-19 20:29   ` David Kastrup
2008-05-19 21:57     ` Stefan Monnier
2008-05-19 19:32 ` joakim
2008-05-19 20:11   ` Re[2]: " Eric M. Ludlam
2008-05-20  3:27     ` Eli Zaretskii
2008-05-19 20:02 ` Chong Yidong
2008-05-19 21:55   ` Tom Tromey
2008-05-20 14:02     ` Chong Yidong
2008-05-20 18:45       ` Stefan Monnier
2008-05-21  0:04         ` Miles Bader
2008-05-21 19:49       ` Tom Tromey
2008-05-22  3:46         ` Chong Yidong
2008-05-23  6:31           ` Michael Olson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200805191951.m4JJppxj016062@projectile.siege-engine.com \
    --to=eric@siege-engine.com \
    --cc=emacs-devel@gnu.org \
    --cc=monnier@iro.umontreal.ca \
    --cc=tromey@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).