Fix problem with Solaris ls in Tramp

* lisp/net/tramp-sh.el (tramp-sunos-unames): Move up.
(tramp-sh--quoting-style-options): Handle erroneous Solaris ls.
This commit is contained in:
Michael Albinus 2022-04-23 08:50:33 +02:00
parent 43ed7b1e0f
commit a7dde05cb3

View file

@ -1189,12 +1189,18 @@ component is used as the target of the symlink."
;; The scripts could fail, for example with huge file size.
(tramp-do-file-attributes-with-ls v localname id-format))))))))
(defconst tramp-sunos-unames (regexp-opt '("SunOS 5.10" "SunOS 5.11"))
"Regexp to determine remote SunOS.")
(defun tramp-sh--quoting-style-options (vec)
"Quoting style options to be used for VEC."
(or
(tramp-get-ls-command-with
vec "--quoting-style=literal --show-control-chars")
(tramp-get-ls-command-with vec "-w")
;; ls on Solaris does not return an error in that case. We've got
;; reports for "SunOS 5.11" so far.
(unless (tramp-check-remote-uname vec tramp-sunos-unames)
(tramp-get-ls-command-with vec "-w"))
""))
(defun tramp-do-file-attributes-with-ls (vec localname &optional id-format)
@ -3990,9 +3996,6 @@ Returns the exit code of the `test' program."
switch
(tramp-shell-quote-argument localname)))))
(defconst tramp-sunos-unames (regexp-opt '("SunOS 5.10" "SunOS 5.11"))
"Regexp to determine remote SunOS.")
(defun tramp-find-executable
(vec progname dirlist &optional ignore-tilde ignore-path)
"Search for PROGNAME in $PATH and all directories mentioned in DIRLIST.