From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: David Engster Newsgroups: gmane.emacs.devel Subject: Re: A unified project root interface Date: Mon, 08 Apr 2013 21:03:24 +0200 Message-ID: <87txngzvyb.fsf@engster.org> References: <20130309174419.6e1cadb4@forcix.kollektiv-hamburg.de> <87li9juabi.fsf@engster.org> <87d2uvtdeb.fsf@engster.org> <874ng6tugb.fsf@engster.org> <87ppyurpxa.fsf@engster.org> <514A5A68.3070907@siege-engine.com> <87hak4af33.fsf@engster.org> <514BAA14.7060702@siege-engine.com> <87li9fyy6v.fsf@engster.org> <514DE1FC.4020805@siege-engine.com> <20130323182648.059f2e2a@forcix.kollektiv-hamburg.de> <87d2uqkna5.fsf@yandex.ru> <87d2upon55.fsf@kuiper.lan.informatimago.com> <87li9d2zlp.fsf@yandex.ru> <20130324111310.192618bc@forcix.kollektiv-hamburg.de> <20130406152531.31d940b9@forcix.kollektiv-hamburg.de> <516057D5.6060208@siege-engine.com> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1365447819 29261 80.91.229.3 (8 Apr 2013 19:03:39 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 8 Apr 2013 19:03:39 +0000 (UTC) Cc: emacs-devel@gnu.org, Jorgen Schaefer To: "Eric M. Ludlam" Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Mon Apr 08 21:03:43 2013 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 1UPHLy-00006W-Ai for ged-emacs-devel@m.gmane.org; Mon, 08 Apr 2013 21:03:42 +0200 Original-Received: from localhost ([::1]:56939 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UPHLx-0003AM-VQ for ged-emacs-devel@m.gmane.org; Mon, 08 Apr 2013 15:03:41 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:36026) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UPHLp-00039y-82 for emacs-devel@gnu.org; Mon, 08 Apr 2013 15:03:39 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UPHLj-0000I4-O9 for emacs-devel@gnu.org; Mon, 08 Apr 2013 15:03:33 -0400 Original-Received: from randomsample.de ([83.169.19.17]:59716) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UPHLj-0000He-Bv for emacs-devel@gnu.org; Mon, 08 Apr 2013 15:03:27 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=randomsample.de; s=a; h=Content-Type:MIME-Version:Message-ID:Date:References:In-Reply-To:Subject:Cc:To:From; bh=/JgBNqfvO3go8S9dhRNAPvzWfCVrKxviLCvEm7lPu+o=; b=ryUrvIC1GqQSDmnU3HKWTBuby8aXdualsarIDXW7R25pvedu3oX4wPSLP5/OdcPnMQt21OoYOtLed3OyvFmuwIzFMCEYkbreH/jbGIZnSJZzFFhiq5BOVlApHjzEBhgr; Original-Received: from dslc-082-083-055-048.pools.arcor-ip.net ([82.83.55.48] helo=spaten) by randomsample.de with esmtpsa (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.72) (envelope-from ) id 1UPHLh-0001VY-7e; Mon, 08 Apr 2013 21:03:25 +0200 In-Reply-To: <516057D5.6060208@siege-engine.com> (Eric M. Ludlam's message of "Sat, 06 Apr 2013 13:13:57 -0400") User-Agent: Gnus/5.130006 (Ma Gnus v0.6) Emacs/24.3 (gnu/linux) Mail-Followup-To: "Eric M. Ludlam" , Jorgen Schaefer , emacs-devel@gnu.org X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 83.169.19.17 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:158776 Archived-At: Eric M. Ludlam writes: > On 04/06/2013 09:25 AM, Jorgen Schaefer wrote: >> On Sun, 24 Mar 2013 11:13:10 +0100 >> Jorgen Schaefer wrote: >> > >>> I did a quick implementation of my current ideas on the topic: >>> >>> https://raw.github.com/jorgenschaefer/project-el/master/project.el >>> >>> Quick run-down: >>> >>> - If you only want to know the project root, you call (project-root) >>> and never have to worry about anything else. >>> - This will call functions in `project-guess-root-functions' until one >>> returns a non-nil value. This value is cached for future calls. >>> - The default functions use the current EDE project if any, or VC >>> directory markers, or ask the user; can be extended as needed. >>> - When an extension provides a way to change the project root, they >>> can call `project-set-root', which will run >>> `project-root-changed-hook' so that other extensions (e.g. EDE) can >>> intercept that and adjust themselves accordingly. Or even throw an >>> error. >>> >>> Other extensions should be able to build on that. >> >> As the discussion died down: What would be the next step here? > > I am probably too close to EDE to be very helpful in solving the wider > problem, but I can offer a branch in the CEDET repository as a testing > ground so that any changes needed in EDE can be easily made and tested > in our test suites. > > We can remove it from CEDET for maintenance elsewhere once the initial > development is done. We can keep new tests around in CEDET to make > sure EDE stays compatible. I don't think there are any changes necessary in EDE. All Jorgen's code does is to determine the project's root directory for the current file, and EDE is one possibility to provide this information, among others. I don't have a problem with this approach, besides a small hunch that soon people will add more features to 'project-root', and one day it may look a bit like EDE. Unsurprisingly, I still think for general project definitions EDE is the right choice. -David