all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* bug#67126: eshell breaking tramp-remote-path
@ 2023-11-12  8:52 Xiaoyue Chen
  2023-11-12 20:18 ` Jim Porter
  0 siblings, 1 reply; 2+ messages in thread
From: Xiaoyue Chen @ 2023-11-12  8:52 UTC (permalink / raw)
  To: 67126

[-- Attachment #1: Type: text/plain, Size: 1478 bytes --]

Tags: patch

Hello,

Commit 2af092741e5 broke tramp-remote-path, making eshell unusable for
sudo, ssh, etc. So any emacs version after that is effected. I found the
issue on emacs 29.1.90.

Steps to reproduce:

1. emacs -Q

2. Evaluate the following

   (require 'eshell)
   (add-to-list 'eshell-modules-list 'eshell-tramp)
   (require 'tramp)
   (add-to-list 'tramp-remote-path 'tramp-own-remote-path)

3. M-x eshell

4. Type "sudo uname" and press Enter

5. The output is erroneous

   sh: /home/xchen/env: No such file or directory
   ///374ad82e298d0a7279e9e4c98722b9f5#$


The cause is a minor error in eshell-gather-process-output

  (when (file-remote-p default-directory)
    (push (concat "PATH=" real-path) process-environment)
    (setq tramp-remote-path (eshell-get-path)))

tramp-remote-path should not contain the remote part of the directories,
so use (eshell-get-path t) fixes it.

Attached is a simple patch to fix this issue.

/Xiaoyue

In GNU Emacs 29.1.90 (build 1, x86_64-pc-linux-gnu, X toolkit, cairo
version 1.16.0, Xaw3d scroll bars)
Repository revision: emacs-29.1.90
Repository branch: master
Windowing system distributor 'The X.Org Foundation', version 11.0.12101008
System Description: NixOS 23.11 (Tapir)

Configured using:
 'configure
 --prefix=/nix/store/0hkpjpd4nh282znb7z225iramjcgrv0n-emacs-unstable-29.1.90
 --disable-build-details --with-modules --with-x-toolkit=lucid
 --with-xft --with-cairo --with-native-compilation --with-tree-sitter'


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: eshell.patch --]
[-- Type: text/patch, Size: 730 bytes --]

diff --git a/lisp/eshell/esh-proc.el b/lisp/eshell/esh-proc.el
index 6561561440e..e7e91f08741 100644
--- a/lisp/eshell/esh-proc.el
+++ b/lisp/eshell/esh-proc.el
@@ -304,7 +304,7 @@ Used only on systems which do not support async subprocesses.")
     ;; future, remember to remove `tramp-remote-path' above, too.)
     (when (file-remote-p default-directory)
       (push (concat "PATH=" real-path) process-environment)
-      (setq tramp-remote-path (eshell-get-path)))
+      (setq tramp-remote-path (eshell-get-path t)))
     ;; MS-Windows needs special setting of encoding/decoding, because
     ;; (a) non-ASCII text in command-line arguments needs to be
     ;; encoded in the system's codepage; and (b) because many Windows

[-- Attachment #3: Type: text/plain, Size: 39 bytes --]


--
Xiaoyue Chen
VVVU: Workers, Unite!

^ permalink raw reply related	[flat|nested] 2+ messages in thread

* bug#67126: eshell breaking tramp-remote-path
  2023-11-12  8:52 bug#67126: eshell breaking tramp-remote-path Xiaoyue Chen
@ 2023-11-12 20:18 ` Jim Porter
  0 siblings, 0 replies; 2+ messages in thread
From: Jim Porter @ 2023-11-12 20:18 UTC (permalink / raw)
  To: Xiaoyue Chen, 67126-done

Version: 30.1

On 11/12/2023 12:52 AM, Xiaoyue Chen wrote:
> Tags: patch
> 
> Hello,
> 
> Commit 2af092741e5 broke tramp-remote-path, making eshell unusable for
> sudo, ssh, etc. So any emacs version after that is effected. I found the
> issue on emacs 29.1.90.

Thanks for the fix! I tried your patch and everything seems ok, plus 
it's obviously correct by inspection.

Applied on the master branch as 52afc64bad7 and the emacs-29 branch as 
5bebd292c63. (I accidentally merged to master first. Oh well.) Closing 
this now.





^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2023-11-12 20:18 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-11-12  8:52 bug#67126: eshell breaking tramp-remote-path Xiaoyue Chen
2023-11-12 20:18 ` Jim Porter

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.