*** /tmp/ediffixRi1a 2019-07-09 15:02:59.820181485 +0200 --- /home/albinus/src/tramp-2-3-stable/lisp/tramp-sh.el 2019-07-09 14:51:24.538904165 +0200 *************** *** 4465,4484 **** vec 5 "Checking local compress commands `%s', `%s' for sanity" compress decompress) ! (unless ! (zerop ! (tramp-call-local-coding-command ! (format ! "echo %s | %s | %s" magic ! ;; Windows shells need the program file name after ! ;; the pipe symbol be quoted if they use forward ! ;; slashes as directory separators. ! (mapconcat ! 'shell-quote-argument (split-string compress) " ") ! (mapconcat ! 'shell-quote-argument (split-string decompress) " ")) ! nil nil)) ! (throw 'next nil)) (tramp-message vec 5 "Checking remote compress commands `%s', `%s' for sanity" --- 4465,4487 ---- vec 5 "Checking local compress commands `%s', `%s' for sanity" compress decompress) ! (with-temp-buffer ! (unless (and ! (zerop ! (tramp-call-local-coding-command ! (format ! "echo %s | %s | %s" magic ! ;; Windows shells need the program file name ! ;; after the pipe symbol be quoted if they use ! ;; forward slashes as directory separators. ! (mapconcat ! 'shell-quote-argument (split-string compress) " ") ! (mapconcat ! 'shell-quote-argument (split-string decompress) " ")) ! nil t)) ! (string-match ! (concat "^" (regexp-quote magic) "$") (buffer-string))) ! (throw 'next nil))) (tramp-message vec 5 "Checking remote compress commands `%s', `%s' for sanity" *************** *** 4486,4491 **** --- 4489,4498 ---- (unless (tramp-send-command-and-check vec (format "echo %s | %s | %s" magic compress decompress) t) (throw 'next nil)) + (with-current-buffer (tramp-get-buffer vec) + (goto-char (point-min)) + (unless (looking-at (regexp-quote magic)) + (throw 'next nil))) (setq found t))) ;; Did we find something?