GNU logs - #79413, boring messages


Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#79413: [PATCH] Fix path and environment in remote Python shell
Resent-From: Liu Hui <liuhui1610@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Tue, 09 Sep 2025 09:54:01 +0000
Resent-Message-ID: <handler.79413.B.175741163731240 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: report 79413
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch
To: 79413 <at> debbugs.gnu.org
X-Debbugs-Original-To: bug-gnu-emacs@HIDDEN
Received: via spool by submit <at> debbugs.gnu.org id=B.175741163731240
          (code B ref -1); Tue, 09 Sep 2025 09:54:01 +0000
Received: (at submit) by debbugs.gnu.org; 9 Sep 2025 09:53:57 +0000
Received: from localhost ([127.0.0.1]:57717 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1uvv2x-00087W-9d
	for submit <at> debbugs.gnu.org; Tue, 09 Sep 2025 05:53:57 -0400
Received: from lists.gnu.org ([2001:470:142::17]:58496)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <liuhui1610@HIDDEN>)
 id 1uvv2n-00086g-2N
 for submit <at> debbugs.gnu.org; Tue, 09 Sep 2025 05:53:46 -0400
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 <liuhui1610@HIDDEN>)
 id 1uvv2c-0000Mg-W6
 for bug-gnu-emacs@HIDDEN; Tue, 09 Sep 2025 05:53:37 -0400
Received: from mail-pl1-x635.google.com ([2607:f8b0:4864:20::635])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.90_1) (envelope-from <liuhui1610@HIDDEN>)
 id 1uvv2W-0003AX-O4
 for bug-gnu-emacs@HIDDEN; Tue, 09 Sep 2025 05:53:34 -0400
Received: by mail-pl1-x635.google.com with SMTP id
 d9443c01a7336-24cbd9d9f09so71491825ad.2
 for <bug-gnu-emacs@HIDDEN>; Tue, 09 Sep 2025 02:53:25 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1757411603; x=1758016403; darn=gnu.org;
 h=mime-version:message-id:date:subject:to:from:from:to:cc:subject
 :date:message-id:reply-to;
 bh=E5hC0cC2r2A9exIKx3XjO8avXdu2EyV4g98//OOPRk8=;
 b=Rp5Hhj35MQ8m+HQzImfx2ByNKxrYx2tQHIsR+2xKwX0BqrAOLla3CBzwY6ZncsnOm9
 7iTqapKlHZHNrhQkRmW3fbmc/1OU3gqdsK7z7+oQKKGRVQlPFIrB6/rxU7vzjpfb6ck5
 5UBvDBYsVBDcpVHn3U7EBG8xWwb8MxpibCwiDGXenhyK7B4pJ8mLoW+DEyquilkovfL3
 cW3sntnt7UHXGu6kztcJ97vepxOcyQBwX+L7FvgV43D3mO33oGsZ9DbbmfmyZRYz9jJX
 12AnX1RPOgeDd9gC1CGQlcSZm5wDFRrP9NE5sDQFWxRDKdIdNHcpBz19mH3eTx47doP9
 UEfg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1757411603; x=1758016403;
 h=mime-version:message-id:date:subject:to:from:x-gm-message-state
 :from:to:cc:subject:date:message-id:reply-to;
 bh=E5hC0cC2r2A9exIKx3XjO8avXdu2EyV4g98//OOPRk8=;
 b=d/cZUDpqzZPlSdL5rm0pgmNtT86WILOlNazQ3aCEsyckcrQLBYz60oFVcaI8yrOwRZ
 VaxeT6BtdaT/PlKXtdtNTQ++ae+6pMEZGbm2l9HtseyVMNsluDkdMYaRQznvL4NgKIGq
 MbxvNv7XL+CON+78TdglgyuYKKMhVSsLtA2KY5pXxwHkoSopRk9DIgt2qmkO+mDnZw2q
 19Xo+aNmoVOCN/WKYXGztIYLrjDGsRTggFni47C9g2DVscxkKz2BXUJucGfS90l0T35Y
 S1y7ugldY30Tau635p0+j2WsrShZkfcnneVD/zg0ziR9VnCI9vowQHmY8fdsRnwQZvDj
 yHfw==
X-Gm-Message-State: AOJu0YxyeyUmiNwmP/uGDbyDaOitvizn487X23aP71ibkkf8ljBxXacp
 UnGKHF5lxzMDPByoSp+NTgsdx1fX7LwQl5XxYKlyiuZxKpZqAVDkirAp+IuMKibW
X-Gm-Gg: ASbGncu9rXaFQoe/2R3RDdbDbFsr0PPXdwIq7kNfu8To+2TtJ2xfrQ65muLrf+sO71W
 mPF+bqw8GGrtNkmVcxpY15WV7my76SthQJv4aQO2yA2qJBhluWyzcFNMUPSvzewZ+RrBjDItZzL
 1q1vrxe4J8HOfY1md6I2uJmq2dPpKx+3RIr0AIKpTeITwMAboJwFNTzxO2THEehs6YnQQ1DVAzV
 GOnc6WHMme8jb6ZERq+9xUcWJ8Wa/6hv3RFAivR8lALEW/3ttb4xzvX6SzIbMns8Ul07uZnxSBE
 9UT75NTfqtqHEBSiT8w1cf6cFPv4GWP0oG3K8lvLHb7//nu4W4Zmofo0Q1hZH2i9C/D1luYfD0X
 KRTgXDo7lWfgqIRWtXUk=
X-Google-Smtp-Source: AGHT+IGFutbvcdMLCfFzAIR7lBxost5++FcmWTVGW7ANWCQ79SXenF9dF1vbtJmY8zODSV4u3LCJYg==
X-Received: by 2002:a17:902:c951:b0:256:9c51:d752 with SMTP id
 d9443c01a7336-2569c51dc30mr93682395ad.56.1757411602889; 
 Tue, 09 Sep 2025 02:53:22 -0700 (PDT)
Received: from localhost ([58.56.112.164]) by smtp.gmail.com with ESMTPSA id
 d9443c01a7336-24cf4b1c906sm118163865ad.87.2025.09.09.02.53.20
 for <bug-gnu-emacs@HIDDEN>
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 09 Sep 2025 02:53:22 -0700 (PDT)
From: Liu Hui <liuhui1610@HIDDEN>
Date: Tue, 09 Sep 2025 17:53:11 +0800
Message-ID: <874itcne9k.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="=-=-="
Received-SPF: pass client-ip=2607:f8b0:4864:20::635;
 envelope-from=liuhui1610@HIDDEN; helo=mail-pl1-x635.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,
 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.2 (+)
X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org",
 has NOT identified this incoming email as spam.  The original
 message has been attached to this so you can view it or label
 similar future email.  If you have any questions, see
 the administrator of that system for details.
 Content preview: Tags: patch Options such as python-shell-exec-path and
 python-shell-process-environment
 may not be applied for remote Python shell: (1) create a python virtual
 environment on the remote host: 
 Content analysis details:   (1.2 points, 10.0 required)
 pts rule name              description
 ---- ---------------------- --------------------------------------------------
 -0.0 RCVD_IN_DNSWL_NONE     RBL: Sender listed at https://www.dnswl.org/,
 no trust [2001:470:142:0:0:0:0:17 listed in] [list.dnswl.org]
 -0.0 SPF_HELO_PASS          SPF: HELO matches SPF record
 0.0 FREEMAIL_FROM          Sender email is commonly abused enduser mail
 provider (liuhui1610[at]gmail.com)
 1.0 SPF_SOFTFAIL           SPF: sender does not match SPF record (softfail)
 0.2 FREEMAIL_ENVFROM_END_DIGIT Envelope-from freemail username ends
 in digit (liuhui1610[at]gmail.com)
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.2 (/)

--=-=-=
Content-Type: text/plain

Tags: patch


Options such as python-shell-exec-path and
python-shell-process-environment may not be applied for remote Python
shell:

(1) create a python virtual environment on the remote host:

$ python3 -m venv /tmp/test_venv

