]> git.eshelyaron.com Git - emacs.git/commitdiff
Support stat 8.26 in Tramp
authorMichael Albinus <michael.albinus@gmx.de>
Wed, 11 Jan 2017 16:13:41 +0000 (17:13 +0100)
committerMichael Albinus <michael.albinus@gmx.de>
Wed, 11 Jan 2017 16:13:41 +0000 (17:13 +0100)
* lisp/net/tramp-sh.el (tramp-get-remote-stat): Use QUOTING_STYLE
environment variable of newer coreutils.  (Bug#23422)

lisp/net/tramp-sh.el

index 71a388767d0dc9cfc2d7c387284dbabd2af9b6bd..a3641c6c401d642ed4d53f4cede8e653beb52866 100644 (file)
@@ -5357,12 +5357,14 @@ Nonexistent directories are removed from spec."
       ;; 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.
+      ;; Since GNU stat 8.26, environment variable QUOTING_STYLE is
+      ;; supported.
       (when result
-       (setq tmp
-             (tramp-send-command-and-read
-              vec (format "%s -c '(\"%%N\" %%s)' /" result) 'noerror))
+       (setq result (concat "env QUOTING_STYLE=locale " result)
+             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)))