diff --git a/lisp/net/tramp.el b/lisp/net/tramp.el index ef1e4206b6c..27c6dfde334 100644 --- a/lisp/net/tramp.el +++ b/lisp/net/tramp.el @@ -505,7 +505,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 1532cbe0493..569e9506d1e 100644 --- a/test/lisp/net/tramp-tests.el +++ b/test/lisp/net/tramp-tests.el @@ -5092,6 +5092,7 @@ If UNSTABLE is non-nil, the test is tagged as `:unstable'." :tags '(:expensive-test :tramp-asynchronous-processes :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 27.1. (skip-unless (macrop 'with-connection-local-variables))