(2) emacs -Q and then eval the following code:

  --8<---------------cut here---------------start------------->8---
    (require 'python)
    (require 'tramp)

    (setq remote-dir "/ssh:<remote>:~/")

    ;; use the remote virtual environment by setting
    ;; python-shell-exec-path, python-shell-remote-exec-path, or
    ;; python-shell-virtualenv-root
    (setq python-shell-exec-path (list "/tmp/test_venv/bin"))

    ;; set environment variables for remote Python process
    (setq python-shell-process-environment '("FOO=1"))

    ;; python-shell-process-environment is not applied remotely when
    ;; connection-local tramp-remote-process-environment is used
    (connection-local-set-profile-variables
     'test
     `((tramp-remote-process-environment
        . ,(append
            '("BAR=bar")
            tramp-remote-process-environment))))
    (connection-local-set-profiles
     `(:application tramp :machine ,(file-remote-p remote-dir 'host))
     'test)

    (find-file remote-dir)
  --8<---------------cut here---------------end--------------->8---

(3) M-x run-python

(4) type 'import sys; sys.executable' in the remote python shell

The expected output is '/tmp/test_venv/bin/python', but the actual
output is '/bin/python'.

In emacs 30 and earlier version, the result is correct, with a side
effect that the remote path is changed globally, i.e. (exec-path) in
other remote buffers also contains "/tmp/test_venv/bin".

(5) type 'import os; os.environ.get("FOO")' in the python shell

The result should be '1', but there is no output.


This patch fixes python-shell--tramp-with-environment and adds tests.
The python-tests-remote-path-1 test needs a real ssh remote connection
like REMOTE_TEMPORARY_FILE_DIRECTORY=/ssh:remote:/tmp/.


There is still a corner case: if python-shell-process-environment
contains an environment variable that already exists in the default
process-environment, the environment variable is not applied by tramp
for the remote Python shell. For example, the following test fails:

FOO=1 REMOTE_TEMPORARY_FILE_DIRECTORY=/ssh:remote:/tmp/ \
  make python-tests SELECTOR='"python-tests-remote-env"'

where FOO=1 is in both python-shell-process-environment and default
process-environment. This issue may need to be addressed in tramp.



--=-=-=
Content-Type: text/patch
Content-Disposition: attachment;
 filename=0001-Fix-path-and-environment-in-remote-Python-shell.patch

From aa42cfba252e6fc2c451c7404c9b409250dcd09c Mon Sep 17 00:00:00 2001
From: Liu Hui <liuhui1610@HIDDEN>
Date: Tue, 9 Sep 2025 17:37:50 +0800
Subject: [PATCH] Fix path and environment in remote Python shell

* lisp/progmodes/python.el
(python-shell-tramp-refresh-remote-path)
(python-shell-tramp-refresh-process-environment): Obsolete.
(python-shell--tramp-with-environment): Fix remote exec-path and
process-environment.
* test/lisp/progmodes/python-tests.el
(python-tests-remote-enabled, python-tests-remote-environment-1)
(python-tests-remote-environment-2, python-tests-remote-path-1):
Add new function and tests.
(python--tests-process-env-eql, python-shell-with-environment-2):
Update test.
---
 lisp/progmodes/python.el            | 46 ++++++++-------
 test/lisp/progmodes/python-tests.el | 92 ++++++++++++++++++++++++++---
 2 files changed, 110 insertions(+), 28 deletions(-)

diff --git a/lisp/progmodes/python.el b/lisp/progmodes/python.el
index e5cc3b0078b..c9c751dbf24 100644
--- a/lisp/progmodes/python.el
+++ b/lisp/progmodes/python.el
@@ -3062,6 +3062,7 @@ python-shell-calculate-exec-path
 
 (defun python-shell-tramp-refresh-remote-path (vec paths)
   "Update VEC's remote-path giving PATHS priority."
+  (declare (obsolete nil "31.1")) ; Not used.
   (cl-assert (featurep 'tramp))
   (declare-function tramp-set-remote-path "tramp-sh")
   (declare-function tramp-set-connection-property "tramp-cache")
@@ -3076,6 +3077,7 @@ python-shell-tramp-refresh-remote-path
 
 (defun python-shell-tramp-refresh-process-environment (vec env)
   "Update VEC's process environment with ENV."
+  (declare (obsolete nil "31.1")) ; Not used.
   (cl-assert (featurep 'tramp))
   (defvar tramp-end-of-heredoc)
   (defvar tramp-end-of-output)
@@ -3139,28 +3141,30 @@ python-shell--with-environment
         (funcall bodyfun)))))
 
 (defun python-shell--tramp-with-environment (vec extraenv bodyfun)
-  (defvar tramp-remote-process-environment)
   (declare-function tramp-get-connection-process "tramp" (vec))
-  (let* ((tramp-remote-process-environment
-          (append extraenv tramp-remote-process-environment)))
-    (when (tramp-get-connection-process vec)
-      ;; For already existing connections, the new exec path must
-      ;; be re-set, otherwise it won't take effect.  One example
-      ;; of such case is when remote dir-locals are read and
-      ;; *then* subprocesses are triggered within the same
-      ;; connection.
-      (python-shell-tramp-refresh-remote-path
-       ;; FIXME: This is still Python-specific.
-       vec (python-shell-calculate-exec-path))
-      ;; The `tramp-remote-process-environment' variable is only
-      ;; effective when the started process is an interactive
-      ;; shell, otherwise (like in the case of processes started
-      ;; with `process-file') the environment is not changed.
-      ;; This makes environment modifications effective
-      ;; unconditionally.
-      (python-shell-tramp-refresh-process-environment
-       vec tramp-remote-process-environment))
-    (funcall bodyfun)))
+  (declare-function tramp-get-remote-path "tramp-sh" (vec))
+  (eval-when-compile (require 'tramp-cache))
+  ;; FIXME: If extraenv is in the global default `process-environment',
+  ;; it will not be set for the remote Python process, because TRAMP
+  ;; only applies environment variables not present in the global
+  ;; default value of `process-environment'.
+  (let ((process-environment
+         (append (cl-loop for x in extraenv
+                          unless (member x process-environment)
+                          collect x)
+                 process-environment)))
+    ;; FIXME: This is still Python-specific.
+    (if-let* ((path (python-shell-calculate-exec-path))
+              (key (tramp-get-connection-process vec)))
+        ;; Do not override global remote path.
+        (with-tramp-saved-connection-property key "remote-path"
+          (let ((r-path (tramp-get-remote-path vec)))
+            (if r-path
+                (python-shell--add-to-path-with-priority r-path path)
+              (setq r-path path))
+            (tramp-set-connection-property key "remote-path" r-path))
+          (funcall bodyfun))
+      (funcall bodyfun))))
 
 (defvar python-shell--prompt-calculated-input-regexp nil
   "Calculated input prompt regexp for inferior python shell.
diff --git a/test/lisp/progmodes/python-tests.el b/test/lisp/progmodes/python-tests.el
index b9130da495d..698665edcc2 100644
--- a/test/lisp/progmodes/python-tests.el
+++ b/test/lisp/progmodes/python-tests.el
@@ -23,6 +23,7 @@
 
 (require 'cl-extra)
 (require 'ert)
+(require 'tramp)
 (require 'ert-x)
 (require 'python)
 
@@ -31,6 +32,18 @@
 (require 'hideshow)
 (require 'tramp-sh)
 
+(defun python-tests-remote-enabled (&optional method)
+  "Whether remote file access is enabled via METHOD."
+  (ignore-errors
+    (and
+     (file-remote-p ert-remote-temporary-file-directory)
+     (file-directory-p ert-remote-temporary-file-directory)
+     (file-writable-p ert-remote-temporary-file-directory)
+     (if method
+         (with-parsed-tramp-file-name
+             ert-remote-temporary-file-directory v
+           (equal method v-method))
+       t))))
 
 (defmacro python-tests-with-temp-buffer (contents &rest body)
   "Create a `python-mode' enabled temp buffer with CONTENTS.
@@ -4095,10 +4108,6 @@ python--tests-process-env-canonical
         (setenv x nil)))
     process-environment))
 
-(defun python--tests-process-env-eql (pe1 pe2)
-  (equal (python--tests-process-env-canonical pe1)
-         (python--tests-process-env-canonical pe2)))
-
 (ert-deftest python-shell-with-environment-2 ()
   "Test environment with remote `default-directory'."
   (let* ((default-directory "/ssh::/example/dir/")
@@ -4116,9 +4125,7 @@ python-shell-with-environment-2
              (append (python-shell--calculate-process-environment)
                      tramp-remote-process-environment)))
         (should (not (getenv "PYTHONHOME")))
-        (should (string= (getenv "VIRTUAL_ENV") "/env"))
-        (should (python--tests-process-env-eql
-                 tramp-remote-process-environment process-environment))))
+        (should (string= (getenv "VIRTUAL_ENV") "/env"))))
     (should (equal tramp-remote-process-environment
                    original-process-environment))))
 
@@ -4139,6 +4146,77 @@ python-shell-with-environment-3
                      process-environment))))))
     (should (equal single-call nested-call))))
 
+(ert-deftest python-tests-remote-environment-1 ()
+  "Test `python-shell-process-environment' in remote environment."
+  (skip-unless (python-tests-remote-enabled))
+  (let ((default-directory ert-remote-temporary-file-directory)
+        (python-shell-process-environment '("FOO=1"))
+        (tramp-allow-unsafe-temporary-files t))
+    (python-tests-with-temp-buffer-with-shell-interpreter
+     nil
+     ""
+     (should (equal (python-shell-send-string-no-output
+                     "import os; os.environ.get('FOO')")
+                    "'1'")))))
+
+(ert-deftest python-tests-remote-environment-2 ()
+  "Test `python-shell-process-environment' and
+`tramp-remote-process-environment' in remote environment."
+  (skip-unless (python-tests-remote-enabled))
+  (let ((default-directory ert-remote-temporary-file-directory)
+        (python-shell-process-environment '("FOO=1"))
+        (tramp-allow-unsafe-temporary-files t)
+        (clpa connection-local-profile-alist)
+	(clca connection-local-criteria-alist))
+    (unwind-protect
+        (progn
+          (connection-local-set-profile-variables
+           'test
+           `((tramp-remote-process-environment
+              . ,(append
+                  '("BAR=1")
+                  tramp-remote-process-environment))))
+          (connection-local-set-profiles
+           `(:application tramp :machine ,(file-remote-p default-directory 'host))
+           'test)
+          (python-tests-with-temp-buffer-with-shell-interpreter
+           nil
+           ""
+           (should (equal (python-shell-send-string-no-output
+                           "import os; os.environ.get('BAR')")
+                          "'1'"))
+           (should (equal (python-shell-send-string-no-output
+                           "os.environ.get('FOO')")
+                          "'1'"))))
+      ;; Cleanup.
+      (custom-set-variables
+       `(connection-local-profile-alist ',clpa now)
+       `(connection-local-criteria-alist ',clca now)))))
+
+(ert-deftest python-tests-remote-path-1 ()
+  "Test remote path for python shell."
+  (skip-unless (python-tests-remote-enabled "ssh"))
+  (let* ((default-directory ert-remote-temporary-file-directory)
+         (tramp-remote-path (append '(tramp-own-remote-path) tramp-remote-path))
+         (tramp-allow-unsafe-temporary-files t)
+         (python-abs-path (executable-find python-shell-interpreter t)))
+    (skip-unless python-abs-path)
+    (let* ((temporary-file-directory default-directory)
+           (tmp-dir (make-temp-file "python-test" t))
+           (python-shell-interpreter (file-name-nondirectory python-abs-path))
+           (link (expand-file-name python-shell-interpreter tmp-dir))
+           (python-shell-exec-path (list (file-local-name tmp-dir))))
+      (unwind-protect
+          (progn
+            (make-symbolic-link
+             (concat (file-remote-p default-directory) python-abs-path) link)
+            (python-tests-with-temp-buffer-with-shell
+             ""
+             (should (equal (format "'%s'" (file-local-name link))
+                            (python-shell-send-string-no-output
+                             "import sys; sys.executable")))))
+        (delete-directory tmp-dir t)))))
+
 (ert-deftest python-shell-make-comint-1 ()
   "Check comint creation for global shell buffer."
   ;; The interpreter can get killed too quickly to allow it to clean
-- 
2.25.1


--=-=-=--




Message sent:


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: Liu Hui <liuhui1610@HIDDEN>
Subject: bug#79413: Acknowledgement ([PATCH] Fix path and environment in
 remote Python shell)
Message-ID: <handler.79413.B.175741163731240.ack <at> debbugs.gnu.org>
References: <874itcne9k.fsf@HIDDEN>
X-Gnu-PR-Message: ack 79413
X-Gnu-PR-Package: emacs
X-Gnu-PR-Keywords: patch
Reply-To: 79413 <at> debbugs.gnu.org
Date: Tue, 09 Sep 2025 09:54: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 79413 <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
79413: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D79413
GNU Bug Tracking System
Contact help-debbugs@HIDDEN with problems


Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#79413: [PATCH] Fix path and environment in remote Python shell
Resent-From: Michael Albinus <michael.albinus@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Tue, 09 Sep 2025 13:02:01 +0000
Resent-Message-ID: <handler.79413.B79413.175742289221951 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 79413
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch
To: Liu Hui <liuhui1610@HIDDEN>
Cc: 79413 <at> debbugs.gnu.org
Received: via spool by 79413-submit <at> debbugs.gnu.org id=B79413.175742289221951
          (code B ref 79413); Tue, 09 Sep 2025 13:02:01 +0000
Received: (at 79413) by debbugs.gnu.org; 9 Sep 2025 13:01:32 +0000
Received: from localhost ([127.0.0.1]:58525 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1uvxyV-0005hw-MD
	for submit <at> debbugs.gnu.org; Tue, 09 Sep 2025 09:01:31 -0400
Received: from mout.gmx.net ([212.227.17.21]:46917)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <michael.albinus@HIDDEN>)
 id 1uvxyQ-0005h9-7F
 for 79413 <at> debbugs.gnu.org; Tue, 09 Sep 2025 09:01:28 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.de;
 s=s31663417; t=1757422878; x=1758027678; i=michael.albinus@HIDDEN;
 bh=Y1CspV+bC/WOkQecFWOlK3Fqx6BBCvr5N1DHj1pwXeE=;
 h=X-UI-Sender-Class:From:To:Cc:Subject:In-Reply-To:References:Date:
 Message-ID:MIME-Version:Content-Type:cc:content-transfer-encoding:
 content-type:date:from:message-id:mime-version:reply-to:subject:
 to;
 b=JlRg15Kc8z88lTl2WKrwRp3R2ZZ6vpBdRJwyarHIfVdUQfIskykbio4uMbmfDjVX
 Wfr+PcBDPYuDsGus7+HQrWadalP/B6zH3cAdH1ht6CN4AacgMNqoK3RoWiqB1/dSs
 IXPhsCmpPLoaB0ktlnThyrtlA0LHhX6JCo/SiVbRjEn7w+vDMICoJz6m0pL/cmo4X
 6IUUvssGssIcl3pHPpVHfsEykfXhyo4oGhebhECMO2X958VhA46+40t1qQ6Kwekxj
 TqnoyXyCkVioWn42mg7wG6TBjqE9uFndEuhzZXQfCb1n//ud4P/p2mEiqMfx1cle6
 pARauLC0ALww5DJDqg==
X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a
Received: from gandalf.gmx.de ([185.89.37.61]) by mail.gmx.net (mrgmx105
 [212.227.17.168]) with ESMTPSA (Nemesis) id 1MPGRp-1umQnT3P8X-00LzZq; Tue, 09
 Sep 2025 15:01:18 +0200
From: Michael Albinus <michael.albinus@HIDDEN>
In-Reply-To: <874itcne9k.fsf@HIDDEN>
References: <874itcne9k.fsf@HIDDEN>
Date: Tue, 09 Sep 2025 15:01:18 +0200
Message-ID: <87wm67zso1.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-Provags-ID: V03:K1:YPbDiM92XemOV+EAdMUdAP5btGGmTHYFlITIrXs3Jk53U7AeubU
 kRn8XLsN6eaFDO+xpSbJP+4cqy33EPv/51Se5PbFYy3s3ckTLgcOrBut1XQttCuu3ZO1s8c
 +SSIOA5n4K93LQYCYpJPLQdTqsewyXP81YU6NofxNtTOZYj+Ajcuk18ZNtrd0fJ2tfKJ4zi
 rHOO+AExDKV2Tyir68npA==
X-Spam-Flag: NO
UI-OutboundReport: notjunk:1;M01:P0:EH+ZpOBmdY0=;7eRWesyNV2HL+y16UmemTDb2Z0h
 e3AcfTrdXWooWNNdqp/MIDn0FKmh2AvAG7h9+BmRhb3xcpwQlhlz8YWP8ZG5rvZpFjrcXx8HH
 2zYKAA00iClgfsAmJnAkXcaWmPcQY17uTyQ+0pIkuCPaXKFz64rpqAK97L7Gfr68d3sZQYcYs
 uiuq/UTkiVBuVzdlwVMyJXSu6OSHjnPB8yxu69vKO8FMztSYcIAWf10cq90i7FvU2Ua8h2fcR
 smzJOYbwIddrkePURupFdqbWUezdja68zu/d1q/zy5WnJF53P4ew+I4LNcHqKzGpPMY15SJim
 tVIY4WEEPS2wiiTs/JMMtDOXBS703mWrlnu0H/X0I5hA8EfDr1iu+0QPHaU0Gm7e9DwksM7AG
 kucYJhTTtiMKBydfLyrncKxkCrTCWXwq5oebiMtLwsP7zBmA3OxpHCEI3np6fTCudqC/e0N4w
 o3Q0TNpHvZpGtH/ZwVV/oW+iY02yk4t/wqeh2RtVQBhTwnkqMMRnTDRrmJUJMcbKSgdW6nJ7x
 tohADBDd80kzxc54xJa5zrU+VhDlzSgXVtS3Gtj75HvwFIZShJUDtUo4WSdhbge5QYAFot4gN
 0jPWYumldT0udrMnjTp3l87BhqFW/7qJFYeo3EvKapIqzwtMJDmiGgBSztcA6ubyYfHQZq4hE
 /f+0gf5Fs4pYIU384vT04Uld/slyUjovMH1vsURWeeh5x1xvtpGbvqCs0U1649/QIZQcV83vu
 l3PdsWEqgHFCGerjJfN2ln+YMEt8s16p48EpucZwlYmzrJ2pEqrDqkrEEPfAtL6VFJgX7cOLj
 y9p+in9OFTGqjVpEBT9x1tN5sJdv5rDRr6+oTIfeXR466rJRVM6LFLt7QIPjJMvgf25MmkFfl
 XkLSDE5QbThR8oToWGvYdddYuRBQfCQQx50F2/nqw8RcCtEvcbv3NneWa2putUvw06MXqdMto
 KnCwh+AtZU9Zf/mCNIpjC11ovmhSJErw07kMb6DLkRGV3R91AuztsQaWJBTB3I/zjszUuCFBe
 O8fuSNni0L9r2GVbtCmXID2C3luibOngWaeYTy11UD/3aedXEgxxzRNLniMRuPN7FT4K/3A93
 fX8cDVeaXt3M37cJ22GcDa6pLjwM+La4DDDDXOOGvWGMyGdEzXLig4VD2ZYnJsg55HNmMk/Vu
 hH2hwMikdlnHEvJP6X/baWS+Q6Hz91pBgu9DJow514NJ8uOMhMKE4IftSbIMJd23j3NsxLrty
 RtAZxktXQLUTUoxcIpLb0RfO9y8aN4gpiaTmBNehJQp7F/exJeY8u9ynISOGcmOFIZkRGH4w1
 eNC31UGtKfiRxopOYlw99pfC/JKHOxjMQA6mA8VKvySfdCBRlxvKqD911cbGyJzmGjIYXvpMm
 53Z2ScKXnfCzFvEVBZMgh7pv93jqGXIOw9mKZTJeZuBDEuNHifYxn9qf1Ef4qeIqyN/muNS8W
 24qJSpoWesuDusF5JtrpP8WU7MfOyVWbRXRk6bKOSEP6wrieW/INbw0NjuzQp2XqTOyTcAkw+
 uoH3tQ0txZoGraWR3q52LZm4+6cuXwaduGTj0HbyLI8nLQGZmqUjF299tWh2F7yTdes3+qe57
 dZBaOO7sqE8XIQb/mvk7KknJBA9pySGxJzRQPkBdLZhZZ92TG1PoDdZJCiDSF1GnenMqW2Jb1
 dvM1715Hhrf6YmhsMjtUE9b5P/6ynC3UkmfKvQ9lSQUcqso8iFuLp4h8Ho91AMiAgdvYx2Cg+
 +N9Z8x26R+FTc7pL6sf1y5VHR4N1PFEJ8yFkpnO52dF8Z4yDNCLUAoTqMMu2vqgpoA7jFgDys
 pwjsuMEA3kzn/ffPK7qRnY/GHFoWhHCLMWkFsn0H9/tAuie59A+SAu8dG7c5LdkI6/MBFx/iu
 C9ymNt7Z7FzoVNJeQ18jZ6yGOKEaq3YsIBTqwp/RtwboFZTGYUX0cJCthPIfh/2G69wxW5BGn
 SAtDuoEWZXplgMfZbCUvE1dYAvzTpCxm4oJbY9E9oulWl1bdNnz9UsDxdpvQ8XOrmglLjixdq
 y9g9I1dRxRmeMq/SVQSrsgvGloVjOJ8IDZ9wW7ZA/Ug8z1iwpUiBVTYeiSj3Cy7d5vxnMt7eT
 uC87uhoTITXiAULL1jI7xWl2xoQdQOTaJhz0bVdpXZbl+g1NlRVR7I7MRW59Vw+jCCNtQ3nt8
 v3Bp46CkTsgnI3QYSHaXgYOceM4kTYUi+hESdkGUxICU04twWP+KXnkWw8MqaSYjH1hN+Bo5+
 XyxZAP1VSrcRg05hK3t4LvPsctS81x2Rmi0PWsE4Yx8PnbIXZV7vyx2LIQC+t/UTVNHhWz+1D
 w1KweZwKWoU7StkNHxQ2vzHpeL9HYzQ9AMoBqjPpJ4vqzMqis2VuF2ckgmXrh7+8V4Nm1k/uh
 rK1u6RrCFgvG8+WClQwz8UyOs7PLXyhIN3FpBTS+xtsPGgfNSzlAVljioq3hnnyEOLT6XTG5V
 yJUJGjyR/PdOqD0D8E/ZFIh1oRaolBHvMyMAgC+TMzdj2qiLrctA99kQ3fbyG3/xg0XEJSsAl
 l/bzje+dEGFC2POj20u0RkXC9N9k2Lfp5Uv7l8ZAZfP0dWAibBgQysGSH0PeTdfcSa+9tBwJ6
 i+pFndNoYDIctKGA63rK8BuPHW4TyigVTQBMlP3tNK/w1Zrk1IPIuG2XHSgUoVsLtohdSoJcL
 ZhYAqb4N4VJthQ/AEAmUFwK6kyHQFM929/bFIGZVgivFSs1IWYbiiNdgASvtpEA5sLtKpWWr3
 jH/oYrnz2f+FiNwpw5ziUljKbO08p6QjJwpFqEq4lbtkb1G3gEH2vUsxhse0tPCy+mXrDIKDP
 R/0LwJItBEf5iaoIMOHW6XPqzGz/5+Iegj3/eVad6RWCVvi/QXz038pWRoRdNmPgn6w5U8BmE
 u8OjhZ4zdW2mcG41zkpDr4gtRQ+ZPl4ynSIauCiIaSX3NPDd/g3RU2iHaAMjFG0oIjgZ0Ur3U
 vE51UuWyMuTOoz2ZwuyRplNHYpmqHpvgxI5tqlXWPgL9+5GqwfSla1tmIhinfq9edmSZMkzis
 5jcpT0P9W3PmDTePa7r7qANCXL6oCulFyZeoFUZGeRZPNxIij9fczBKZVMINolbomHbdHit6u
 pOplycv5jEVehwl2Bc1HMEqVjNOFJJDhn7iRExcDUWvjM4SrLv3UNZY1PW4SAyKxSbCGJ9bqD
 evfjUyyJLS4ndQQ3676a1sy9LZMNBpLljps/XQVCDBDAw9iooEd/e8JAu6tkfn4Ih/HK5bdqn
 gFl2PBoY9U6HPNX6MefEgrqiIIXmi/tOpAuDC0VFeaMUTw5W5pLpDcm9cBpNbZsZm8R83qwFM
 Kv8JHTnILjzRhZw/LJuDOYLEP1fRhV23NuxVMzhzCJL5CC/icqhYW1lYMiMw8Q1cO/imq/Orh
 iuqEwIgH+P5XYDBIp+ToWEWh/4eembk+bdQAkvst1ogV8NSdmxao3jdvKmJg6AGEszExRkz+j
 b5gHJPxtqA+RYXjNCQKU/XUVULZNNJh2mXZSr7gaRbLk335WcpvXdUOBC8mNN/CWmI/0SKof+
 KX5tkk9mMw9t4ocBGTlP5qj0ZoHxaLyn0e3B8wHb+hH1YgDb2mnMp3Zise37r+fYlSac6z91l
 F91Byojc6goquBA7XEpcvLdM5WnqOwlcBjtt80DtVx6xo8YKCnbMDgiX2afxdISPDXvfoXTYO
 EkRviNu2UXZu5pwrAAJlXP5dZ3oOEKENKCK1dDT18w6QSd8QiLyzvBSYV38cLTZhe1DJx80TD
 aTe+cdL1kwH9wDrCi1XHt+a2tQmZ1a0CphP+UfYj9Jctk7kGCQi/WF2dIXQOYK1Jz9OYJ7rlq
 QfA50Vp91FQ6e8Onayf/VTNSHew2oev9l6qq+He2Hl0PGDaGDcBdO5ZT6ULPc1sqgbwCMySaF
 Hl6jMgltPpmGEWK5ER+UVACHB23p49aGTd6GM2kFjNXPT0rIVgRhc5PMcXBzu6TMYbWTU5dt+
 1RP93FRBewoahi5oQPknlocevwhXCa8uBgyRSIL6fSLEoY1XNpgePyr+h4i2nuTvQMa/Ww8d4
 blUpby/s90ZqUOTp4bVTv+SqDkhbLCj5fU9hIoQ4NAwUnJPenk12gJCcm88YCDOT96tihxULT
 GobT/G0PovFKyJ7zRxQzP4kXV4zW4zNBIRrIa56YeYN6H4eKGI3hLxcPUAGK5x0FJn1a0UgAn
 6BuF9rE52HCQs2mW2XGCX7xkj/V0HzxERG4/yas/fL7yulg/m6bdVYH+venXS0Xt7GpAZkBNA
 Y+cNlkAlA8hbcqsIaYP8+atWBgGqgBw0x9DlBeWAgoeFqVSnT5dAI8qVFsqjiTRaXR8XFKXTX
 umDYZ+TdfxJj5+9AtZqvQGDQCqq3Nsz7QyLkYZqzjMEOMXb3zfcCTY9da/W0zWyulUwcCGhx7
 AjYId1uhnesVZ9rwNB/zRRI8VnyXdCBJXsxS2hYaRtMKYHe0wpELlIc6h3wFATquut1sB5AOO
 0CKi/+/TO0+74pPMm3Mb7qSFWmZuwbbggEkMDIfj1fvXF8x+ArUL739k4xmfFAIPwR10cKMDc
 crX8oSxOL0nXEgF+9Bz3GpB/Rl4xmTbJ833SXzBygGvC09BEdwkd7y4+98X+WtPXlmy9+8+zO
 yYA4DyB/Y547HnmuT+SbYaB6nK7ZSpmGa+kfc
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 (-)

Liu Hui <liuhui1610@HIDDEN> writes:

Hi,

> There is still a corner case: if python-shell-process-environment
> contains an environment variable that already exists in the default
> process-environment, the environment variable is not applied by tramp
> for the remote Python shell. For example, the following test fails:
>
> FOO=1 REMOTE_TEMPORARY_FILE_DIRECTORY=/ssh:remote:/tmp/ \
>   make python-tests SELECTOR='"python-tests-remote-env"'
>
> where FOO=1 is in both python-shell-process-environment and default
> process-environment. This issue may need to be addressed in tramp.

This is a Tramp feature. See this comment in tramp-handle-make-process,
tramp-sh-handle-make-process and tramp-sh-handle-process-file:

--8<---------------cut here---------------start------------->8---
	   ;; We use as environment the difference to toplevel
	   ;; `process-environment'.
--8<---------------cut here---------------end--------------->8---

The reason is, that often a local value of $FOO might be wrong on the
remote host.

Best regards, Michael.




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#79413: [PATCH] Fix path and environment in remote Python shell
Resent-From: Liu Hui <liuhui1610@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Wed, 10 Sep 2025 03:47:01 +0000
Resent-Message-ID: <handler.79413.B79413.17574759666103 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 79413
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch
To: Michael Albinus <michael.albinus@HIDDEN>
Cc: 79413 <at> debbugs.gnu.org
Received: via spool by 79413-submit <at> debbugs.gnu.org id=B79413.17574759666103
          (code B ref 79413); Wed, 10 Sep 2025 03:47:01 +0000
Received: (at 79413) by debbugs.gnu.org; 10 Sep 2025 03:46:06 +0000
Received: from localhost ([127.0.0.1]:35078 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1uwBmX-0001aN-W1
	for submit <at> debbugs.gnu.org; Tue, 09 Sep 2025 23:46:06 -0400
Received: from mail-pl1-x629.google.com ([2607:f8b0:4864:20::629]:60604)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.84_2) (envelope-from <liuhui1610@HIDDEN>)
 id 1uwBmU-0001ZS-P6
 for 79413 <at> debbugs.gnu.org; Tue, 09 Sep 2025 23:46:03 -0400
Received: by mail-pl1-x629.google.com with SMTP id
 d9443c01a7336-25634c5ebdeso31370465ad.0
 for <79413 <at> debbugs.gnu.org>; Tue, 09 Sep 2025 20:46:02 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1757475956; x=1758080756; darn=debbugs.gnu.org;
 h=mime-version:message-id:date:references:in-reply-to:subject:cc:to
 :from:from:to:cc:subject:date:message-id:reply-to;
 bh=FCk0v0Uz7VNojVgAd+WigMilMprqVzaP/eWg2OxMqLo=;
 b=Mp7RyjlE+CWpgVc/H0mH1yblR22IC1pNIkUwYvvCrLUpgwzkBvuI6U3A2dR4i7oecG
 l0FUauzNhsvjZELUH1ooMxe+oL4bkGsYgjeee4a76BnzNHUQM2Z2O524OD6Ys8uyGFP1
 ALMcyEOQBHUM0qo/406u1RniRCCPlyJsBF93zcVPJFv8zy5QH2JdAyFj2EbarFPYhgry
 5clZM7N4kk6/EOFmCQHjTORLDgcei6i6glDk0ZTzwVEwAwnaPEKZDy2EpozmCJXvYt5L
 LYjFcT65ozm//BukX0U2DZUSuRof4W8JYbgvkMhV3NUPJf1A/T5m0cCo19QQvy9PQSlt
 pM+Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1757475956; x=1758080756;
 h=mime-version:message-id:date:references:in-reply-to:subject:cc:to
 :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
 bh=FCk0v0Uz7VNojVgAd+WigMilMprqVzaP/eWg2OxMqLo=;
 b=BdOGUHxsGkIaVzoRQj3q2Xhg8zxVtLXvLS1pZXNB2YP8yjbPlbdQwMjCDV6nHnzKGh
 SUbw3kAtfet21u8QpXDSR3oRyE4hQEUT08KuWu6OIA5Tya3sH6EqDPm7wPmULwehdvBB
 t712hmvtaRGbictvYMuD8gf0wtMm6jRSCGcZDUpaHo/23oThFfkrD9IHu0lF/X7jJz0z
 cHecj4QNuOCsGTYKCWA0yZKyjDq8ytk5Vq2hIzvYp0iXF4o7JY9pPuHSFqiAwz5yn2WQ
 HdfnXbnIJuWJ+PpDEIv83dnwtSYSMv/46gVPkw6vVRZTxcwoQBj0ph2wDa/LVtQC0Fsd
 Etgg==
X-Gm-Message-State: AOJu0YxZU0JgriCFc8SBYmZylyK/Jlkdlaq9E1/Q9dWQieLtuMF1to53
 VuSDwapPoOFocOfz7AoFN2AMZwQ+VrnQ1cbL5Z6VpmPPn/97JBU1ndAWSbqL3W0G
X-Gm-Gg: ASbGnct2UEE2ZEQmLHVFEak8XpDnFwvMAWPE/La+GQvZwYwilmWUgEMoq/eS/n49qmq
 oVIMcW2jKzuXKOJnnAKC6WUR1ryedX3ttp/DNTGp/dR1/PYfRBK07U0xhVtpLYgNqV4JCKYVw7y
 6XhuBnS4sLTdKvdZhXch7RWPyq5zbgLHgtG1OwNZyqFTeflK2wXa+whbAz19ccPG7BA3AEvjtzK
 a2lx2497x9KDTwgJOJJhE4u0qHHTvgBCjop6u1De2nNzvvShXB7qZX14mXhzzQR5+jDgOYzXmfn
 yPA9wZoeilKa0+7bxUWLazR6X4LrEgFX7SMPvJ3ihKtPCUiEfrPtgMOXrqhOG+f3jn1WCygxr3X
 0wWzO+xvDJ4d8Et8u6Ew=
X-Google-Smtp-Source: AGHT+IGn7ECKLbyHy+RmfmKJcbLkskmbTt9kDTSBR+v/9dWL0p/skHx08/TNHmznfZmzhJiZKkWflA==
X-Received: by 2002:a17:903:22c8:b0:24b:270e:56c2 with SMTP id
 d9443c01a7336-25170f37acdmr176278705ad.37.1757475955769; 
 Tue, 09 Sep 2025 20:45:55 -0700 (PDT)
Received: from localhost ([58.56.112.164]) by smtp.gmail.com with ESMTPSA id
 d9443c01a7336-25a27bed684sm12375195ad.37.2025.09.09.20.45.53
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 09 Sep 2025 20:45:55 -0700 (PDT)
From: Liu Hui <liuhui1610@HIDDEN>
In-Reply-To: <87wm67zso1.fsf@HIDDEN>
References: <874itcne9k.fsf@HIDDEN> <87wm67zso1.fsf@HIDDEN>
Date: Wed, 10 Sep 2025 11:45:45 +0800
Message-ID: <87jz27as2e.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain
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 (/)

Michael Albinus <michael.albinus@HIDDEN> writes:

> Liu Hui <liuhui1610@HIDDEN> writes:
>
> Hi,
>
>> There is still a corner case: if python-shell-process-environment
>> contains an environment variable that already exists in the default
>> process-environment, the environment variable is not applied by tramp
>> for the remote Python shell. For example, the following test fails:
>>
>> FOO=1 REMOTE_TEMPORARY_FILE_DIRECTORY=/ssh:remote:/tmp/ \
>>   make python-tests SELECTOR='"python-tests-remote-env"'
>>
>> where FOO=1 is in both python-shell-process-environment and default
>> process-environment. This issue may need to be addressed in tramp.
>
> This is a Tramp feature. See this comment in tramp-handle-make-process,
> tramp-sh-handle-make-process and tramp-sh-handle-process-file:
>
> --8<---------------cut here---------------start------------->8---
> 	   ;; We use as environment the difference to toplevel
> 	   ;; `process-environment'.
> --8<---------------cut here---------------end--------------->8---
>
> The reason is, that often a local value of $FOO might be wrong on the
> remote host.

Thanks for the explanation. Then let-binding process-environment is
not a reliable way if we want to ensure some environment variables,
python-shell-process-environment in this case, are applied to the
remote process.

Could tramp add an option that disables this feature temporarily or
ensures specific environment variables are always applied in
tramp-sh-handle-make-process and tramp-sh-handle-process-file?

Otherwise, we have to continue using
python-shell-tramp-refresh-process-environment, which I think should
be moved from python.el to tramp?




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#79413: [PATCH] Fix path and environment in remote Python shell
Resent-From: Michael Albinus <michael.albinus@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Wed, 10 Sep 2025 08:48:02 +0000
Resent-Message-ID: <handler.79413.B79413.17574940222235 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 79413
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch
To: Liu Hui <liuhui1610@HIDDEN>
Cc: 79413 <at> debbugs.gnu.org
Received: via spool by 79413-submit <at> debbugs.gnu.org id=B79413.17574940222235
          (code B ref 79413); Wed, 10 Sep 2025 08:48:02 +0000
Received: (at 79413) by debbugs.gnu.org; 10 Sep 2025 08:47:02 +0000
Received: from localhost ([127.0.0.1]:35913 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1uwGTl-0000Zn-Nr
	for submit <at> debbugs.gnu.org; Wed, 10 Sep 2025 04:47:02 -0400
Received: from mout.gmx.net ([212.227.15.18]:34789)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <michael.albinus@HIDDEN>)
 id 1uwGTf-0000ZK-HX
 for 79413 <at> debbugs.gnu.org; Wed, 10 Sep 2025 04:46:57 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.de;
 s=s31663417; t=1757494008; x=1758098808; i=michael.albinus@HIDDEN;
 bh=Cgr8mlNV2WgqwYfuKZK3nUUq4nXb6qjHbzSnJIxp53Q=;
 h=X-UI-Sender-Class:From:To:Cc:Subject:In-Reply-To:References:Date:
 Message-ID:MIME-Version:Content-Type:cc:content-transfer-encoding:
 content-type:date:from:message-id:mime-version:reply-to:subject:
 to;
 b=thjKrkuuEhQ0vVkNC4Lbta2cJ3p/MjXxn/23UK/NicG1ocDuhO04c2karqx3TPtO
 S1ZnAnkr4+nCz6byEJYZzXHO3JtsULnLdZMYOCe70hZAsNfwall65ymhp4dBc91PD
 PUoB+Nwb+x9e61+vt/e+AmEsYkW3X/M+9kc5wwdU745fr6v89BpcQFu5K1l1w5VWV
 xYU2Qq4lAhhJDLe7sXuO1IUdVdgNXcvIeW+X5RJTJiRAx7BMkHXTA169yaWQtGHCv
 JRG1arE5cF8vAlVzpk4idAhrULaChFPZ6oOFUAJFn+BgYWXdhoOC9mR/1CiOauMvk
 hX648DjCSOv22mH8vw==
X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a
Received: from gandalf.gmx.de ([185.89.37.61]) by mail.gmx.net (mrgmx005
 [212.227.17.190]) with ESMTPSA (Nemesis) id 1MkYc0-1uZoPu25Ve-00cSn7; Wed, 10
 Sep 2025 10:46:48 +0200
From: Michael Albinus <michael.albinus@HIDDEN>
In-Reply-To: <87jz27as2e.fsf@HIDDEN>
References: <874itcne9k.fsf@HIDDEN> <87wm67zso1.fsf@HIDDEN>
 <87jz27as2e.fsf@HIDDEN>
Date: Wed, 10 Sep 2025 10:46:48 +0200
Message-ID: <87zfb2g0ef.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-Provags-ID: V03:K1:0o8twTl1OXQ8OuT8MECOVIb0875plFMA1iZvGFGGhYQXmMf7gy1
 kVWd5U9GaQNdpMMVCCBoondBPz/7MpQQG6DigqQuO8eqiuyVo8+bXqr4EHcBX7iswvE8jRQ
 X4VHQPC8tPgosVqyZe7IheAhhChZVnrr+3aPoDeq0L+RriTWeJpKkPAif9Hm6bRJGAFg0Tn
 R+TtOi9skNY78nTAtg20g==
X-Spam-Flag: NO
UI-OutboundReport: notjunk:1;M01:P0:GVOy7655YoI=;QtPg/d/kme97InA1FzP1dqxfH5D
 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
X-Spam-Score: -0.7 (/)
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.7 (-)

Liu Hui <liuhui1610@HIDDEN> writes:

Hi,

>> This is a Tramp feature. See this comment in tramp-handle-make-process,
>> tramp-sh-handle-make-process and tramp-sh-handle-process-file:
>>
>> --8<---------------cut here---------------start------------->8---
>> 	   ;; We use as environment the difference to toplevel
>> 	   ;; `process-environment'.
>> --8<---------------cut here---------------end--------------->8---
>>
>> The reason is, that often a local value of $FOO might be wrong on the
>> remote host.
>
> Thanks for the explanation. Then let-binding process-environment is
> not a reliable way if we want to ensure some environment variables,
> python-shell-process-environment in this case, are applied to the
> remote process.
>
> Could tramp add an option that disables this feature temporarily or
> ensures specific environment variables are always applied in
> tramp-sh-handle-make-process and tramp-sh-handle-process-file?

You would run into the same problem why this feature exist. You don't
want to expand local environment variables like DISPLAY, SSH_* or
whatever to the remote host.

You could let-bind and modify tramp-remote-process-environment for
tramp-sh-handle-make-process. Note, that this won't work for direct
async processes, which use tramp-handle-make-process internally. And it
won't work for tramp-sh-handle-process-file.

Alternatively, you could call "env VAR1=VAL1 VAR2=VAL2 ... program ..."
instead of "program ...".

Best regards, Michael.




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#79413: [PATCH] Fix path and environment in remote Python shell
Resent-From: Liu Hui <liuhui1610@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Thu, 11 Sep 2025 04:48:02 +0000
Resent-Message-ID: <handler.79413.B79413.17575660551023 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 79413
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch
To: Michael Albinus <michael.albinus@HIDDEN>
Cc: 79413 <at> debbugs.gnu.org
Received: via spool by 79413-submit <at> debbugs.gnu.org id=B79413.17575660551023
          (code B ref 79413); Thu, 11 Sep 2025 04:48:02 +0000
Received: (at 79413) by debbugs.gnu.org; 11 Sep 2025 04:47:35 +0000
Received: from localhost ([127.0.0.1]:41589 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1uwZDa-0000GL-Ot
	for submit <at> debbugs.gnu.org; Thu, 11 Sep 2025 00:47:35 -0400
Received: from mail-pl1-x630.google.com ([2607:f8b0:4864:20::630]:44347)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.84_2) (envelope-from <liuhui1610@HIDDEN>)
 id 1uwZDX-0000Fg-HY
 for 79413 <at> debbugs.gnu.org; Thu, 11 Sep 2025 00:47:32 -0400
Received: by mail-pl1-x630.google.com with SMTP id
 d9443c01a7336-244580523a0so2536205ad.1
 for <79413 <at> debbugs.gnu.org>; Wed, 10 Sep 2025 21:47:31 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1757566045; x=1758170845; darn=debbugs.gnu.org;
 h=mime-version:message-id:date:references:in-reply-to:subject:cc:to
 :from:from:to:cc:subject:date:message-id:reply-to;
 bh=kNYVjB/wvwDyW2fIJZQJxV8Y9+nr+7PXz/CDjfXayfg=;
 b=GvLO8ko/AszZAb6d06FZOpzUhr/yvCZRNnu9eNBsk2BcoHVwwjROBWVkju84Xaeu+s
 WVNQGW6WnziWDD+ZawoDmLx0Zn42iiSkMU6XM5UHZOna9H4P3YbuIHIIIXu5SdGNWyuJ
 uqvvkOeRWIjZSawgoxqtf/dHyNmZo2Z+wNobsm5Hf9kbWo0ZWTXLQm/3Fr8yvJ4/VDA/
 5lC4irymgisNC0Vl/tNMSECVEF805SU8O7PRMwqnZ7kAmHt4bMdUhuIX0re2NkLi/7X8
 MMkOGunu3YZ0W7pv4u2m9Dp/rL5Nl9KmOVU81YKkLOl51aaVJXfjARni9aPHIoc3+qMt
 q6sQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1757566045; x=1758170845;
 h=mime-version:message-id:date:references:in-reply-to:subject:cc:to
 :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
 bh=kNYVjB/wvwDyW2fIJZQJxV8Y9+nr+7PXz/CDjfXayfg=;
 b=IwK4W/S8lP3OxeFYL3salIlDNxR8nZ222psa9nSU7N4otuGvrdvyIWBHfaSNeIaRdo
 PBz7Zxj9fXSWbm+kDCqBj2k5dbplMuaqXnMnU3zYuYoOmaIJ9lc076EpyyyNYUfVwH7Y
 nIEHJBCsZwAru2+75p95L2rdT2YxlOpxQVDNC93+uU27RsD2qu4iBP5PNTaAHVUwlh9c
 IXjjKG1CpeOaInBh4aCr7/EIknaiE+OpBZFZ8JtV0DaNBDTmeoEvZUGSiOr0lEEpLHle
 zjvoE8uypere2ixGSA+oGw6nCJQIF+OuSisgvq0THhq6I9IGbo1CUGIk2MEbXVxVik/F
 /6oQ==
X-Gm-Message-State: AOJu0YxqEYBYfK4cX9uPoOuR+H/YYSIn2Z8uqSbHBCEwykFpSihQNKy9
 V8/Ub60xmQe348qlNUC24eSeUtREoM6JtCW1i9s0YpftG8rG31m0bfutcCWdSo5b
X-Gm-Gg: ASbGncuchQUEtYrpBNq6SuA5xLhxOyStaYFHd3V+JO0AHzUJgOrc05gMkgopYR/7BMp
 3o4avQ7xcWo3p80bpJXVID4PxrAyHA+INsL4XI62ATDfu3cVZkFGjZOMMYEjTszUfonCiN/c/x5
 MWVFLaxmXZ95tOlK1QYWm4yqK00OgN4n8zzg4LhHM6NctP8XdpabqQZqyjsEdyfG7LFt+4ZZ1Cm
 VfKujN5mx/z3xyLh5lsaouL5224/5piaBvtQf9ArPToPYgqyc0CruXxLSo5PJMjtxMWcxyV+cV3
 j8DJc73FaUAT+rsxpAdkdPkKISaA2iwnY2JF3NO/ydybpHA5GABjmen4xTujF368Hcr3xQGkWcb
 qTU3LmERLVGe6sZYaq5SV1ggee+5WzQsZ/A4S09v7
X-Google-Smtp-Source: AGHT+IF7/kpmAeVY/HmPiBMOUGGwL4iDa3pb/FPYoEcZONGBFaHdJTz7kL/Ku/afH8cfcpvDFb+krQ==
X-Received: by 2002:a17:903:2450:b0:235:e8da:8d1 with SMTP id
 d9443c01a7336-2516ce602c7mr188535135ad.8.1757566045145; 
 Wed, 10 Sep 2025 21:47:25 -0700 (PDT)
Received: from localhost ([58.56.112.164]) by smtp.gmail.com with ESMTPSA id
 d9443c01a7336-25c3ab43469sm4671545ad.97.2025.09.10.21.47.21
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 10 Sep 2025 21:47:24 -0700 (PDT)
From: Liu Hui <liuhui1610@HIDDEN>
In-Reply-To: <87zfb2g0ef.fsf@HIDDEN>
References: <874itcne9k.fsf@HIDDEN> <87wm67zso1.fsf@HIDDEN>
 <87jz27as2e.fsf@HIDDEN> <87zfb2g0ef.fsf@HIDDEN>
Date: Thu, 11 Sep 2025 12:47:13 +0800
Message-ID: <87v7lpbnou.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain
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 (/)

Michael Albinus <michael.albinus@HIDDEN> writes:

> Liu Hui <liuhui1610@HIDDEN> writes:
>
> Hi,
>
>>> This is a Tramp feature. See this comment in tramp-handle-make-process,
>>> tramp-sh-handle-make-process and tramp-sh-handle-process-file:
>>>
>>> --8<---------------cut here---------------start------------->8---
>>> 	   ;; We use as environment the difference to toplevel
>>> 	   ;; `process-environment'.
>>> --8<---------------cut here---------------end--------------->8---
>>>
>>> The reason is, that often a local value of $FOO might be wrong on the
>>> remote host.
>>
>> Thanks for the explanation. Then let-binding process-environment is
>> not a reliable way if we want to ensure some environment variables,
>> python-shell-process-environment in this case, are applied to the
>> remote process.
>>
>> Could tramp add an option that disables this feature temporarily or
>> ensures specific environment variables are always applied in
>> tramp-sh-handle-make-process and tramp-sh-handle-process-file?
>
> You would run into the same problem why this feature exist. You don't
> want to expand local environment variables like DISPLAY, SSH_* or
> whatever to the remote host.

I agree local environment variables should not be applied on the
remote host. I meant to propagate specific environment variables (e.g.
"PYTHONPATH=/opt/mypackage") in python-shell-process-environment. The
problem is that "PYTHONPATH=/opt/mypackage" is skipped for remote
processes if it happens to exist in the default process environment
(e.g. it is added in local ~/.profile).

How about the following change? It doesn't change the default behavior
and allows the caller to override tramp-local-environment-variable-p
when necessary.

diff --git a/lisp/net/tramp-sh.el b/lisp/net/tramp-sh.el
index 9d13cdc3a2d..0a454fed69b 100644
--- a/lisp/net/tramp-sh.el
+++ b/lisp/net/tramp-sh.el
@@ -3052,8 +3052,7 @@ tramp-sh-handle-make-process
 	     ;; `process-environment'.
 	     env uenv
 	     (env (dolist (elt (cons prompt process-environment) env)
-		    (or (member
-			 elt (default-toplevel-value 'process-environment))
+		    (or (tramp-local-environment-variable-p elt)
 			(if (string-search "=" elt)
 			    (setq env (append env `(,elt)))
 			  (setq uenv (cons elt uenv))))))
@@ -3288,7 +3287,7 @@ tramp-sh-handle-process-file
 			       (cons program args) " "))
       ;; We use as environment the difference to toplevel `process-environment'.
       (dolist (elt process-environment)
-        (or (member elt (default-toplevel-value 'process-environment))
+        (or (tramp-local-environment-variable-p elt)
             (if (string-search "=" elt)
                 (setq env (append env `(,elt)))
               (setq uenv (cons elt uenv)))))
diff --git a/lisp/net/tramp.el b/lisp/net/tramp.el
index 9bf1b4ae6c3..3ce25a5c663 100644
--- a/lisp/net/tramp.el
+++ b/lisp/net/tramp.el
@@ -5342,6 +5342,12 @@ tramp-direct-async-process-p
 	 (or (not (stringp buffer)) (not (tramp-tramp-file-p buffer)))
 	 (or (not (stringp stderr)) (not (tramp-tramp-file-p stderr))))))

+(defun tramp-local-environment-variable-p (arg)
+  "Return non-nil if ARG exists in default `process-environment'.
+Tramp does not propagate a local environment variable in remote
+processes."
+  (member arg (default-toplevel-value 'process-environment)))
+
 (defun tramp-handle-make-process (&rest args)
   "An alternative `make-process' implementation for Tramp files."
   (tramp-skeleton-make-process args nil nil
@@ -5360,9 +5366,7 @@ tramp-handle-make-process
 	   (env (dolist (elt process-environment env)
 		  (when (and
 			 (string-search "=" elt)
-			 (not
-			  (member
-			   elt (default-toplevel-value 'process-environment))))
+			 (not (tramp-local-environment-variable-p elt)))
 		    (setq env (cons elt env)))))
 	   ;; Add remote path if exists.
 	   (env (if-let* ((sh-file-name-handler-p)


> You could let-bind and modify tramp-remote-process-environment for
> tramp-sh-handle-make-process. Note, that this won't work for direct
> async processes, which use tramp-handle-make-process internally. And it
> won't work for tramp-sh-handle-process-file.
>
> Alternatively, you could call "env VAR1=VAL1 VAR2=VAL2 ... program ..."
> instead of "program ...".

Thanks for the suggestion. The problem is that
python-shell-with-environment is just a wrapper that temporarily sets
path and environment:

(defmacro python-shell-with-environment (&rest body)
   ...
  `(python-shell--with-environment
    (python-shell--calculate-process-environment)
    (lambda () ,@body)))

so we don't know what functions and programs users call.




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#79413: [PATCH] Fix path and environment in remote Python shell
Resent-From: Michael Albinus <michael.albinus@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Thu, 11 Sep 2025 14:12:01 +0000
Resent-Message-ID: <handler.79413.B79413.175759992025598 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 79413
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch
To: Liu Hui <liuhui1610@HIDDEN>
Cc: 79413 <at> debbugs.gnu.org
Received: via spool by 79413-submit <at> debbugs.gnu.org id=B79413.175759992025598
          (code B ref 79413); Thu, 11 Sep 2025 14:12:01 +0000
Received: (at 79413) by debbugs.gnu.org; 11 Sep 2025 14:12:00 +0000
Received: from localhost ([127.0.0.1]:44207 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1uwi1o-0006eo-7b
	for submit <at> debbugs.gnu.org; Thu, 11 Sep 2025 10:12:00 -0400
Received: from mout.gmx.net ([212.227.15.19]:36261)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <michael.albinus@HIDDEN>)
 id 1uwi1k-0006eT-6O
 for 79413 <at> debbugs.gnu.org; Thu, 11 Sep 2025 10:11:57 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.de;
 s=s31663417; t=1757599909; x=1758204709; i=michael.albinus@HIDDEN;
 bh=EVHBuracvkvYd1sWXWf+WemT2tCZvD9unD0MaBaEgpY=;
 h=X-UI-Sender-Class:From:To:Cc:Subject:In-Reply-To:References:Date:
 Message-ID:MIME-Version:Content-Type:cc:content-transfer-encoding:
 content-type:date:from:message-id:mime-version:reply-to:subject:
 to;
 b=LUHLQvGA3xrBuf+t2jrLb077UAZnYaVATfhM/0zu0bJ4NAI+mMYUY9QRa51p7pLI
 erzYunjq2fs+dO49+/cQO2O+qeMLUECo41FZZh4Wi2aFl0GT9WSeMPYs9J2WGMoZJ
 KDwTYUFBiU4IfYQ5DpoVn2hmSdSTMS5IdEPjqlBA9m4tU0z8m4iM25nFFlLReSUoT
 xYY9Fi6G54Lv52f03q2cNFYAIxs6a9UWpxdb8IM36S5uLUT3LwUHg3COseYPYQMqD
 klbpiWDu0Amo4d+PuFdwPqLYHwM7yA5ui5upMThdoti4amUqCwYYINGdPGPiMqoIX
 flvq0051ln1LPS/+Kg==
X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a
Received: from gandalf.gmx.de ([185.89.37.61]) by mail.gmx.net (mrgmx005
 [212.227.17.190]) with ESMTPSA (Nemesis) id 1Mzyya-1uAe391WI2-014zJw; Thu, 11
 Sep 2025 16:11:49 +0200
From: Michael Albinus <michael.albinus@HIDDEN>
In-Reply-To: <87v7lpbnou.fsf@HIDDEN>
References: <874itcne9k.fsf@HIDDEN> <87wm67zso1.fsf@HIDDEN>
 <87jz27as2e.fsf@HIDDEN> <87zfb2g0ef.fsf@HIDDEN>
 <87v7lpbnou.fsf@HIDDEN>
Date: Thu, 11 Sep 2025 16:11:48 +0200
Message-ID: <87348t9izf.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-Provags-ID: V03:K1:i/ZCqZmOLB/xomP4rTx6vW96jCP71bm5kjP5oe1ixQky7A6uYgE
 rdYgxF0IFwlyPpLcVZtPJZt8F/WWYuXJV3NJ/VQzhjZ0ZVJCZLzj+5GEHlHcvqxBWxLTN37
 bcphbP5nv+S7qolrcdv74iX5usggQHlc4olhYpXJ3ySzaDehmjsh3OVPFdsMV5b0SV49cpK
 wRXt6kHrg7wTA9y82hAyg==
X-Spam-Flag: NO
UI-OutboundReport: notjunk:1;M01:P0:y/S/gzjyHN4=;IuhGSXUiIZbMnDq3AXucb4uiTo9
 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
X-Spam-Score: -0.7 (/)
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.7 (-)

Liu Hui <liuhui1610@HIDDEN> writes:

Hi,

> How about the following change? It doesn't change the default behavior
> and allows the caller to override tramp-local-environment-variable-p
> when necessary.

Looks OK. Pls provide a complete patch, including commit
messages. tramp-androidsu-handle-make-process in tramp-android.el must
be changed as well.

Perhaps add also a comment on top of tramp-local-environment-variable-p,
explaining the reason for this function. I'm not decided yet whether we
shall document it in the Tramp manual. If we do, we would need a more
general approach I guess.

Best regards, Michael.




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#79413: [PATCH] Fix path and environment in remote Python shell
Resent-From: Liu Hui <liuhui1610@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Fri, 12 Sep 2025 09:59:01 +0000
Resent-Message-ID: <handler.79413.B79413.175767111824661 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 79413
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch
To: Michael Albinus <michael.albinus@HIDDEN>
Cc: 79413 <at> debbugs.gnu.org
Received: via spool by 79413-submit <at> debbugs.gnu.org id=B79413.175767111824661
          (code B ref 79413); Fri, 12 Sep 2025 09:59:01 +0000
Received: (at 79413) by debbugs.gnu.org; 12 Sep 2025 09:58:38 +0000
Received: from localhost ([127.0.0.1]:48690 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1ux0Y9-0006Pg-Gl
	for submit <at> debbugs.gnu.org; Fri, 12 Sep 2025 05:58:38 -0400
Received: from mail-pf1-x42e.google.com ([2607:f8b0:4864:20::42e]:42149)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.84_2) (envelope-from <liuhui1610@HIDDEN>)
 id 1ux0Y5-0006PH-ES
 for 79413 <at> debbugs.gnu.org; Fri, 12 Sep 2025 05:58:34 -0400
Received: by mail-pf1-x42e.google.com with SMTP id
 d2e1a72fcca58-7725147ec88so1068395b3a.0
 for <79413 <at> debbugs.gnu.org>; Fri, 12 Sep 2025 02:58:33 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1757671107; x=1758275907; darn=debbugs.gnu.org;
 h=mime-version:message-id:date:references:in-reply-to:subject:cc:to
 :from:from:to:cc:subject:date:message-id:reply-to;
 bh=c4QP4CN5Yy7h8CBwOBK3ip6dgczAVDXE5qC/Sdw0RP8=;
 b=KuabIy/SWdvBKWLpOGFpLoA2ZVBkBzytNHvZZsswsgDIHv3RF4HrSBvEd11w+VZ4lV
 gNZmoF4FPHW4mhI2EZLX6yDCDHY0Qs6MfrVNyYITZhHZUNfW0rIuWG5ICqpNtRxZFI5C
 8TeoFlA/MmRdzL/Y/3KyDpYdRPMIRdsQUOnSCfs92TAKEAkxHExHiNspv7dKeUwqDKsl
 r1dLEf9Fe3/hRYSQLI86NSEkXLuRN9DsBz4V6UAXv4+GqyPKU8yfeiGnKkpMT/faElcA
 RHJeme4qluUMkG4cl7avE0DDhVZzWdCJH7XNQGS3QZEoM7+IrT2O4XvaBwgVKSsGQphx
 ZBXg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1757671107; x=1758275907;
 h=mime-version:message-id:date:references:in-reply-to:subject:cc:to
 :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
 bh=c4QP4CN5Yy7h8CBwOBK3ip6dgczAVDXE5qC/Sdw0RP8=;
 b=xRkurVrGCIEy15PRj6stNpOaGiqI0pYjOpSxALE0jTuUehWKVb4AnDifrtsV/wi1aW
 70qrklZ6VtHh+6hOP/bacJ7+rwFyDs5MNhLmV/Oe/AmeAIy+vYoFFHutCWfCCkZ5MzWw
 09Vlrvw0QeKD4/ozkrB4YY7NDTd9aZe8UGZrTaelXIsuiXeRSe7in1mL9OjA2EqCJu+0
 0hydt9KH57HGF8uBry2o+M4gTgOktAxmOtZzy4nuq1i/Gq7ZhplQJwF6mtiF8W4OtrNI
 sfQrHPqqhbOyE+3VS4vdf0zalc4ZjXfwICN304IfxNr/53nt3sGyvzG1V7KaRSZ7KYkU
 ilsA==
X-Gm-Message-State: AOJu0Ywb+0PwMJjv0NJ+1USVN5i8Odc2urs5lPr1Ygd/O1gA3fdjLf5Y
 M1Bb5MTYq+V0X3Joh0OivVJ3k/Tp6SS/wEaKFGLq/zy1eUSnJFWlM3cm0ejw5g==
X-Gm-Gg: ASbGncvxENIpLnwqofQVLamZDqerA5d67mVDySzS192/OJ3/201DAZHw9LzpJEqPNXe
 aBn+qXz85rL5fjaRUuw1C9o+iOgX/JxxEqjQjW3/kbCtT6My77XHQ9e+vUgQpw0hDM1l2+8o4hz
 zItZxp8SAvUyaeOPk19eHE91D/NaBaNIgbnCcuv++PmcbfpB2Ypoty7PIw332rvlxuZGoVAEwjz
 Iu8o0QZh01rhhviKuP2cPtsdOPNCH25WtugYDLPA7yPAVZnFmc+WrYu3mDEAB4MafU8R8lbWrJI
 7Q9NOcL8w8k+Ay573aLWfDCQ5o2C+F6592CMUycEOISBcLoS4dJMUAX/XSRfhKDn1hc0TNgVgzh
 VWWF8IF2kBLm7QFVq7iXOEYmG7d/x2A==
X-Google-Smtp-Source: AGHT+IHClDGBB3tbvAL96jYKeoi4YFOpakvccqdPNm+PahUP8f1DndcAzYzJlxgKKQGF7pGwXTZeVQ==
X-Received: by 2002:a05:6a00:3c8c:b0:772:736e:656c with SMTP id
 d2e1a72fcca58-7761252f1edmr2625239b3a.5.1757671106682; 
 Fri, 12 Sep 2025 02:58:26 -0700 (PDT)
Received: from localhost ([58.56.112.164]) by smtp.gmail.com with ESMTPSA id
 d2e1a72fcca58-77607b18424sm4919686b3a.63.2025.09.12.02.58.24
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 12 Sep 2025 02:58:26 -0700 (PDT)
From: Liu Hui <liuhui1610@HIDDEN>
In-Reply-To: <87348t9izf.fsf@HIDDEN>
References: <874itcne9k.fsf@HIDDEN> <87wm67zso1.fsf@HIDDEN>
 <87jz27as2e.fsf@HIDDEN> <87zfb2g0ef.fsf@HIDDEN>
 <87v7lpbnou.fsf@HIDDEN> <87348t9izf.fsf@HIDDEN>
Date: Fri, 12 Sep 2025 17:58:04 +0800
Message-ID: <87y0qkm1qr.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="=-=-="
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 (/)

--=-=-=
Content-Type: text/plain

Michael Albinus <michael.albinus@HIDDEN> writes:

> Liu Hui <liuhui1610@HIDDEN> writes:
>
> Hi,
>
>> How about the following change? It doesn't change the default behavior
>> and allows the caller to override tramp-local-environment-variable-p
>> when necessary.
>
> Looks OK. Pls provide a complete patch, including commit
> messages. tramp-androidsu-handle-make-process in tramp-android.el must
> be changed as well.
>
> Perhaps add also a comment on top of tramp-local-environment-variable-p,
> explaining the reason for this function. I'm not decided yet whether we
> shall document it in the Tramp manual. If we do, we would need a more
> general approach I guess.

Patch is attached. Thanks.


--=-=-=
Content-Type: text/x-diff
Content-Disposition: attachment;
 filename=0001-Tramp-Refactor-environment-variable-filtering-to-a-s.patch

From cd1248abcef17298330318ce9de707bdcebb0233 Mon Sep 17 00:00:00 2001
From: Liu Hui <liuhui1610@HIDDEN>
Date: Fri, 12 Sep 2025 12:55:11 +0800
Subject: [PATCH] Tramp: Refactor environment variable filtering to a separate
 function

* lisp/net/tramp.el (tramp-local-environment-variable-p): New
function.
(tramp-handle-make-process):
* lisp/net/tramp-sh.el (tramp-sh-handle-make-process)
(tramp-sh-handle-process-file):
* lisp/net/tramp-androidsu.el
(tramp-androidsu-handle-make-process): Use
`tramp-local-environment-variable-p'.
---
 lisp/net/tramp-androidsu.el |  4 +---
 lisp/net/tramp-sh.el        |  5 ++---
 lisp/net/tramp.el           | 16 +++++++++++++---
 3 files changed, 16 insertions(+), 9 deletions(-)

diff --git a/lisp/net/tramp-androidsu.el b/lisp/net/tramp-androidsu.el
index a593833a836..6cc3f14381d 100644
--- a/lisp/net/tramp-androidsu.el
+++ b/lisp/net/tramp-androidsu.el
@@ -311,9 +311,7 @@ tramp-androidsu-handle-make-process
 		  (when
 		      (and
 		       (string-search "=" elt)
-		       (not
-			(member
-			 elt (default-toplevel-value 'process-environment))))
+		       (not (tramp-local-environment-variable-p elt)))
 		    (setq env (cons elt env)))))
 	   ;; Add remote path if exists.
 	   (env (let ((remote-path (string-join (tramp-get-remote-path v) ":")))
diff --git a/lisp/net/tramp-sh.el b/lisp/net/tramp-sh.el
index 9d13cdc3a2d..0a454fed69b 100644
--- a/lisp/net/tramp-sh.el
+++ b/lisp/net/tramp-sh.el
@@ -3052,8 +3052,7 @@ tramp-sh-handle-make-process
 	     ;; `process-environment'.
 	     env uenv
 	     (env (dolist (elt (cons prompt process-environment) env)
-		    (or (member
-			 elt (default-toplevel-value 'process-environment))
+		    (or (tramp-local-environment-variable-p elt)
 			(if (string-search "=" elt)
 			    (setq env (append env `(,elt)))
 			  (setq uenv (cons elt uenv))))))
@@ -3288,7 +3287,7 @@ tramp-sh-handle-process-file
 			       (cons program args) " "))
       ;; We use as environment the difference to toplevel `process-environment'.
       (dolist (elt process-environment)
-        (or (member elt (default-toplevel-value 'process-environment))
+        (or (tramp-local-environment-variable-p elt)
             (if (string-search "=" elt)
                 (setq env (append env `(,elt)))
               (setq uenv (cons elt uenv)))))
diff --git a/lisp/net/tramp.el b/lisp/net/tramp.el
index ad768f9e038..a27e8b8fbe8 100644
--- a/lisp/net/tramp.el
+++ b/lisp/net/tramp.el
@@ -5347,6 +5347,18 @@ tramp-direct-async-process-p
 	 (or (not (stringp buffer)) (not (tramp-tramp-file-p buffer)))
 	 (or (not (stringp stderr)) (not (tramp-tramp-file-p stderr))))))
 
+;; This function is used by tramp-*-handle-make-process and
+;; tramp-sh-handle-process-file to filter local environment variables
+;; that should not be propagated remotely.  Users can override this
+;; function if necessary, for example, to ensure that a specific
+;; environment variable is applied to remote processes, whether it
+;; exists locally or not.
+(defun tramp-local-environment-variable-p (arg)
+  "Return non-nil if ARG exists in default `process-environment'.
+Tramp does not propagate local environment variables in remote
+processes."
+  (member arg (default-toplevel-value 'process-environment)))
+
 (defun tramp-handle-make-process (&rest args)
   "An alternative `make-process' implementation for Tramp files."
   (tramp-skeleton-make-process args nil nil
@@ -5365,9 +5377,7 @@ tramp-handle-make-process
 	   (env (dolist (elt process-environment env)
 		  (when (and
 			 (string-search "=" elt)
-			 (not
-			  (member
-			   elt (default-toplevel-value 'process-environment))))
+			 (not (tramp-local-environment-variable-p elt)))
 		    (setq env (cons elt env)))))
 	   ;; Add remote path if exists.
 	   (env (if-let* ((sh-file-name-handler-p)
-- 
2.25.1


--=-=-=--




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#79413: [PATCH] Fix path and environment in remote Python shell
Resent-From: Michael Albinus <michael.albinus@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Fri, 12 Sep 2025 11:27:02 +0000
Resent-Message-ID: <handler.79413.B79413.175767641415980 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 79413
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch
To: Liu Hui <liuhui1610@HIDDEN>
Cc: 79413 <at> debbugs.gnu.org
Received: via spool by 79413-submit <at> debbugs.gnu.org id=B79413.175767641415980
          (code B ref 79413); Fri, 12 Sep 2025 11:27:02 +0000
Received: (at 79413) by debbugs.gnu.org; 12 Sep 2025 11:26:54 +0000
Received: from localhost ([127.0.0.1]:49104 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1ux1vZ-00049e-IF
	for submit <at> debbugs.gnu.org; Fri, 12 Sep 2025 07:26:53 -0400
Received: from mout.gmx.net ([212.227.17.21]:40789)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <michael.albinus@HIDDEN>)
 id 1ux1vU-00049C-UJ
 for 79413 <at> debbugs.gnu.org; Fri, 12 Sep 2025 07:26:50 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.de;
 s=s31663417; t=1757676401; x=1758281201; i=michael.albinus@HIDDEN;
 bh=308iYbwXTgItO2mPgH4xmA1vrIMzOuLfVDKBN7qqPyU=;
 h=X-UI-Sender-Class:From:To:Cc:Subject:In-Reply-To:References:Date:
 Message-ID:MIME-Version:Content-Type:cc:content-transfer-encoding:
 content-type:date:from:message-id:mime-version:reply-to:subject:
 to;
 b=G/EPm62oX/MCLIZGU73IfZpOHGmZIsVyeAlZ6CkKw9+pAHxiSw8CRvtua7eVW1Ga
 LfG1LvUAS5YGb45R6nkHG4uCz49F7fS0TPuUcvd1MnQ+UBYa2BsXp/watNy6g7+dp
 s8IDt6PjvzpuGqgKxHUcOOy1rpCzU911w6Da5hPCDWW97TWbJmC4yWjxKUlbfsYiy
 krC3gTjg99VkPX3Y57JTkeDlpmXKyLEsm/Th0lugTxzkGYTBoc3y5jKETJafXq6HT
 hD3pctXzsFASgrMTC8Xz+/WisEaUueNQ46hCPuI9fJQJzYsINpDt2wruGRR7Oob6i
 Zs3wroAeUNVnf2oL0A==
X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a
Received: from gandalf.gmx.de ([185.89.37.61]) by mail.gmx.net (mrgmx105
 [212.227.17.168]) with ESMTPSA (Nemesis) id 1MWRRT-1uvmRe1TKt-00T6Xs; Fri, 12
 Sep 2025 13:26:41 +0200
From: Michael Albinus <michael.albinus@HIDDEN>
In-Reply-To: <87y0qkm1qr.fsf@HIDDEN>
References: <874itcne9k.fsf@HIDDEN> <87wm67zso1.fsf@HIDDEN>
 <87jz27as2e.fsf@HIDDEN> <87zfb2g0ef.fsf@HIDDEN>
 <87v7lpbnou.fsf@HIDDEN> <87348t9izf.fsf@HIDDEN>
 <87y0qkm1qr.fsf@HIDDEN>
Date: Fri, 12 Sep 2025 13:26:40 +0200
Message-ID: <87ms6zud1r.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-Provags-ID: V03:K1:C//q5Ad4lFVuxyBfwYCiOVNGpX+GBPVgeOwrSZ3hZOuMuMy6zEr
 mlUkjZrMGbGTDIkL9h2DqCvkR4uTN/LOJS+2HNrkMpXWMiE/zcpKgfDukJBFJV7A25IMwoj
 48p7wJPmIolS/W+SdAc95NBtCiAjlcDrSDTIYTZ/IfW7yTKob7SOzxrk6/rsxA+yHvGjpE/
 M13fawOu2jct6f+NAY4Lw==
X-Spam-Flag: NO
UI-OutboundReport: notjunk:1;M01:P0:95Qqox70uk8=;2DR6RUA82i2zb6gy1syQeuewc7T
 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
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 (-)

Liu Hui <liuhui1610@HIDDEN> writes:

Hi,

>> Looks OK. Pls provide a complete patch, including commit
>> messages. tramp-androidsu-handle-make-process in tramp-android.el must
>> be changed as well.
>>
>> Perhaps add also a comment on top of tramp-local-environment-variable-p,
>> explaining the reason for this function. I'm not decided yet whether we
>> shall document it in the Tramp manual. If we do, we would need a more
>> general approach I guess.
>
> Patch is attached. Thanks.

Thanks, I've pushed it to the repositories.

Best regards, Michael.





Last modified: Fri, 12 Sep 2025 11:30:02 UTC

GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997 nCipher Corporation Ltd, 1994-97 Ian Jackson.