Mercurial > emacs
changeset 112251:014879f0bfbb
* net/tramp.el (tramp-find-inline-compress)
(tramp-get-inline-coding): Quote command after pipe symbol for
local calls under W32. (Bug#6784)
author | Michael Albinus <michael.albinus@gmx.de> |
---|---|
date | Mon, 10 Jan 2011 21:36:09 +0100 |
parents | baabeab57e3e |
children | 6409a00a5462 |
files | lisp/ChangeLog lisp/net/tramp.el |
diffstat | 2 files changed, 35 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/ChangeLog Mon Jan 10 20:42:46 2011 +0100 +++ b/lisp/ChangeLog Mon Jan 10 21:36:09 2011 +0100 @@ -1,3 +1,9 @@ +2011-01-10 Michael Albinus <michael.albinus@gmx.de> + + * net/tramp.el (tramp-find-inline-compress) + (tramp-get-inline-coding): Quote command after pipe symbol for + local calls under W32. (Bug#6784) + 2011-01-10 Michael Albinus <michael.albinus@gmx.de> * net/tramp.el (tramp-default-method): Initialize with pscp/plink
--- a/lisp/net/tramp.el Mon Jan 10 20:42:46 2011 +0100 +++ b/lisp/net/tramp.el Mon Jan 10 21:36:09 2011 +0100 @@ -7362,9 +7362,17 @@ vec 5 "Checking local compress command `%s', `%s' for sanity" compress decompress) - (unless (zerop (tramp-call-local-coding-command - (format "echo %s | %s | %s" - magic compress decompress) nil nil)) + (unless + (zerop + (tramp-call-local-coding-command + (format + ;; Windows shells need the program file name after + ;; the pipe symbol be quoted if they use forward + ;; slashes as directory separators. + (if (memq system-type '(windows-nt)) + "echo %s | \"%s\" | \"%s\"" + "echo %s | %s | %s") + magic compress decompress) nil nil)) (throw 'next nil)) (tramp-message vec 5 @@ -8645,9 +8653,25 @@ ((symbolp coding) coding) ((and compress (string-match "decoding" prop)) - (format "(%s | %s >%%s)" coding compress)) + (format + ;; Windows shells need the program file name after + ;; the pipe symbol be quoted if they use forward + ;; slashes as directory separators. + (if (and (string-match "local" prop) + (memq system-type '(windows-nt))) + "(%s | \"%s\" >%%s)" + "(%s | %s >%%s)") + coding compress)) (compress - (format "(%s <%%s | %s)" compress coding)) + (format + ;; Windows shells need the program file name after + ;; the pipe symbol be quoted if they use forward + ;; slashes as directory separators. + (if (and (string-match "local" prop) + (memq system-type '(windows-nt))) + "(%s <%%s | \"%s\")" + "(%s <%%s | %s)") + compress coding)) ((string-match "decoding" prop) (format "%s >%%s" coding)) (t