unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Daniel Colascione <dancol@dancol.org>
To: Bozhidar Batsov <bozhidar@batsov.com>,  Dmitry Gutov <dgutov@yandex.ru>
Cc: Eli Zaretskii <eliz@gnu.org>, emacs-devel <emacs-devel@gnu.org>
Subject: Re: Project systems (again)
Date: Sat, 19 Apr 2014 09:52:54 -0700	[thread overview]
Message-ID: <5352A9E6.9020505@dancol.org> (raw)
In-Reply-To: <CAM9Zgm2hyx_35GPQWOb=z0PvpTGrtUUmYY1sefozooxs-yaSyg@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 1865 bytes --]

On 04/19/2014 01:55 AM, Bozhidar Batsov wrote:
> Btw, Projectile was the reason I signed the copyright assignment in the
> first place. Stefan approached me a few years back
> about including it into ELPA, but for some reason we never actually got
> to doing this.  

ELPA isn't adequate. I want something in the Emacs core and enabled by
default.

> Projectile is not without its quirks, but I'm fairly certain its one of
> the best project management options around.

Agreed, but that doesn't make it suitable as-is.

> What's most important,
> however, is that it's pretty well battle tested - thousands of users
> have been using it over the last 3 years and have submitted numerous bug
> reports, feature requests and patches. Starting for scratch would reset
> the counter on all (most) of that.

There's no reason we can't learn from all the effort, just as we can
learn from what the EDE people have done.

> I'm certainly biased, but I think
> focusing more effort on improving Projectile makes more sense than
> implementing an alternative solution.

Being "battle tested" is overrated: DOS was "battle tested" too.
Projectile is a good package. That said, it's only about 2,000 lines long.

The hard part about a project system isn't locating and manipulating
packages, but integrating the system into external tools. Right now,
Projectile is a monolith and doesn't have any internal abstractions of
layering or extensibility. (See `projectile-project-vcs'.) It's not
possible to use it as a base for EDE, for example, nor to extend it with
the ability to answer arbitrary questions about files in the project
(which is what you'd need for something like semantic's UI.)

Projectile has some good ideas, particularly with respect to the UI, but
the needed backend modifications would amount to a rewrite anyway.


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 884 bytes --]

      parent reply	other threads:[~2014-04-19 16:52 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-04-17 21:52 Project systems (again) Daniel Colascione
2014-04-18  6:37 ` Eli Zaretskii
2014-04-18  7:07   ` Daniel Colascione
2014-04-18  7:50     ` Eli Zaretskii
2014-04-18  7:58       ` Daniel Colascione
2014-04-18  8:49         ` Eli Zaretskii
2014-04-19  1:45         ` Eric M. Ludlam
2014-04-19 14:26           ` Stefan Monnier
2014-04-19 19:37             ` Eric M. Ludlam
2014-04-18 15:52     ` Stefan Monnier
2014-04-18 18:37     ` Alex Ott
2014-04-18 14:03   ` Dmitry Gutov
2014-04-19  8:55     ` Bozhidar Batsov
2014-04-19 14:28       ` Stefan Monnier
2014-04-19 16:52       ` Daniel Colascione [this message]

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=5352A9E6.9020505@dancol.org \
    --to=dancol@dancol.org \
    --cc=bozhidar@batsov.com \
    --cc=dgutov@yandex.ru \
    --cc=eliz@gnu.org \
    --cc=emacs-devel@gnu.org \
    /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).