From c760a600da6dbfa495613aa5042ab073b9490c85 Mon Sep 17 00:00:00 2001 From: Michael Albinus Date: Thu, 5 May 2016 10:23:06 +0200 Subject: [PATCH] tramp-sh.el: Work around a stat bug (backport from master) * lisp/net/tramp-sh.el (tramp-get-remote-stat): Do not use stat versions which produce shell quoted output. See also coreutils Bug#23422. (cherry picked from commit 6aad36ace9953b9672b13be68416d205532d5e59) --- lisp/net/tramp-sh.el | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lisp/net/tramp-sh.el b/lisp/net/tramp-sh.el index 4d529f7aa3..bff6ec3115 100644 --- a/lisp/net/tramp-sh.el +++ b/lisp/net/tramp-sh.el @@ -5522,13 +5522,15 @@ Return ATTR." vec "stat" (tramp-get-remote-path vec))) tmp) ;; Check whether stat(1) returns usable syntax. "%s" does not - ;; work on older AIX systems. + ;; work on older AIX systems. Recent GNU stat versions (8.24?) + ;; use shell quoted format for "%N", we check the boundaries "`" + ;; and "'", therefore. See Bug#23422 in coreutils. (when result (setq tmp (tramp-send-command-and-read vec (format "%s -c '(\"%%N\" %%s)' /" result) 'noerror)) (unless (and (listp tmp) (stringp (car tmp)) - (string-match "^./.$" (car tmp)) + (string-match "^`/'$" (car tmp)) (integerp (cadr tmp))) (setq result nil))) result))) -- 2.39.2