diff --git a/lisp/tramp-gvfs.el b/lisp/tramp-gvfs.el index d3af9f47..6826fac0 100644 --- a/lisp/tramp-gvfs.el +++ b/lisp/tramp-gvfs.el @@ -1385,7 +1385,8 @@ If FILE-SYSTEM is non-nil, return file system attributes." "Like `file-executable-p' for Tramp files." (with-parsed-tramp-file-name filename nil (with-tramp-file-property v localname "file-executable-p" - (tramp-check-cached-permissions v ?x)))) + (or (tramp-check-cached-permissions v ?x) + (tramp-check-cached-permissions v ?s))))) (defun tramp-gvfs-handle-file-name-all-completions (filename directory) "Like `file-name-all-completions' for Tramp files." diff --git a/lisp/tramp-sh.el b/lisp/tramp-sh.el index 98192bd9..ea089224 100644 --- a/lisp/tramp-sh.el +++ b/lisp/tramp-sh.el @@ -1585,6 +1585,7 @@ ID-FORMAT valid values are `string' and `integer'." ;; Examine `file-attributes' cache to see if request can be ;; satisfied without remote operation. (or (tramp-check-cached-permissions v ?x) + (tramp-check-cached-permissions v ?s) (tramp-run-test "-x" filename))))) (defun tramp-sh-handle-file-readable-p (filename) diff --git a/lisp/tramp.el b/lisp/tramp.el index 83437eaf..cd026840 100644 --- a/lisp/tramp.el +++ b/lisp/tramp.el @@ -5434,7 +5434,8 @@ be granted." (offset (cond ((eq ?r access) 1) ((eq ?w access) 2) - ((eq ?x access) 3)))) + ((eq ?x access) 3) + ((eq ?s access) 3)))) (dolist (suffix '("string" "integer") result) (setq result