* 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.