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: Unified project interface Date: Thu, 4 Jun 2015 14:43:23 +0300 Message-ID: <557039DB.4060607@yandex.ru> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-Trace: ger.gmane.org 1433418248 6392 80.91.229.3 (4 Jun 2015 11:44:08 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Thu, 4 Jun 2015 11:44:08 +0000 (UTC) Cc: Jorgen Schaefer , Bozhidar Batsov To: emacs-devel Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Thu Jun 04 13:44:04 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 1Z0TYy-0005FS-8Y for ged-emacs-devel@m.gmane.org; Thu, 04 Jun 2015 13:43:56 +0200 Original-Received: from localhost ([::1]:41862 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Z0TYw-0006fw-Ut for ged-emacs-devel@m.gmane.org; Thu, 04 Jun 2015 07:43:54 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:33595) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Z0TYj-0006fX-Bz for emacs-devel@gnu.org; Thu, 04 Jun 2015 07:43:42 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Z0TYg-0004dC-0W for emacs-devel@gnu.org; Thu, 04 Jun 2015 07:43:41 -0400 Original-Received: from mail-wg0-x22b.google.com ([2a00:1450:400c:c00::22b]:35309) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Z0TYf-0004Vq-Pb for emacs-devel@gnu.org; Thu, 04 Jun 2015 07:43:37 -0400 Original-Received: by wgme6 with SMTP id e6so31439971wgm.2 for ; Thu, 04 Jun 2015 04:43:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:to:cc:from:subject:message-id:date:user-agent:mime-version :content-type:content-transfer-encoding; bh=zcTUnGZs7+2wG54jrCPvFxKBa3SZFwbbLS2yrxUg+PE=; b=f1x2QL/MLuNcqyeA05cuK0aBc7A2Fu11KzHLaSks7gQVp+qrnhwiG/YrpGAkLJEIa2 CDyNbVh14DM7M+BvFuXGHqqgXrvNl8vIb+i+0xssydLf37s9VsfmiTnPvfG1v+MHr6r9 oRE2bVWBRkWhkTI7/UANHtawyUyldKRSbUptUo+dq0VovdJatuEAv2I57vdwGFxPVI25 tXyRu172Xo+TMFfQxtO9VwZ2N7HI+y/sAarh8Z4wHIK9EaMwN3bLJS6IwMvbo0VgCKxz qekLErAFVKeopwZtc/jNrn6J9X3puCf+hKqBwv4E+9FT4SgFSUJ2PvqHzhCb1phUZH8X X/Gg== X-Received: by 10.194.205.37 with SMTP id ld5mr71946265wjc.14.1433418206551; Thu, 04 Jun 2015 04:43:26 -0700 (PDT) Original-Received: from [192.168.1.2] ([82.102.93.54]) by mx.google.com with ESMTPSA id lf4sm4408029wjb.42.2015.06.04.04.43.25 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 04 Jun 2015 04:43:26 -0700 (PDT) User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.0 X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2a00:1450:400c:c00::22b 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:187017 Archived-At: Hi all, A while ago, there was floated a "unified project root" proposal. I'd like to resume that discussion. Unfortunately, the code proposed back them doesn't serve the immediate need I have in mind: basically, I need that function to return a *list* of directories, because both etags and elisp xref backends operate on multiple directories, via tags-table-list and load-path respectively. If we have it, we'll be able to untie `xref-find-regexp' from xref backends, because really there's nothing language-specific to this command. Now, before adding this feature to the core, are there other related general questions we want to be able to answer? Depending on that, a "project" might be better implemented as a cl-struct, providing specialized implementations for those several generic methods.