# HG changeset patch # User Michael Albinus # Date 1294691769 -3600 # Node ID 014879f0bfbb73cf0288225a4ad28ee35c69c653 # Parent baabeab57e3e2a2ab1323e0acac6b35e10a14b2a * net/tramp.el (tramp-find-inline-compress) (tramp-get-inline-coding): Quote command after pipe symbol for local calls under W32. (Bug#6784) diff -r baabeab57e3e -r 014879f0bfbb lisp/ChangeLog --- 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 + + * 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 * net/tramp.el (tramp-default-method): Initialize with pscp/plink diff -r baabeab57e3e -r 014879f0bfbb lisp/net/tramp.el --- 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