X-Loop: help-debbugs@HIDDEN Subject: bug#74550: eshell cannot set the environment variable PATH on Windows Resent-From: Siyuan Chen <chansey97@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: bug-gnu-emacs@HIDDEN Resent-Date: Tue, 26 Nov 2024 20:39:01 +0000 Resent-Message-ID: <handler.74550.B.173265352128324 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: report 74550 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: 74550 <at> debbugs.gnu.org X-Debbugs-Original-To: bug-gnu-emacs@HIDDEN Received: via spool by submit <at> debbugs.gnu.org id=B.173265352128324 (code B ref -1); Tue, 26 Nov 2024 20:39:01 +0000 Received: (at submit) by debbugs.gnu.org; 26 Nov 2024 20:38:41 +0000 Received: from localhost ([127.0.0.1]:52815 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1tG2KW-0007Mm-Lj for submit <at> debbugs.gnu.org; Tue, 26 Nov 2024 15:38:40 -0500 Received: from lists.gnu.org ([209.51.188.17]:44286) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <chansey97@HIDDEN>) id 1tG2KU-0007Mc-AE for submit <at> debbugs.gnu.org; Tue, 26 Nov 2024 15:38:38 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <chansey97@HIDDEN>) id 1tG2KT-0001oq-Vj for bug-gnu-emacs@HIDDEN; Tue, 26 Nov 2024 15:38:38 -0500 Received: from mail-yw1-x112c.google.com ([2607:f8b0:4864:20::112c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from <chansey97@HIDDEN>) id 1tG2KS-0000R6-Jj for bug-gnu-emacs@HIDDEN; Tue, 26 Nov 2024 15:38:37 -0500 Received: by mail-yw1-x112c.google.com with SMTP id 00721157ae682-6ef0c64d75cso27665407b3.2 for <bug-gnu-emacs@HIDDEN>; Tue, 26 Nov 2024 12:38:35 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1732653515; x=1733258315; darn=gnu.org; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=O+lDxM0T7ZtI5obNtNyMBuG907gs1RlKb7DEzduQZKc=; b=KmCF7yMsAPPZ+yoEcjV6RbAckeJa+ekh4NoQT/0Pspuc8eiNESjxLPONKxoVtxRkir Ol4EU0Xnfwfw7S1A4Uhd5lWI5nf1yWT2OIG5P1QuqrxemYPWy0lA1CrwCcTFWJFPSvI6 UwVLw2N/KrtNgoY0Sggezf1iOO0BVdoNJk0yy+Fc6JvtsLQgl2TvDq4oNuqg4VMlsotS vE+ngKWpaBP6VYXg0eG84VYvESN6D0FVg6OhfwtC0lRimIiv0jiU7iuN+jtfZAa64bvF K8kvJrB6mLmlshK3wPtfBlbDlnbE8laExTi6OxSRcLxk702D72nRXsXHD1BHpQr/SvrN fizg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1732653515; x=1733258315; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=O+lDxM0T7ZtI5obNtNyMBuG907gs1RlKb7DEzduQZKc=; b=bxKSiq3HuY/2U955qOh4j4o0hAOo0YNoGOrM920gfch+CxQVkdI9iwT9eNlSVL6Qrn 6fEsrA+obbq6+CyC+zy2mzR8lCgH/C/a4NTrGtvQLiX9bRD8YnOqw29nY08F3F6yKOlo /ssP2pVbbZCnF4GkA4mS5eY3xk1PMEzHbqBcXT+yFB0ExmfSnKMe/LIyOL+unbVbnE/v QpjXxKrpUXwfUPPXrd0e40fH5mT8swQNqsrdgeYjnO4ODp2uqJ72Y9opbLmGakW4mT3L asim1StVHW/zR+WI51FpYx7W0d9TvXSyB/4+FbFiJCVpYa75zt0EpvRio5OgnmktaVGh AW3w== X-Gm-Message-State: AOJu0YyLNOESruOZ/NvPC5nVmq/KZBs20DtfYHr55jBJh7JuTCMpl48a vwqYVzSxP/KzWx9qo92ErTIhNWwZYE63C9mRzNDU+p+/H0zjcb8ldxHC8ZyMVQ+CgRoKOUgIpgE TbNtbJ5DOJCqpaIwxzas3Up6valmpxboK X-Gm-Gg: ASbGncs/DRx+JZABvcAEh4oaTe2b/YRp0+e8/y3saqdk6AT7PHFGRGW2+asO0cymHge wMAdT4mT4vOYAHFwVjBWiOesOM/GMupu5mVgvfJ+z0yFNvGlXEaB9940DORc6wsk= X-Google-Smtp-Source: AGHT+IHbc1dDwAXnnEpouVeS74Q4kTJrDrlkEz0ZIT9zqkWcQ860HEE0Ik/TM2GvNc9Eukr8Y0T5I9EWQwYvk7bu5lg= X-Received: by 2002:a05:690c:48c8:b0:6e2:aceb:fb34 with SMTP id 00721157ae682-6ef371dfabcmr7442227b3.1.1732653513794; Tue, 26 Nov 2024 12:38:33 -0800 (PST) MIME-Version: 1.0 From: Siyuan Chen <chansey97@HIDDEN> Date: Wed, 27 Nov 2024 04:38:30 +0800 Message-ID: <CAHWTsYnSNUYnBkoLGf+XfmfVZ9XebLq6EiCo3-K3HU47ObCuMw@HIDDEN> Content-Type: multipart/alternative; boundary="000000000000356f760627d6d599" Received-SPF: pass client-ip=2607:f8b0:4864:20::112c; envelope-from=chansey97@HIDDEN; helo=mail-yw1-x112c.google.com X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.1 (-) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -2.1 (--) --000000000000356f760627d6d599 Content-Type: text/plain; charset="UTF-8" Reproduce steps: 1. Emacs -Q 2. M-x eval-expression `(setenv "PATH" (concat "C:/env" path-separator (getenv "PATH")))` 3. M-x eshell 4. In the *eshell* window, type `echo $PATH`, but the path "C:/env" doesn't show in the result. P.S. I have also tried `eshell-set-path` and `with-environment-variables`, but they cannot set PATH as well. For example, (require 'eshell) (defun eshell2() (interactive) (eshell-set-path '("C:/env")) (call-interactively 'eshell)) (defun eshell3() (interactive) (with-environment-variables (("PATH" (concat "C:/env" path-separator (getenv "PATH")))) (call-interactively 'eshell))) Emacs 29.4 on Windows 10. Thanks. Best regards, Siyuan Chen --000000000000356f760627d6d599 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable <div dir=3D"ltr">Reproduce steps:<br><br>1. Emacs -Q<br><br>2. M-x eval-exp= ression `(setenv "PATH" (concat "C:/env" path-separator= (getenv "PATH")))`<br><br>3. M-x eshell<br><br>4. In the *eshell= * window, type `echo $PATH`, but the path "C:/env" doesn't sh= ow in the result.<br><br>P.S. I have also tried `eshell-set-path` and `with= -environment-variables`, but they cannot set PATH as well. For example,<br= ><div><br></div><div>(require 'eshell)</div><div><br></div>(defun eshel= l2()<br>=C2=A0 (interactive)<br>=C2=A0 (eshell-set-path '("C:/env&= quot;))<br>=C2=A0 (call-interactively 'eshell))<br><br>(defun eshell3()= <br>=C2=A0 (interactive)<br>=C2=A0 (with-environment-variables (("PATH= " (concat "C:/env" path-separator (getenv "PATH"))= ))<br><div>=C2=A0 =C2=A0 (call-interactively 'eshell)))</div><div><br><= /div><div> Emacs 29.4 on Windows 10.<br></div><div><br></div><div> <div>Thanks.</div><div><br></div><div>Best regards,</div><div>Siyuan Chen</= div> </div><div><br></div><div><br></div></div> --000000000000356f760627d6d599--
Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) Content-Type: text/plain; charset=utf-8 X-Loop: help-debbugs@HIDDEN From: help-debbugs@HIDDEN (GNU bug Tracking System) To: Siyuan Chen <chansey97@HIDDEN> Subject: bug#74550: Acknowledgement (eshell cannot set the environment variable PATH on Windows) Message-ID: <handler.74550.B.173265352128324.ack <at> debbugs.gnu.org> References: <CAHWTsYnSNUYnBkoLGf+XfmfVZ9XebLq6EiCo3-K3HU47ObCuMw@HIDDEN> X-Gnu-PR-Message: ack 74550 X-Gnu-PR-Package: emacs Reply-To: 74550 <at> debbugs.gnu.org Date: Tue, 26 Nov 2024 20:39:02 +0000 Thank you for filing a new bug report with debbugs.gnu.org. This is an automatically generated reply to let you know your message has been received. Your message is being forwarded to the package maintainers and other interested parties for their attention; they will reply in due course. Your message has been sent to the package maintainer(s): bug-gnu-emacs@HIDDEN If you wish to submit further information on this problem, please send it to 74550 <at> debbugs.gnu.org. Please do not send mail to help-debbugs@HIDDEN unless you wish to report a problem with the Bug-tracking system. --=20 74550: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D74550 GNU Bug Tracking System Contact help-debbugs@HIDDEN with problems
X-Loop: help-debbugs@HIDDEN Subject: bug#74550: eshell cannot set the environment variable PATH on Windows Resent-From: Jim Porter <jporterbugs@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: bug-gnu-emacs@HIDDEN Resent-Date: Tue, 26 Nov 2024 21:16:02 +0000 Resent-Message-ID: <handler.74550.B74550.17326557533146 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 74550 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Siyuan Chen <chansey97@HIDDEN>, 74550 <at> debbugs.gnu.org Received: via spool by 74550-submit <at> debbugs.gnu.org id=B74550.17326557533146 (code B ref 74550); Tue, 26 Nov 2024 21:16:02 +0000 Received: (at 74550) by debbugs.gnu.org; 26 Nov 2024 21:15:53 +0000 Received: from localhost ([127.0.0.1]:53347 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1tG2uW-0000of-Oj for submit <at> debbugs.gnu.org; Tue, 26 Nov 2024 16:15:53 -0500 Received: from mail-pf1-f175.google.com ([209.85.210.175]:51482) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <jporterbugs@HIDDEN>) id 1tG2uT-0000oJ-Tk for 74550 <at> debbugs.gnu.org; Tue, 26 Nov 2024 16:15:50 -0500 Received: by mail-pf1-f175.google.com with SMTP id d2e1a72fcca58-724d57a9f7cso5007025b3a.3 for <74550 <at> debbugs.gnu.org>; Tue, 26 Nov 2024 13:15:49 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1732655684; x=1733260484; darn=debbugs.gnu.org; h=content-transfer-encoding:in-reply-to:from:references:to :content-language:subject:mime-version:date:message-id:from:to:cc :subject:date:message-id:reply-to; bh=74lf+lT2Xw4QoBS10Y7IP1kDRFEvXVEAIkul8hQ74A4=; b=BpKPHQndC/uJGtyHDjsFJn4zYzPbAGImfEoiKDjq4Yhabz1XGkp+dhd4eY/HRTgC9G PUYkqU9IxssMMKZq5HX47Aae8ExQ+a5yPHNMilAk/qD9DaDOVApcQsoWeaj+isNQKGD4 cBmRiwCvxvcELIKYvzvueGa1JvUUcuV092PGvxF6r98Bn6eY2lmHMW/rgMTh7twsFfUm iPAjDlgAm49kQWVOZUm/9ch7p0oYW4CQFRMJVrUm9HUddqNVowVoeblR4leMz1uyRy0B YsPbmwisJo4pRvlhKrk6OsyeNQ9nUc3tcI72NQuVkJMW6D3I9z18uwTebv3AHf4QT1Xb WKuQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1732655684; x=1733260484; h=content-transfer-encoding:in-reply-to:from:references:to :content-language:subject:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=74lf+lT2Xw4QoBS10Y7IP1kDRFEvXVEAIkul8hQ74A4=; b=Jn+Qwf5WxZ2KhTU1mwO4a2SbyvwoCU9V8pJ2vZ6JXwIH6XPJtzRGMvKWfijLvyxDU2 XZuIvqsqUJCOPbsQK8cJ4KNrHC60ObiAbK3jDFmMz2qFdO5XLzvJIFS3peNeMeVZ/FdB AF9SRwqhyq8glj7dLgNJlc1+Ag//IWBmf3X6ZpBmnVFLayE7jWFZEfVsBdNawrW3oNVw lzPGfW5AfFdfc4cgxb+uDWjKF6C2MycTOCXe59KbRBgIEbqfybpFV5KQF3txmZge5q7D vspfqCK9feB3v+8+m7/cjEJqpp42GZDMMMVLJQu1Avhq40sU5LN4WL5EwZzJyRvBNbjo +mKg== X-Forwarded-Encrypted: i=1; AJvYcCWArwfKLKFyLo3h4YBASu0lrZwt/h5t4q1Q1/piGr0yfO+1sC3t4XFmY0O3JCIHA0pWe1jRiw==@debbugs.gnu.org X-Gm-Message-State: AOJu0YzS+aLG2+Og1n9XJPbCWbKlgfSCK9f6EaWnLCHym7JCV5llaSxg 86NDmfYVwcUoEMCPJ5dU8Iv4RoG9IK+hAd5eBK9OtWfWUmzQaamW X-Gm-Gg: ASbGncvYBNcrrDWtHZJSZoYb0/JhLyD4S+YYBbK0pNC0fDfzFqUQIjA31UEdhvOk83q XuItPgnoPLlDmxvEsTbdWK6aQUvaHH3jD4jGSqBdW9hACqPQszCz/yxN4qRJvlFckJcn+YzTnpA UeMFiSazqtf9EugFRGrwPmJpCmr2OrFuuYCFYJ/142MwEVlIME/E7SWVLHwRMBBWVmC8dENFRln gThlOXQcKUckOhcb1o4wH2REhatZja2f2Nubat//v3vLBm2+SZQiXQI+vyni5pfFRGh+l8bolJp pXAk+T3K8eqZ56KvegMD0tB000g= X-Google-Smtp-Source: AGHT+IGs5g7Y5lNmXBbR/5OsdsZBII60RjxSe28i9L9bM6sVpAlZgzeOPrlRvLsY64FcJyeXInglcQ== X-Received: by 2002:a17:90b:4b51:b0:2ea:88d4:a0cb with SMTP id 98e67ed59e1d1-2ee08eb2f50mr1022988a91.16.1732655683855; Tue, 26 Nov 2024 13:14:43 -0800 (PST) Received: from [192.168.1.2] (syn-023-240-098-037.res.spectrum.com. [23.240.98.37]) by smtp.googlemail.com with ESMTPSA id 98e67ed59e1d1-2eb14397a6fsm9086753a91.51.2024.11.26.13.14.43 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 26 Nov 2024 13:14:43 -0800 (PST) Message-ID: <c4ea213a-df40-b9ee-b555-6bb456da31cc@HIDDEN> Date: Tue, 26 Nov 2024 13:14:42 -0800 MIME-Version: 1.0 Content-Language: en-US References: <CAHWTsYnSNUYnBkoLGf+XfmfVZ9XebLq6EiCo3-K3HU47ObCuMw@HIDDEN> From: Jim Porter <jporterbugs@HIDDEN> In-Reply-To: <CAHWTsYnSNUYnBkoLGf+XfmfVZ9XebLq6EiCo3-K3HU47ObCuMw@HIDDEN> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) On 11/26/2024 12:38 PM, Siyuan Chen wrote: > Reproduce steps: > > 1. Emacs -Q > > 2. M-x eval-expression `(setenv "PATH" (concat "C:/env" path-separator > (getenv "PATH")))` > > 3. M-x eshell > > 4. In the *eshell* window, type `echo $PATH`, but the path "C:/env" > doesn't show in the result. Thanks for the bug report. This is an intentionally-incompatible change in Eshell to improve behavior with remote systems via Tramp. Here's the relevant section from the Emacs 29 NEWS: > *** Eshell's PATH is now derived from 'exec-path'. > For consistency with remote connections, Eshell now uses 'exec-path' > to determine the execution path on the local or remote system, instead > of using the PATH environment variable directly. So instead, you want to do something like '(push "C:/env" exec-path)' in order to update the PATH in a way where Eshell sees it.
X-Loop: help-debbugs@HIDDEN Subject: bug#74550: eshell cannot set the environment variable PATH on Windows Resent-From: Siyuan Chen <chansey97@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: bug-gnu-emacs@HIDDEN Resent-Date: Wed, 27 Nov 2024 17:17:02 +0000 Resent-Message-ID: <handler.74550.B74550.173272779831553 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 74550 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Jim Porter <jporterbugs@HIDDEN> Cc: 74550 <at> debbugs.gnu.org Received: via spool by 74550-submit <at> debbugs.gnu.org id=B74550.173272779831553 (code B ref 74550); Wed, 27 Nov 2024 17:17:02 +0000 Received: (at 74550) by debbugs.gnu.org; 27 Nov 2024 17:16:38 +0000 Received: from localhost ([127.0.0.1]:34429 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1tGLeX-0008Cr-MI for submit <at> debbugs.gnu.org; Wed, 27 Nov 2024 12:16:38 -0500 Received: from mail-yw1-f179.google.com ([209.85.128.179]:57529) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <chansey97@HIDDEN>) id 1tGLeV-0008Ci-Q5 for 74550 <at> debbugs.gnu.org; Wed, 27 Nov 2024 12:16:36 -0500 Received: by mail-yw1-f179.google.com with SMTP id 00721157ae682-6ef0c64d75cso37400737b3.2 for <74550 <at> debbugs.gnu.org>; Wed, 27 Nov 2024 09:16:35 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1732727735; x=1733332535; darn=debbugs.gnu.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=7/sPUXr7+zk58+K8Yh2QJ4+NBDBsRu3cocw+nEBwlgA=; b=alFNb1GN8J1W/Bv/x7C9a9JB2muT/68qxfPffbe15GfwH89emz6e9WNGM2tQXFLsBa hg/bQ2Q3cu+6p6FAOTRdfRF5KH4mg++BCewVedW//3wDYLnNHTu7qiNPCYu1khqBqKDW 5uLOn5u0a3yKQjG1gYgq/dgMq3/TNVSk1kLE7mYb8cPkVT4F8peQ4Y2BAcpYpy5Ybb11 V1WwIM0Q/CG2r5f4PEgw+hHKVhQqtGwohE3cTJNZJ6avI0UZ25MdnZ3hnllMMlQ+61tn Q8Rw40Dptma2TJUCidBGuXumZed8q8aQnKPegyNDtLYeJ+aqzTFVv4/2B8t59cRFsSGn gZQQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1732727735; x=1733332535; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=7/sPUXr7+zk58+K8Yh2QJ4+NBDBsRu3cocw+nEBwlgA=; b=cBAxdNB72yP0eOobZF626rHO8+Kw9QNZQu3bbsN6veVSskwvMudc85xadtxo9i4uyv OjY8vd4ZnuxPgo1q8IYqYOGbtwLLfnOn1T5r6rZrC/QSiRGDcqKXQqwV2R9K581wlLer 9UF3kqWK+32rPzWT54DoOebSGVprfL0Zb6SjyfadJnOmGPUqy+GrjDCVejI9YGz/mxbX gOGr/i0gP9BhKx4oIMJ1hHPfSQYo066EgSf9BXrTKIZygdJ/WEoBARQYSI7DXXVd0U3h aegKt7JEdBcVgD1aMts5/xue3MAI8j8dPa/4pf4VNQDuoaIrVD9T94WymfeVp8lOzL6O rkEA== X-Gm-Message-State: AOJu0YwqD1zV6lL9i3WKTjWpGnI0ET8gVliyQmHBJjDNEtjHNJ7p6i4R lXInLzPhIfguWXGiabCW+aMHZQTuLjG+LMO8Iw/9x/2T0ISVeDS1g7QOUObSRbJJQ8v/txpwXrp rdtkFWSHEQFR+ninAIfZ50DPEr2U= X-Gm-Gg: ASbGncsnS25lDvfmKy6BTtiNcKXl3DLxWFIKBLqIOjxT067tirSqJaT71MDX+4cMJXP DBnwzYs2sMwExkubFjkOaBXiFG3jhNV9AaqndCtBiqFF/pVYWdhTRfEODvV/rFbc= X-Google-Smtp-Source: AGHT+IFfKSzzaYAK8mE+0r5+ktF3RAtpUKcQ2BMsawnyPxzPJyu5GfpSTOjIizSp9qUm9ACA5k5+cK8+LXNSssQ7VlA= X-Received: by 2002:a05:690c:74c2:b0:6ee:9ca0:aa32 with SMTP id 00721157ae682-6ef37289bd1mr46321707b3.36.1732727734894; Wed, 27 Nov 2024 09:15:34 -0800 (PST) MIME-Version: 1.0 References: <CAHWTsYnSNUYnBkoLGf+XfmfVZ9XebLq6EiCo3-K3HU47ObCuMw@HIDDEN> <c4ea213a-df40-b9ee-b555-6bb456da31cc@HIDDEN> In-Reply-To: <c4ea213a-df40-b9ee-b555-6bb456da31cc@HIDDEN> From: Siyuan Chen <chansey97@HIDDEN> Date: Thu, 28 Nov 2024 01:15:34 +0800 Message-ID: <CAHWTsYmgo983bESi8siYZCXc+3_Znsx=jRtKaz=RYxAFLpHoDA@HIDDEN> Content-Type: multipart/alternative; boundary="00000000000021880d0627e81d9e" X-Spam-Score: 0.3 (/) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -0.7 (/) --00000000000021880d0627e81d9e Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Dear Jim, It works, thanks. However, this seems to be a global setting only. Is there any equivalent of with-environment-variables for exec-path? For example, with regular shell, I can do something like: ``` (defun shell1 () (interactive) (let ((explicit-shell-file-name "cmdproxy") (current-prefix-arg 4)) (with-environment-variables (("PATH" (concat "C:/env1" path-separator (getenv "PATH")))) (call-interactively 'shell)) )) (defun shell2 () (interactive) (let ((explicit-shell-file-name "cmdproxy") (current-prefix-arg 4)) (with-environment-variables (("PATH" (concat "C:/env2" path-separator (getenv "PATH")))) (call-interactively 'shell)) )) ``` to create two *shell* buffers with different PATH "C:/env1" and "C:/env2". How to do the same thing in eshell? I have tried with the following code but it doesn't work as expected. ``` (defun eshell1() (interactive) (let ((exec-path (cons "C:/env1" (copy-sequence exec-path))) (current-prefix-arg "new")) (call-interactively 'eshell))) ``` ``` (defun eshell2() (interactive) (let ((exec-path (cons "C:/env2" (copy-sequence exec-path))) (current-prefix-arg "new")) (call-interactively 'eshell))) ``` M-x eshell1 and echo $PATH M-x eshell2 and echo $PATH The result is that the eshell1 buffer can show C:/env1, but eshell2 can not= . Thanks. Best regards, Siyuan Chen On Wed, Nov 27, 2024 at 5:14=E2=80=AFAM Jim Porter <jporterbugs@HIDDEN> = wrote: > On 11/26/2024 12:38 PM, Siyuan Chen wrote: > > Reproduce steps: > > > > 1. Emacs -Q > > > > 2. M-x eval-expression `(setenv "PATH" (concat "C:/env" path-separator > > (getenv "PATH")))` > > > > 3. M-x eshell > > > > 4. In the *eshell* window, type `echo $PATH`, but the path "C:/env" > > doesn't show in the result. > > Thanks for the bug report. This is an intentionally-incompatible change > in Eshell to improve behavior with remote systems via Tramp. Here's the > relevant section from the Emacs 29 NEWS: > > > *** Eshell's PATH is now derived from 'exec-path'. > > For consistency with remote connections, Eshell now uses 'exec-path' > > to determine the execution path on the local or remote system, instead > > of using the PATH environment variable directly. > > So instead, you want to do something like '(push "C:/env" exec-path)' in > order to update the PATH in a way where Eshell sees it. > > --00000000000021880d0627e81d9e Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable <div dir=3D"ltr"><div>Dear Jim,<br></div><div dir=3D"ltr"><br></div><div di= r=3D"ltr">It works, thanks.<br><br>However, this seems to be a global setti= ng only. Is there any equivalent of with-environment-variables for exec-pat= h? <br><br>For example, with regular shell, I can do something like:<br><br= >```<br>(defun shell1 ()<br>=C2=A0 (interactive)<br>=C2=A0 (let ((explicit-= shell-file-name "cmdproxy")<br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 (curre= nt-prefix-arg 4))<br>=C2=A0 =C2=A0 (with-environment-variables (("PATH= " (concat "C:/env1" path-separator (getenv "PATH")= )))<br>=C2=A0 =C2=A0 =C2=A0 (call-interactively 'shell))<br>=C2=A0 =C2= =A0 ))<br><br>(defun shell2 ()<br>=C2=A0 (interactive)<br>=C2=A0 (let ((exp= licit-shell-file-name "cmdproxy")<br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 = (current-prefix-arg 4))<br>=C2=A0 =C2=A0 (with-environment-variables ((&quo= t;PATH" (concat "C:/env2" path-separator (getenv "PATH&= quot;))))<br>=C2=A0 =C2=A0 =C2=A0 (call-interactively 'shell))<br>=C2= =A0 =C2=A0 ))<br>```<br>=C2=A0<br>to create two *shell* buffers with differ= ent PATH "C:/env1" and "C:/env2".</div><div dir=3D"ltr"= ><br></div><div dir=3D"ltr">How to do the same thing in eshell?</div><div d= ir=3D"ltr"><br></div><div dir=3D"ltr">I have tried with the following code = but it doesn't work as expected. <br>=C2=A0<br>=C2=A0```<br>=C2=A0(defu= n eshell1()<br>=C2=A0 (interactive)<br>=C2=A0 (let ((exec-path (cons "= C:/env1" (copy-sequence exec-path)))<br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 (c= urrent-prefix-arg "new"))<br>=C2=A0 =C2=A0 (call-interactively &#= 39;eshell)))<br>=C2=A0```<br>=C2=A0<br>=C2=A0```<br>=C2=A0(defun eshell2()<= br>=C2=A0 (interactive)<br>=C2=A0 (let ((exec-path (cons "C:/env2"= ; (copy-sequence exec-path)))<br>=C2=A0 =C2=A0 =C2=A0 =C2=A0 (current-prefi= x-arg "new"))<br>=C2=A0 =C2=A0 (call-interactively 'eshell)))= <br>=C2=A0```<br>=C2=A0<br>M-x eshell1 and echo $PATH<br><br>M-x eshell2 an= d echo $PATH<br>=C2=A0</div><div dir=3D"ltr">The result is that the=20 eshell1=20 buffer can show C:/env1, but eshell2 can not.<div><span class=3D"gmail-HwtZ= e" lang=3D"en"></span> <br></div><div> <div>Thanks.</div><div><br></div><div>Best regards,</div><div>Siyuan Chen</= div> </div></div><br><div class=3D"gmail_quote"><div dir=3D"ltr" class=3D"gmail_= attr">On Wed, Nov 27, 2024 at 5:14=E2=80=AFAM Jim Porter <<a href=3D"mai= lto:jporterbugs@HIDDEN">jporterbugs@HIDDEN</a>> wrote:<br></div><b= lockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-le= ft:1px solid rgb(204,204,204);padding-left:1ex">On 11/26/2024 12:38 PM, Siy= uan Chen wrote:<br> > Reproduce steps:<br> > <br> > 1. Emacs -Q<br> > <br> > 2. M-x eval-expression `(setenv "PATH" (concat "C:/env&= quot; path-separator <br> > (getenv "PATH")))`<br> > <br> > 3. M-x eshell<br> > <br> > 4. In the *eshell* window, type `echo $PATH`, but the path "C:/en= v" <br> > doesn't show in the result.<br> <br> Thanks for the bug report. This is an intentionally-incompatible change <br= > in Eshell to improve behavior with remote systems via Tramp. Here's the= <br> relevant section from the Emacs 29 NEWS:<br> <br> > *** Eshell's PATH is now derived from 'exec-path'.<br> > For consistency with remote connections, Eshell now uses 'exec-pat= h'<br> > to determine the execution path on the local or remote system, instead= <br> > of using the PATH environment variable directly.<br> <br> So instead, you want to do something like '(push "C:/env" exe= c-path)' in <br> order to update the PATH in a way where Eshell sees it.<br> <br> </blockquote></div></div> --00000000000021880d0627e81d9e--
X-Loop: help-debbugs@HIDDEN Subject: bug#74550: eshell cannot set the environment variable PATH on Windows Resent-From: Jim Porter <jporterbugs@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: bug-gnu-emacs@HIDDEN Resent-Date: Wed, 27 Nov 2024 18:54:02 +0000 Resent-Message-ID: <handler.74550.B74550.173273363116569 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 74550 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Siyuan Chen <chansey97@HIDDEN> Cc: 74550 <at> debbugs.gnu.org Received: via spool by 74550-submit <at> debbugs.gnu.org id=B74550.173273363116569 (code B ref 74550); Wed, 27 Nov 2024 18:54:02 +0000 Received: (at 74550) by debbugs.gnu.org; 27 Nov 2024 18:53:51 +0000 Received: from localhost ([127.0.0.1]:34552 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1tGNAc-0004JB-Kz for submit <at> debbugs.gnu.org; Wed, 27 Nov 2024 13:53:50 -0500 Received: from mail-pl1-f178.google.com ([209.85.214.178]:46170) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <jporterbugs@HIDDEN>) id 1tGNAb-0004J1-KH for 74550 <at> debbugs.gnu.org; Wed, 27 Nov 2024 13:53:50 -0500 Received: by mail-pl1-f178.google.com with SMTP id d9443c01a7336-20cf3e36a76so241125ad.0 for <74550 <at> debbugs.gnu.org>; Wed, 27 Nov 2024 10:53:49 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1732733568; x=1733338368; darn=debbugs.gnu.org; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:mime-version:date:message-id:from:to:cc :subject:date:message-id:reply-to; bh=WBswkJW3w7NxTqBCuD5yIRhsLI1gX8JFkY23Sdb2iLY=; b=FgKfljcCghTkHIecZu6d18MTwNFvz0KLqcsvM/VolTZTR3UOKdhMxCCmCAjemewsqV eUSGLbdsxVOKxw8rK2maIOQIVAi3kQGMDSRYQ3CNQWNatmhRcsXDfU1Akil/R8DGAiIU rhe4PNkM859CZ1R81QfSEltqBvVTsoFtM3kO0Cn+xJ3EyreDK9rjtK2vBrlRzYJ46WUK OHjaFrRqK5U3cveaTT/MLLguSbiQVqh/xwWZpReFRIde2zbUJ52fCXSvaO0lYnyxsQlU stXHySidS7XMO2FNDvLzd57eoxNXHCNN1atChyYU4L71sElh3hj5Hf1t2zo/+TYkLH1i bLdg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1732733568; x=1733338368; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=WBswkJW3w7NxTqBCuD5yIRhsLI1gX8JFkY23Sdb2iLY=; b=lRYJVvlnEPaSBQNbYWZ1NTrJxztcyXHBT3q2rhz4tc3xVXLqj+R3tyTJdK4edZAL+Y TyDnWc00K8l5IX3kLg8sBuuCgyHvFePMp7QfD7V9hgcAeCCSSz1m7EDMVPVOLGCtWftj wTW3mg12+MX1GRuYK+8SVAeKiFhI8nB+vIivSC4Hvs7r+Gancf8wIbIFkozOJ0EKfLKM aUUQHTirAdXchIGkBtKsJQ3afGhrsmlQw+uQZ77mDELKSXfjQUMugpx6Jzwve4JaIyUm 09ble9YFKcWP/qghE9jQfgqgMUuUPlfUrYve84RSSOhz7aiNaA2FY2wAOEoJt7Raqul0 hhEQ== X-Gm-Message-State: AOJu0YwrTWZ1pW+0n3l+zeadmIvsPj6SIjQUGnuyEiSXEVHsk+y6iJ0G tj7fk6PLg9z++6KSi0uMr142fwLgWRWwOMixK6ik2jJTDtNWHODD X-Gm-Gg: ASbGncs9lzbNXgliBTIM4HzF6Dtlk73T0SMbCEj56WDWownZgkH1QwX0WZMwQrnfQWM PFwz+a7ngsf95tDGq8eaMG79V4/saep/WgWQQqd9C2e8m61X/BXP/zI14Y4VuWaaFEV7sDoS2lq ZhvWo/AZuYsWze2Vnfv7E7JgfuCLCJDx1z8RnVOaypHoPangKTxUdxOrVlPd8r9PlXPEKl/ec6r gQuP8TyaDoDuJpHmSAeNgz04VyDcDVOKDzkxPgAjKkms6DNcA5CnsmmIXuhFG8RLedYLcqIIZu+ 283wHTxyHPNSCTp4+rY64pSXYEk= X-Google-Smtp-Source: AGHT+IFUJhdhvyPTDJpTHcyiNAmfFkvkhyM4AgPCkMUEjN8vmB5KvKWC6Dx3RkkwwVQ//FOHyj8u8A== X-Received: by 2002:a17:903:41d1:b0:20c:5fd7:d71 with SMTP id d9443c01a7336-2150128abb4mr48074585ad.22.1732733568456; Wed, 27 Nov 2024 10:52:48 -0800 (PST) Received: from [192.168.1.2] (syn-023-240-098-037.res.spectrum.com. [23.240.98.37]) by smtp.googlemail.com with ESMTPSA id d9443c01a7336-2129db8c404sm106490975ad.40.2024.11.27.10.52.47 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 27 Nov 2024 10:52:48 -0800 (PST) Message-ID: <cb451250-b09e-302b-18b0-4597400af27e@HIDDEN> Date: Wed, 27 Nov 2024 10:52:47 -0800 MIME-Version: 1.0 Content-Language: en-US References: <CAHWTsYnSNUYnBkoLGf+XfmfVZ9XebLq6EiCo3-K3HU47ObCuMw@HIDDEN> <c4ea213a-df40-b9ee-b555-6bb456da31cc@HIDDEN> <CAHWTsYmgo983bESi8siYZCXc+3_Znsx=jRtKaz=RYxAFLpHoDA@HIDDEN> From: Jim Porter <jporterbugs@HIDDEN> In-Reply-To: <CAHWTsYmgo983bESi8siYZCXc+3_Znsx=jRtKaz=RYxAFLpHoDA@HIDDEN> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) On 11/27/2024 9:15 AM, Siyuan Chen wrote: > It works, thanks. > > However, this seems to be a global setting only. Is there any equivalent > of with-environment-variables for exec-path? Not exactly. However, you can use setq-local or eshell/addpath: (defun shell1 () (interactive) (let ((current-prefix-arg 4)) (call-interactively 'shell) (setq-local exec-path (cons "C:/foo" exec-path)) ;; or ... (eshell/addpath "-b" "C:/foo"))) That's probably the best way to do it for now. I think it's probably reasonable for Eshell to work correctly when you've let-bound 'exec-path' like in your examples, but I'll have to think about the best way to do it.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997 nCipher Corporation Ltd,
1994-97 Ian Jackson.