GNU bug report logs -
#8089
Eshell remote files fix (patch)
Previous Next
Reported by: Seppo Sade <sepposade1 <at> gmail.com>
Date: Sun, 20 Feb 2011 20:09:01 UTC
Severity: normal
Done: Michael Albinus <michael.albinus <at> gmx.de>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
Your message dated Tue, 22 Feb 2011 06:54:45 +0100
with message-id <87fwrgr4uy.fsf <at> gmx.de>
and subject line Re: bug#8089: Eshell remote files fix (patch)
has caused the GNU bug report #8089,
regarding Eshell remote files fix (patch)
to be marked as done.
(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)
--
8089: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8089
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
[Message part 3 (text/plain, inline)]
The following currently fails in Eshell:
$ sudo bzgrep # Or any shell script in PATH
/bin/sh: /sudo:root <at> localhost:/usr/bin/bzgrep: No such file or directory
This is apparently so because eshell/sudo translates that to a Tramp remote
location, but eshell-external-command fails to handle it as a remote
command. It instead passes the default-directory containing Tramp syntax
directly to the command (shell script), which obviously fails as it doesn't
understand Tramp syntax. The patch below fixes this issue. (Was there any
specific reason for earlier only considering "ftp" being remote, instead of
all Tramp methods?)
--- esh-ext.el.orig 2011-02-18 20:57:50.000000000 +0200
+++ esh-ext.el 2011-02-18 20:58:12.000000000 +0200
@@ -203,7 +203,7 @@
(defun eshell-external-command (command args)
"Insert output from an external COMMAND, using ARGS."
(setq args (eshell-stringify-list (eshell-flatten-list args)))
- (if (string-equal (file-remote-p default-directory 'method) "ftp")
+ (if (file-remote-p default-directory)
(eshell-remote-command command args))
(let ((interp (eshell-find-interpreter command)))
(assert interp)
[Message part 4 (text/html, inline)]
[Message part 5 (message/rfc822, inline)]
Seppo Sade <sepposade1 <at> gmail.com> writes:
> The following currently fails in Eshell:
>
> $ sudo bzgrep # Or any shell script in PATH
> /bin/sh: /sudo:root <at> localhost:/usr/bin/bzgrep: No such file or
> directory
>
> This is apparently so because eshell/sudo translates that to a Tramp
> remote location, but eshell-external-command fails to handle it as a
> remote command. It instead passes the default-directory containing
> Tramp syntax directly to the command (shell script), which obviously
> fails as it doesn't understand Tramp syntax. The patch below fixes
> this issue.
Thanks for the report. I've applied your patch to the trunk (aka Emacs 24).
> (Was there any specific reason for earlier only considering "ftp"
> being remote, instead of all Tramp methods?)
Historical reasons. Originally, eshell used ange-ftp for remote
connections.
Best regards, Michael.
This bug report was last modified 14 years and 154 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.