GNU bug report logs - #67126
eshell breaking tramp-remote-path

Previous Next

Package: emacs;

Reported by: Xiaoyue Chen <xchen <at> vvvu.org>

Date: Sun, 12 Nov 2023 10:12:01 UTC

Severity: normal

Tags: patch

Fixed in version 30.1

Done: Jim Porter <jporterbugs <at> gmail.com>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Jim Porter <jporterbugs <at> gmail.com>
Cc: tracker <at> debbugs.gnu.org
Subject: bug#67126: closed (eshell breaking tramp-remote-path)
Date: Sun, 12 Nov 2023 20:20:01 +0000
[Message part 1 (text/plain, inline)]
Your message dated Sun, 12 Nov 2023 12:18:11 -0800
with message-id <640dd52c-69f6-15c6-a602-d6982f7bbf8a <at> gmail.com>
and subject line Re: bug#67126: eshell breaking tramp-remote-path
has caused the debbugs.gnu.org bug report #67126,
regarding eshell breaking tramp-remote-path
to be marked as done.

(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)


-- 
67126: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=67126
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Xiaoyue Chen <xchen <at> vvvu.org>
To: bug-gnu-emacs <at> gnu.org
Subject: eshell breaking tramp-remote-path
Date: Sun, 12 Nov 2023 08:52:00 +0000 (UTC)
[Message part 3 (text/plain, inline)]
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'

[eshell.patch (text/patch, attachment)]
[Message part 5 (text/plain, inline)]
--
Xiaoyue Chen
VVVU: Workers, Unite!
[Message part 6 (message/rfc822, inline)]
From: Jim Porter <jporterbugs <at> gmail.com>
To: Xiaoyue Chen <xchen <at> vvvu.org>, 67126-done <at> debbugs.gnu.org
Subject: Re: bug#67126: eshell breaking tramp-remote-path
Date: Sun, 12 Nov 2023 12:18:11 -0800
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.


This bug report was last modified 1 year and 250 days ago.

Previous Next


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