From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Jorgen Schaefer Newsgroups: gmane.emacs.devel Subject: Re: A unified project root interface Date: Wed, 20 Mar 2013 18:49:26 +0100 Message-ID: <20130320184926.1af09372@forcix.kollektiv-hamburg.de> References: <20130309174419.6e1cadb4@forcix.kollektiv-hamburg.de> <87hakh2299.fsf@fimbulvetr.bsc.es> <513FBA1C.5040100@siege-engine.com> <87vc8vyy66.fsf@engster.org> <5143C11D.8070705@siege-engine.com> <87sj3vv35h.fsf@engster.org> <20130316160203.6b889aba@forcix.kollektiv-hamburg.de> <87ehffuf1g.fsf@engster.org> <20130317001630.125e1987@forcix.kollektiv-hamburg.de> <87y5dmsz5u.fsf@engster.org> <20130317191817.764a44f5@forcix.kollektiv-hamburg.de> <87ppywtj9s.fsf@engster.org> <87li9juabi.fsf@engster.org> <87d2uvtdeb.fsf@engster.org> <874ng6tugb.fsf@engster.org> <87ppyurpxa.fsf@engster.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Trace: ger.gmane.org 1363801779 30010 80.91.229.3 (20 Mar 2013 17:49:39 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 20 Mar 2013 17:49:39 +0000 (UTC) Cc: Stefan Monnier , emacs-devel@gnu.org To: David Engster Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Mar 20 18:50:04 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 1UIN9H-0001zp-9E for ged-emacs-devel@m.gmane.org; Wed, 20 Mar 2013 18:50:03 +0100 Original-Received: from localhost ([::1]:55048 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UIN8t-0005dB-UE for ged-emacs-devel@m.gmane.org; Wed, 20 Mar 2013 13:49:39 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:41890) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UIN8q-0005d5-Qu for emacs-devel@gnu.org; Wed, 20 Mar 2013 13:49:37 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UIN8l-0007UT-Tt for emacs-devel@gnu.org; Wed, 20 Mar 2013 13:49:36 -0400 Original-Received: from istinn.electusmatari.com ([83.169.37.145]:49070) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UIN8l-0007U1-Mp for emacs-devel@gnu.org; Wed, 20 Mar 2013 13:49:31 -0400 Original-Received: from forcix.kollektiv-hamburg.de (hmbg-5f7665b7.pool.mediaWays.net [95.118.101.183]) by istinn.electusmatari.com (Postfix) with ESMTPSA id 10C14D10001E; Wed, 20 Mar 2013 18:49:30 +0100 (CET) In-Reply-To: <87ppyurpxa.fsf@engster.org> X-Mailer: Claws Mail 3.8.1 (GTK+ 2.24.10; i486-pc-linux-gnu) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 83.169.37.145 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:158000 Archived-At: On Wed, 20 Mar 2013 17:34:09 +0100 David Engster wrote: > Instead, I'd vote for a very simple approach which at least takes EDE > projects into account, among other things. Roughly like this: > > (defun project-root-ede (file) > (when (and (featurep' ede) > (with-current-buffer file > ede-object-root-project)) > ... return EDE root ... )) > > (defun project-root-vc (file) > (when (vc-file-registered file) > ... return root from VC ... )) > > (defvar project-root-detect-functions > '(project-root-ede project-root-vc)) > > (defun project-root () > (run-hook-with-args-until-success > project-root-detect-functions > (buffer-file-name (current-buffer)))) This sounds like an excellent idea. If you guarantee the hook to be run in the file's buffer, you do not even need the argument. Happy to write the code etc. if this is deemed the way to go :-) Regards, -- Jorgen