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: project.el semantics Date: Wed, 11 Nov 2015 15:30:16 +0200 Message-ID: <564342E8.1080906@yandex.ru> References: <86pp1j4ejm.fsf@stephe-leake.org> <86pp1ixem2.fsf@stephe-leake.org> <55FAFC36.5010506@yandex.ru> <86twqrww0u.fsf_-_@stephe-leake.org> <563EA9B9.5080404@yandex.ru> <86vb9dufs0.fsf@stephe-leake.org> <563F4915.1080008@yandex.ru> <867flrbksb.fsf@stephe-leake.org> <56409F2D.9060300@yandex.ru> <5641412B.8080106@yandex.ru> <564145FC.5020905@yandex.ru> <5641634C.9000409@yandex.ru> <5641CCCB.6050206@yandex.ru> <86h9kt777c.fsf@stephe-leake.org> <5642924D.80304@yandex.ru> <56429A5A.6050600@yandex.ru> <86vb98508w.fsf@stephe-leake.org> 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 1447248644 32187 80.91.229.3 (11 Nov 2015 13:30:44 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 11 Nov 2015 13:30:44 +0000 (UTC) Cc: emacs-devel@gnu.org To: Stephen Leake Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Nov 11 14:30:40 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 1ZwVTz-00009n-1R for ged-emacs-devel@m.gmane.org; Wed, 11 Nov 2015 14:30:39 +0100 Original-Received: from localhost ([::1]:40655 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZwVTy-0003qA-2Q for ged-emacs-devel@m.gmane.org; Wed, 11 Nov 2015 08:30:38 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:48035) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZwVTm-0003gB-Bl for emacs-devel@gnu.org; Wed, 11 Nov 2015 08:30:31 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZwVTf-0002Ce-QC for emacs-devel@gnu.org; Wed, 11 Nov 2015 08:30:26 -0500 Original-Received: from mail-wm0-x22f.google.com ([2a00:1450:400c:c09::22f]:34905) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZwVTf-0002CY-K4 for emacs-devel@gnu.org; Wed, 11 Nov 2015 08:30:19 -0500 Original-Received: by wmdw130 with SMTP id w130so112900409wmd.0 for ; Wed, 11 Nov 2015 05:30:19 -0800 (PST) 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=+8s/6VaHVHmI9IhMETQXt190bNN5hOO6BBAl0q2szGw=; b=pNkcd1iqG+zPILUgiCsQXK4yM4Ft/AxgQ8TJY4ZN6gHKt5EZMFaLffX2q1ZyqdN09c yKsW3ZoZo433EbLzuG2pPAg4BekZ7huX+zYNWplCOMCQ4/ugQt62i48uEi0TH94ynLj/ 5Nznj6JKVJvt0+jtH05sWsjZoWnLGW4ukEDJSHC/Ma+l8V4/Xd4EoGCd3t6hR97wx0JH 3q3l3LqzX60gZGvwbUKJTS0tjx8ZrkWByl6njADd0X3sSlz3h0gFgeuwxvzeIcZk5aE0 CzC4GLJFVDho96SsoEkgYVnLkVOipvhL/YbnBxkaYkjFodO7i9pNXZl8bdBcAgkR5tBy dYPw== X-Received: by 10.28.9.204 with SMTP id 195mr41043501wmj.88.1447248619053; Wed, 11 Nov 2015 05:30:19 -0800 (PST) Original-Received: from [192.168.1.2] ([185.105.175.24]) by smtp.googlemail.com with ESMTPSA id it4sm9051960wjb.0.2015.11.11.05.30.17 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 11 Nov 2015 05:30:18 -0800 (PST) User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:42.0) Gecko/20100101 Thunderbird/42.0 In-Reply-To: <86vb98508w.fsf@stephe-leake.org> X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2a00:1450:400c:c09::22f 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:194055 Archived-At: On 11/11/2015 11:55 AM, Stephen Leake wrote: > Dmitry Gutov writes: > >> project vs libraries. Or, "files we own and edit" vs "files we >> sometimes want to look at" (and maybe edit during debugging). > > Those are conflicting criteria, so you are proving my point. I don't see that. > As an example, you define project-library-roots for elisp to include > _all_ of load-path (see the recently added function > `elisp-library-roots'). > > On a user machine (not a developer machine), a lot of load-path is > treated as read-only. But some is not. So why is it in > project-library-roots? a) They might be editable (and even authored by the user), but it's pretty likely that they are not the part of the current project. Which can be Emacs (which doesn't depend on any load-path directories outside of its tree; it just helps them work). b) We have no project files to determine the actual dependencies of the little Elisp package you're working on, and figure out which projects it's tightly coupled to. > The obvious answer is "because there is no way to tell which > subset of load-path is treated as user-editable". > > Note that "owned by the user" is not enough; ELPA packages are not editable, > but they are in ~/.emacs.d/elpa, owned by the user. And a user may have > installed Emacs in their own directory tree. "editable" and "owned by the user" is irrelevant. The docstring doesn't mention either of those conditions. > Which is precisely my point; there is no good way to decide whether a > directory belongs in project-roots or project-library-roots. Not if you only take one word from the whole docstring. It says "directory ... contents meant to be edited together". Which, yes, if impossible to determine for load-path, which is why it goes into library-roots. But it's possible to answer that question in other languages and configurations.