From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Dmitry Gutov Newsgroups: gmane.emacs.devel Subject: Re: progmodes/project.el and search paths Date: Mon, 3 Aug 2015 17:09:29 +0300 Message-ID: <55BF7619.1050701@yandex.ru> References: <55BE209F.1000009@siege-engine.com> <55BE509B.2080307@yandex.ru> <87r3nkjxby.fsf@isaac.fritz.box> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit X-Trace: ger.gmane.org 1438610989 22784 80.91.229.3 (3 Aug 2015 14:09:49 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 3 Aug 2015 14:09:49 +0000 (UTC) Cc: Emacs Development , Eric Ludlam To: David Engster Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Mon Aug 03 16:09:48 2015 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1ZMGR1-0002je-O8 for ged-emacs-devel@m.gmane.org; Mon, 03 Aug 2015 16:09:47 +0200 Original-Received: from localhost ([::1]:59309 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZMGR0-00056M-R1 for ged-emacs-devel@m.gmane.org; Mon, 03 Aug 2015 10:09:46 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:54750) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZMGQu-00056E-EI for emacs-devel@gnu.org; Mon, 03 Aug 2015 10:09:44 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZMGQp-0005ZN-Bt for emacs-devel@gnu.org; Mon, 03 Aug 2015 10:09:40 -0400 Original-Received: from mail-wi0-x236.google.com ([2a00:1450:400c:c05::236]:36020) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZMGQp-0005Z8-4O for emacs-devel@gnu.org; Mon, 03 Aug 2015 10:09:35 -0400 Original-Received: by wicgj17 with SMTP id gj17so107309143wic.1 for ; Mon, 03 Aug 2015 07:09:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:subject:to:references:cc:from:message-id:date:user-agent :mime-version:in-reply-to:content-type:content-transfer-encoding; bh=r596p4K2g3j8zH/qe/ReVP2EG65H4RODA8LkTVMAJjk=; b=MC7Q2jB4Kh8ewwJlELBtM25J5j186H4zQD6kncFnDe6Kp1M+7/iyu/x5ACo6TCWlFW tIRphiG9tS+oJ3e6fscIWnc2S156AuJobHypf0NcAgRpVV8g1F34QdPWfsVO9rer7zC6 MGhM4h38U3JBZn6N6LVrP5pkJt+dtIIrho6D54PcZqszVdxls9rFMcKXnxKtQyZqlBr/ DQuFPWTJj2Oree5cOkO5NV4yRx29f4HHvMwkX+sdYmT/B9ImllWm9zJkYnoYeHSUB9Ay TiXlEveV5uibDQyc8AB3wzDKLEqPTeni3GYq8C4dYKqyPUk+Qm2k/x5zYSBDplOii+mj Yamw== X-Received: by 10.180.77.68 with SMTP id q4mr32212815wiw.22.1438610973671; Mon, 03 Aug 2015 07:09:33 -0700 (PDT) Original-Received: from [192.168.0.185] (static-nbl2-118.cytanet.com.cy. [212.31.107.118]) by smtp.googlemail.com with ESMTPSA id k12sm23135365wjw.4.2015.08.03.07.09.31 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 03 Aug 2015 07:09:32 -0700 (PDT) User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:40.0) Gecko/20100101 Thunderbird/40.0 In-Reply-To: <87r3nkjxby.fsf@isaac.fritz.box> X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2a00:1450:400c:c05::236 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:188336 Archived-At: On 08/03/2015 04:49 PM, David Engster wrote: > From what I see in project.el, this is an API for defining a set of > directories. I'm not saying that Emacs does not need such an API, but I > would not call this a "project API". These are the traits common to most projects that we've identified so far. Ones that a third-party package will almost always be able to use. > What about things like setting up > toolchains (compiler, linker, debugger), configurations (debug/release), > support for external build systems, setting up environment variables and > pre-processor symbols, and so on? What linker and pre-processor? Seriously, you're talking to a Ruby developer here. What aspects of "setting up a debugger" would you consider generalizable over different project systems? Same question about "support for external build systems". Do you need help setting up environment variables? If that comes down to editing a list, then I suppose "environment variables" could become a standard piece of project metadata. Especially if someone out there is interested in writing a env var editor. > I mean, this is the bread and butter > of projects in pretty much any IDE. Will you add this to project,el > eventually? If people such as yourself help identify more pieces of knowledge that apply to most projects out there, I'd be happy to add them. > Otherwise, calling EDE an implementation of your generic > project API is pretty daring, IMHO. Well, as you've put it, this is obviously false. EDE is *an* implementation. Like some class can implement some (often small) interface. This metaphor should be familiar to a C++ programmer. Aside from that, EDE is a project system obviously geared towards C/C++ development.