Subject: 28.0.50; [PATCH] tramp-scp-strict-file-name-checking fails on macOS 10.14

From: Alex Bochannek <[email-masked]>
Date: Thu, 22 Jul 2021 12:42:53 -0700

Hello!

On macOS 10.14 (and some 10.15) with a pre-8.0 OpenSSH, the check for
the `-T' option when using SCP gives an incorrect result because the
error message (presumably from the BSD getopt(3)) is different than what
is checked for. The below patch fixes that.

Apple upgraded OpenSSH from 7.9 to 8.1 for macOS 10.15.4 and with that
the `-T' option to SCP became available.
diff --git a/lisp/net/tramp-sh.el b/lisp/net/tramp-sh.el
index 8b4c78fe65..f94508303d 100644
--- a/lisp/net/tramp-sh.el
+++ b/lisp/net/tramp-sh.el
@@ -4782,7 +4782,9 @@ tramp-scp-strict-file-name-checking
 	      (with-temp-buffer
 		(tramp-call-process vec "scp" nil t nil "-T")
 		(goto-char (point-min))
-		(unless (search-forward-regexp "unknown option -- T" nil t)
+		(unless
+                    (search-forward-regexp
+                     "\\(illegal\\|unknown\\) option -- T" nil t)
 		  (setq tramp-scp-strict-file-name-checking "-T")))))))
       tramp-scp-strict-file-name-checking)))
Thanks!

-- 
Alex.