[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] master 5ec42d5 1/2: Add extra args for zsh in Tramp

From: Michael Albinus
Subject: [Emacs-diffs] master 5ec42d5 1/2: Add extra args for zsh in Tramp
Date: Wed, 18 Sep 2019 08:13:03 -0400 (EDT)

branch: master
commit 5ec42d5cb5219a73b5f4e9e17624bd01a138aea4
Author: Michael Albinus <address@hidden>
Commit: Michael Albinus <address@hidden>

    Add extra args for zsh in Tramp
    * doc/misc/tramp.texi (Remote shell setup): New subsection
    "Changing the default remote shell".
    * lisp/net/tramp-sh.el (tramp-sh-extra-args): Add entry for zsh.
 doc/misc/tramp.texi  | 29 +++++++++++++++++++++++++++++
 lisp/net/tramp-sh.el |  4 +++-
 2 files changed, 32 insertions(+), 1 deletion(-)

diff --git a/doc/misc/tramp.texi b/doc/misc/tramp.texi
index e6a454b..1ed334b 100644
--- a/doc/misc/tramp.texi
+++ b/doc/misc/tramp.texi
@@ -1591,6 +1591,7 @@ via the @command{CONNECT} command (conforming to RFC 
2616, 2817
 specifications).  Proxy servers using HTTP 1.1 or later protocol
 support this command.
 @subsection Tunneling with ssh
 With ssh, you could use the @code{ProxyCommand} entry in
@@ -1609,6 +1610,7 @@ Any other program with such a feature could be used as 
 In the example, opening @file{@trampfn{ssh,host.your.domain,}} passes
 the HTTP proxy server @samp{proxy.your.domain} on port 3128.
 @subsection Tunneling with PuTTY
 PuTTY does not need an external program, HTTP tunnel support is
@@ -2092,6 +2094,33 @@ be recomputed.  To force @value{tramp} to recompute 
afresh, call
 @node Remote shell setup
 @section Remote shell setup hints
+@subsection Changing the default remote shell
+@cindex zsh setup
+Per default, @value{tramp} uses the command @command{/bin/sh} for
+strting a shell on the remote host.  This can be changed by setting
+the connection property @option{remote-shell}, see @xref{Predefined
+connection information}.  Other properties might be adapted as well,
+like @option{remote-shell-login} or @option{remote-shell-args}.  If
+you want, for example, use @command{/usr/bin/zsh} on a remote host,
+you might apply
+(add-to-list 'tramp-connection-properties
+             (list (regexp-quote "@trampfn{ssh,user@@host,}")
+                   "remote-shell" "/usr/bin/zsh"))
+@end group
+@end lisp
+This approach has also the advantage, that settings in
+@code{tramp-sh-extra-args} will be applied.  For zsh, the trouble
+with the shell prompt due to set zle options will be avoided.
+@subsection Other remote shell setup hints
 @cindex remote shell setup
 @cindex @file{.profile} file
 @cindex @file{.login} file
diff --git a/lisp/net/tramp-sh.el b/lisp/net/tramp-sh.el
index 4bc37f0..8092f6a 100644
--- a/lisp/net/tramp-sh.el
+++ b/lisp/net/tramp-sh.el
@@ -525,7 +525,9 @@ based on the Tramp and Emacs versions, and should not be 
set here."
   :type '(repeat string))
-(defcustom tramp-sh-extra-args '(("/bash\\'" . "-norc -noprofile"))
+(defcustom tramp-sh-extra-args
+  '(("/bash\\'" . "-norc -noprofile")
+    ("/zsh\\'" . "-f +Z"))
   "Alist specifying extra arguments to pass to the remote shell.
 Entries are (REGEXP . ARGS) where REGEXP is a regular expression
 matching the shell file name and ARGS is a string specifying the

reply via email to

[Prev in Thread] Current Thread [Next in Thread]