diff --git a/lisp/net/tramp.el b/lisp/net/tramp.el index 63ea8a283c6..3ee11691395 100644 --- a/lisp/net/tramp.el +++ b/lisp/net/tramp.el @@ -497,7 +497,8 @@ interpreted as a regular expression which always matches." ;; either lower case or upper case letters. See ;; . (defcustom tramp-restricted-shell-hosts-alist - (when (eq system-type 'windows-nt) + (when (and (eq system-type 'windows-nt) + (not (string-match-p "sh$" tramp-encoding-shell))) (list (format "\\`\\(%s\\|%s\\)\\'" (regexp-quote (downcase tramp-system-name)) (regexp-quote (upcase tramp-system-name))))) diff --git a/test/lisp/net/tramp-tests.el b/test/lisp/net/tramp-tests.el index dbf62dbc1cf..61fa6a5ae4e 100644 --- a/test/lisp/net/tramp-tests.el +++ b/test/lisp/net/tramp-tests.el @@ -5019,6 +5019,7 @@ If UNSTABLE is non-nil, the test is tagged as `:unstable'." '(:unstable))) (skip-unless (tramp--test-enabled)) (skip-unless (tramp--test-sh-p)) + (skip-unless (not (tramp--test-windows-nt-p))) (skip-unless (not (tramp--test-crypt-p))) ;; Since Emacs 26.1. (skip-unless (boundp 'interrupt-process-functions))