From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: sbaugh@catern.com Newsgroups: gmane.emacs.devel Subject: Re: Managing environments (Python venv, guix environment, etc.) Date: Sun, 24 Jul 2016 13:45:21 -0400 Message-ID: <87y44rudzi.fsf@earth.catern.com> References: <87y453sy0n.fsf@earth.catern.com> <87r3arripr.fsf@earth.catern.com> <874m7jygot.fsf@earth.catern.com> <83oa5ox21u.fsf@gnu.org> <123d2ae9-b523-5d5b-3bf8-c6e4462270b8@yandex.ru> <87a8h7wihs.fsf@earth.catern.com> <83shuzt8iz.fsf@gnu.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1469382362 16053 80.91.229.3 (24 Jul 2016 17:46:02 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sun, 24 Jul 2016 17:46:02 +0000 (UTC) To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sun Jul 24 19:45:51 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 1bRNTG-00018M-Nh for ged-emacs-devel@m.gmane.org; Sun, 24 Jul 2016 19:45:46 +0200 Original-Received: from localhost ([::1]:56915 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bRNTF-0003Ez-U8 for ged-emacs-devel@m.gmane.org; Sun, 24 Jul 2016 13:45:45 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:46024) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bRNT9-0003Ej-Md for emacs-devel@gnu.org; Sun, 24 Jul 2016 13:45:40 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bRNT6-0002pY-FE for emacs-devel@gnu.org; Sun, 24 Jul 2016 13:45:39 -0400 Original-Received: from plane.gmane.org ([80.91.229.3]:49303) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bRNT6-0002pS-6h for emacs-devel@gnu.org; Sun, 24 Jul 2016 13:45:36 -0400 Original-Received: from list by plane.gmane.org with local (Exim 4.69) (envelope-from ) id 1bRNT4-0000uK-JG for emacs-devel@gnu.org; Sun, 24 Jul 2016 19:45:34 +0200 Original-Received: from 71-46-80-67.res.bhn.net ([71.46.80.67]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Sun, 24 Jul 2016 19:45:29 +0200 Original-Received: from sbaugh by 71-46-80-67.res.bhn.net with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Sun, 24 Jul 2016 19:45:29 +0200 X-Injected-Via-Gmane: http://gmane.org/ Original-Lines: 24 Original-X-Complaints-To: usenet@ger.gmane.org X-Gmane-NNTP-Posting-Host: 71-46-80-67.res.bhn.net User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux) Cancel-Lock: sha1:FuYkqJ9vkW9Ls+kjTy+ZgvKTTb8= X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 80.91.229.3 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:206088 Archived-At: Eli Zaretskii writes: >> From: sbaugh@catern.com >> Date: Sun, 24 Jul 2016 04:25:03 -0400 >> >> Ideally, Elisp code would also (somehow) go through the environment >> dispatcher, and see the exec-path and process-environment of the >> appropriate environment. > > I don't see why this would be needed. Emacs can load Lisp packages > and run programs even if they are not on load-path/exec-path. Why do > we need to tweak these lists which are so central to Emacs core? Maybe I was unclear. I don't think load-path should be tweaked by environment.el (even though, since it can be initialized by EMACSLOADPATH, and that can change in different environments, you could conceivably argue that it should be) since it is so central to Emacs. But there are many Elisp functions that use exec-path. For example, browse-url uses executable-find (which uses exec-path) to determine which browsers are available. If exec-path (or maybe just all its users in core) is not tweaked by environment.el, but the process functions are, these functions like browse-url will behave in a broken way.