From 21e87ece97e90f5500bd49b84dca08d97bd4f155 Mon Sep 17 00:00:00 2001 From: Michael Albinus Date: Thu, 26 May 2016 19:57:13 +0200 Subject: [PATCH] Fix Bug#23614. * lisp/net/tramp-sh.el (tramp-maybe-open-connection): Let-bind `process-coding-system-alist' in order to suppress the value for "cmdproxy". * lisp/net/tramp.el (tramp-encoding-shell): `w32-shell-name' is a function. (tramp-encoding-command-switch) (tramp-encoding-command-interactive): Use `w32-shell-dos-semantics'. * test/lisp/net/tramp-tests.el (tramp-test24-file-name-completion): Suppress some tests on MS Windows. (Bug#23614) --- lisp/net/tramp-sh.el | 3 +++ lisp/net/tramp.el | 9 ++++----- test/lisp/net/tramp-tests.el | 6 ++++-- 3 files changed, 11 insertions(+), 7 deletions(-) diff --git a/lisp/net/tramp-sh.el b/lisp/net/tramp-sh.el index 3fb15888ca..14c6f94985 100644 --- a/lisp/net/tramp-sh.el +++ b/lisp/net/tramp-sh.el @@ -4790,6 +4790,9 @@ connection if a previous connection has died for some reason." (options (tramp-ssh-controlmaster-options vec)) (process-connection-type tramp-process-connection-type) (process-adaptive-read-buffering nil) + ;; There are unfortune settings for "cmdproxy" on + ;; W32 systems. + (process-coding-system-alist nil) (coding-system-for-read nil) ;; This must be done in order to avoid our file ;; name handler. diff --git a/lisp/net/tramp.el b/lisp/net/tramp.el index d6911def5f..28fc9c748b 100644 --- a/lisp/net/tramp.el +++ b/lisp/net/tramp.el @@ -120,9 +120,7 @@ This setting has precedence over `auto-save-file-name-transforms'." (directory :tag "Auto save directory name"))) (defcustom tramp-encoding-shell - (if (boundp 'w32-shell-name) - (symbol-value 'w32-shell-name) - "/bin/sh") + (or (tramp-compat-funcall 'w32-shell-name) "/bin/sh") "Use this program for encoding and decoding commands on the local host. This shell is used to execute the encoding and decoding command on the local host, so if you want to use `~' in those commands, you should @@ -145,14 +143,15 @@ use for the remote host." :group 'tramp :type '(file :must-match t)) -(defcustom tramp-encoding-command-switch (if (boundp 'w32-shell-name) "/c" "-c") +(defcustom tramp-encoding-command-switch + (if (tramp-compat-funcall 'w32-shell-dos-semantics) "/c" "-c") "Use this switch together with `tramp-encoding-shell' for local commands. See the variable `tramp-encoding-shell' for more information." :group 'tramp :type 'string) (defcustom tramp-encoding-command-interactive - (unless (boundp 'w32-shell-name) "-i") + (unless (tramp-compat-funcall 'w32-shell-dos-semantics) "-i") "Use this switch together with `tramp-encoding-shell' for interactive shells. See the variable `tramp-encoding-shell' for more information." :version "24.1" diff --git a/test/lisp/net/tramp-tests.el b/test/lisp/net/tramp-tests.el index 6553421c5b..468ed4a36f 100644 --- a/test/lisp/net/tramp-tests.el +++ b/test/lisp/net/tramp-tests.el @@ -1380,8 +1380,10 @@ This tests also `make-symbolic-link', `file-truename' and `add-name-to-file'." (unwind-protect (progn - ;; Method and host name in completion mode. - (when (tramp-completion-mode-p) + ;; Method and host name in completion mode. This kind of + ;; completion does not work on MS Windows. + (when (and (tramp-completion-mode-p) + (not (memq system-type '(cygwin windows-nt)))) (unless (zerop (length method)) (should (member -- 2.39.2