aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAleksei Fedotov <aleksei@fedotov.email>2023-01-16 17:52:14 +0100
committerjixiuf <jixiuf@qq.com>2023-01-30 10:46:18 +0800
commit90680707f3af76d3b1e78ae68ac95f9da8c84cbe (patch)
tree96b6a5bd2f18b3486a21bd719b20a5d0bbb99b99
parentac10a67daf23b99c07d38198bcfb268aa432dfa1 (diff)
Use same shell as TRAMP on remotes.
If emacs-vterm is started on a remote, use the same shell as TRAMP. That will guarantee that the shell exists on the remote. A shell could be chosen using `vterm-tramp-shells', but it tied to a specific TRAMP method. However, the same method (ssh) could be used to connected to different remotes, each with different default shell. So, we could use TRAMP to get the shell on per-remote basis.
-rw-r--r--vterm.el1
1 files changed, 1 insertions, 0 deletions
diff --git a/vterm.el b/vterm.el
index 1938ae3..4491228 100644
--- a/vterm.el
+++ b/vterm.el
@@ -760,6 +760,7 @@ Exceptions are defined by `vterm-keymap-exceptions'."
(if (ignore-errors (file-remote-p default-directory))
(with-parsed-tramp-file-name default-directory nil
(or (cadr (assoc method vterm-tramp-shells))
+ (with-connection-local-variables shell-file-name)
vterm-shell))
vterm-shell))