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: Managing environments (Python venv, guix environment, etc.) Date: Sun, 24 Jul 2016 06:26:41 +0300 Message-ID: <123d2ae9-b523-5d5b-3bf8-c6e4462270b8@yandex.ru> References: <87y453sy0n.fsf@earth.catern.com> <87r3arripr.fsf@earth.catern.com> <874m7jygot.fsf@earth.catern.com> <83oa5ox21u.fsf@gnu.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 1469330832 21237 80.91.229.3 (24 Jul 2016 03:27:12 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sun, 24 Jul 2016 03:27:12 +0000 (UTC) Cc: emacs-devel@gnu.org To: Eli Zaretskii , Stefan Monnier Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sun Jul 24 05:27:01 2016 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 1bRA4A-0001KJ-O8 for ged-emacs-devel@m.gmane.org; Sun, 24 Jul 2016 05:26:58 +0200 Original-Received: from localhost ([::1]:54598 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bRA49-0002BC-Md for ged-emacs-devel@m.gmane.org; Sat, 23 Jul 2016 23:26:57 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:57431) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bRA41-0002B5-Um for emacs-devel@gnu.org; Sat, 23 Jul 2016 23:26:51 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bRA3w-00085l-Ug for emacs-devel@gnu.org; Sat, 23 Jul 2016 23:26:48 -0400 Original-Received: from mail-wm0-x232.google.com ([2a00:1450:400c:c09::232]:38658) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bRA3w-00085L-Nl; Sat, 23 Jul 2016 23:26:44 -0400 Original-Received: by mail-wm0-x232.google.com with SMTP id o80so113135238wme.1; Sat, 23 Jul 2016 20:26:44 -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-transfer-encoding; bh=L3+NZ2CsUVRP/ir3cmqmJ3cq47hHvjMDBM2EWvQpK9c=; b=rNaLvQWdLk/tb6l94ezQmPkkGbNvbA1AOpuzSVLL3pXfX6rBt6pfZZliprUl5coPDE 1w/HWw345e38VqyvlzPpGE8nA99O9Yim2iZjbkYTijT78evuRqsxJOUimzD5qStjs/4l lWA4QAVofVJtERuMzoCzw5e5GKMS2H1Va5RpmtVeS1XVXomQw7a/H42mulObyNslKKTn Dp0bbeJCwYb97z3nV4XAGsJOIJuLMxIQPVwOI+WmLhC27VA/EYJbkXJ2qS9GD1ufy1fM wKjJ3TqqZTJ9n0C3mTbFc2K/oEJ0EAq39Z6HR6wiFBZbp7vBt0spqVbNxj6BmA2MQ8Ik LXmg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:sender:subject:to:references:cc:from:message-id :date:user-agent:mime-version:in-reply-to:content-transfer-encoding; bh=L3+NZ2CsUVRP/ir3cmqmJ3cq47hHvjMDBM2EWvQpK9c=; b=PIe4cwniF5P0MOZ2uBGMkxauIr/a8wZxLujk52dOpsPMnkxmI3DSsf1qYs/l5unCUc JMh7tQw8qIzv5uxENbqgCb+vIQj3HuWT0y0CbiaAilz19cMgqq/tINrWcWXYolgK1ZTd VjxgZ10zwvTBSkDEzUkIEgQhg5CKEYLiLSh5SvYc3DeINVvStAxKO+Y0kissKqMjnx6P QprexUBBvFinl5ZxRnNFUogCEPwFr+FFF9QFhUbH8T1EV0uL0Bc0fipiTdl2qTXHINJB hi84pgxj6pyJGJynnbiGjwnYDcJ9damD3HGYT9VMAVxm1NR3G85Z+moWdm94xnNX/9+M Aq5Q== X-Gm-Message-State: AEkoousOgwIbTccbDzf8R/I71+r8a9VEOmpe0UVUyHCZupMJ6KwHvHsJWD6+ijzXzGbTfA== X-Received: by 10.28.103.6 with SMTP id b6mr14163829wmc.89.1469330803611; Sat, 23 Jul 2016 20:26:43 -0700 (PDT) Original-Received: from [192.168.1.2] ([185.105.173.135]) by smtp.googlemail.com with ESMTPSA id va3sm8637414wjb.18.2016.07.23.20.26.41 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 23 Jul 2016 20:26:42 -0700 (PDT) User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:47.0) Gecko/20100101 Thunderbird/47.0 In-Reply-To: <83oa5ox21u.fsf@gnu.org> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2a00:1450:400c:c09::232 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.21 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" Xref: news.gmane.org gmane.emacs.devel:206079 Archived-At: Hi Eli, I was going to comment, but this thread has run away quicker than I managed to compose a reply. On 07/23/2016 10:10 AM, Eli Zaretskii wrote: > Actually, I don't like to see any feature, let alone a core one, use > file-name-handler-alist for local files. Lots of code in Emacs, > including primitives, really handle such files as remote, so the > results are likely to be incorrect and subtly broken. We do have file-remote-p, don't we? Maybe the code in question should be fixed. > I always thought that features like this one should use and extent > the infrastructure in project.el. And yet Dmitry is silent in this > discussion. What am I missing? I don't know exactly if project.el is the best place for it. Maybe we should see how well environment.el works as a separate feature, and if that makes sense, incorporate it after. My main concern with this proposal is avoiding to have to purposefully modify "every Elisp package that runs processes". If every process call will pass through the environment dispatcher, that's bound to add some overhead. How will that affect the code that makes multiple process calls at once, such as VC? I'd like to see some numbers. And if we base this feature on project.el right away, it will add a stricter requirement on the performance of `project-current', which is currently called at most once per user command. We could add some cache there, of course. Alternatively, we can keep environment.el separate, and any advanced minor mode, such as EDE, would both hook into project.el and set up any necessary environment.el variables.