diff --git a/lisp/eshell/esh-proc.el b/lisp/eshell/esh-proc.el index 94401c5daa..97170eb04b 100644 --- a/lisp/eshell/esh-proc.el +++ b/lisp/eshell/esh-proc.el @@ -279,11 +279,9 @@ eshell-gather-process-output (let ((process-connection-type (unless (eshell-needs-pipe-p command) process-connection-type)) - (command (file-local-name command))) + (command (file-local-name (expand-file-name command)))) (apply 'start-file-process - (file-name-nondirectory command) nil - ;; `start-process' can't deal with relative filenames. - (append (list (expand-file-name command)) args)))) + (file-name-nondirectory command) nil command args))) (eshell-record-process-object proc) (set-process-buffer proc (current-buffer)) (if (eshell-interactive-output-p) diff --git a/lisp/net/tramp.el b/lisp/net/tramp.el index 5fa9f9a44d..5302659b32 100644 --- a/lisp/net/tramp.el +++ b/lisp/net/tramp.el @@ -4580,10 +4580,11 @@ tramp-eshell-directory-change (or ;; When `tramp-own-remote-path' is in `tramp-remote-path', ;; the remote path is only set in the session cache. + ;; Use `path-separator' as it does eshell. (tramp-get-connection-property (tramp-get-connection-process v) "remote-path" nil) (tramp-get-connection-property v "remote-path" nil)) - ":")) + path-separator)) (getenv "PATH")))) (eval-after-load "esh-util"