[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#27169: eshell/sudo doesn't work with protected directories
From: |
npostavs |
Subject: |
bug#27169: eshell/sudo doesn't work with protected directories |
Date: |
Wed, 07 Jun 2017 20:20:47 -0400 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/25.2.50 (gnu/linux) |
tags 27169 = patch
quit
Yegor Timoshenko <yegortimoshenko@gmail.com> writes:
> GNU Emacs 25.2.1 (x86_64-apple-darwin13.4.0, NS appkit-1265.21 Version 10.9.5
> (Build 13F1911)) of 2017-04-21
>
> Yes, it's reproducible with -Q flag, provided that you execute (require
> 'em-tramp) in *scratch* buffer.
Hmm, for some reason that doesn't work for me (possibly another bug),
but if I use 'eshell/sudo' instead of plain 'sudo' I can reproduce your problem.
The following fixes it:
>From e3d96af45b85a9ed9b96a12cae3e68eb21a2de47 Mon Sep 17 00:00:00 2001
From: Noam Postavsky <npostavs@gmail.com>
Date: Wed, 7 Jun 2017 18:48:39 -0400
Subject: [PATCH v1] Let eshell/sudo handle absolute command names (Bug#27167)
* lisp/eshell/esh-ext.el (eshell-find-interpreter): Don't change
absolute paths into relative ones.
---
lisp/eshell/esh-ext.el | 12 +++++++-----
1 file changed, 7 insertions(+), 5 deletions(-)
diff --git a/lisp/eshell/esh-ext.el b/lisp/eshell/esh-ext.el
index fb1fedc9c5..2a495225dc 100644
--- a/lisp/eshell/esh-ext.el
+++ b/lisp/eshell/esh-ext.el
@@ -299,11 +299,13 @@ (defun eshell-find-interpreter (file args &optional
no-examine-p)
(let ((fullname (if (file-name-directory file) file
(eshell-search-path file)))
(suffixes eshell-binary-suffixes))
- (if (and fullname
- (not (file-remote-p fullname))
- (file-remote-p default-directory))
- (setq fullname (expand-file-name
- (concat "./" fullname) default-directory)))
+ (when (and fullname
+ (not (file-remote-p fullname))
+ (file-remote-p default-directory))
+ (setq fullname
+ (if (file-name-absolute-p fullname)
+ (concat (file-remote-p default-directory) fullname)
+ (expand-file-name fullname default-directory))))
(if (and fullname (not (or eshell-force-execution
(file-executable-p fullname))))
(while suffixes
--
2.11.1