summaryrefslogtreecommitdiff
path: root/lisp/shell.el
diff options
context:
space:
mode:
Diffstat (limited to 'lisp/shell.el')
-rw-r--r--lisp/shell.el14
1 files changed, 9 insertions, 5 deletions
diff --git a/lisp/shell.el b/lisp/shell.el
index b575024e016..cb4afe6dea8 100644
--- a/lisp/shell.el
+++ b/lisp/shell.el
@@ -766,12 +766,16 @@ Make the shell buffer the current buffer, and return it.
(called-interactively-p 'any)
(null explicit-shell-file-name)
(null (getenv "ESHELL")))
+ ;; `expand-file-name' shall not add the MS Windows volume letter
+ ;; (Bug#49229).
(setq-local explicit-shell-file-name
- (file-local-name
- (expand-file-name
- (read-file-name "Remote shell path: " default-directory
- shell-file-name t shell-file-name
- #'file-remote-p)))))
+ (replace-regexp-in-string
+ "^[[:alpha:]]:" ""
+ (file-local-name
+ (expand-file-name
+ (read-file-name "Remote shell path: " default-directory
+ shell-file-name t shell-file-name
+ #'file-remote-p))))))
;; Rain or shine, BUFFER must be current by now.
(unless (comint-check-proc buffer)