Skip to content

Commit 007bf9a

Browse files
committed
Hide temporary FUSE files in Tramp
* lisp/net/tramp-fuse.el (tramp-fuse-remove-hidden-files): New defsubst. (tramp-fuse-handle-directory-files) (tramp-fuse-handle-file-name-all-completions): Use it.
1 parent 5dbaddc commit 007bf9a

File tree

1 file changed

+23
-15
lines changed

1 file changed

+23
-15
lines changed

lisp/net/tramp-fuse.el

Lines changed: 23 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,12 @@
4444
(delete-file (tramp-fuse-local-file-name filename) trash)
4545
(tramp-flush-file-properties v localname)))
4646

47+
(defsubst tramp-fuse-remove-hidden-files (files)
48+
"Remove hidden files from FILES."
49+
(cl-remove-if
50+
(lambda (x) (and (stringp x) (string-match-p "\\.fuse_hidden" x)))
51+
files))
52+
4753
(defun tramp-fuse-handle-directory-files
4854
(directory &optional full match nosort count)
4955
"Like `directory-files' for Tramp files."
@@ -75,7 +81,8 @@
7581
result)))
7682
(setq result (cons item result))))
7783
;; Return result.
78-
(if nosort result (sort result #'string<))))))
84+
(tramp-fuse-remove-hidden-files
85+
(if nosort result (sort result #'string<)))))))
7986

8087
(defun tramp-fuse-handle-file-attributes (filename &optional id-format)
8188
"Like `file-attributes' for Tramp files."
@@ -92,20 +99,21 @@
9299

93100
(defun tramp-fuse-handle-file-name-all-completions (filename directory)
94101
"Like `file-name-all-completions' for Tramp files."
95-
(all-completions
96-
filename
97-
(delete-dups
98-
(append
99-
(file-name-all-completions
100-
filename (tramp-fuse-local-file-name directory))
101-
;; Some storage systems do not return "." and "..".
102-
(let (result)
103-
(dolist (item '(".." ".") result)
104-
(when (string-prefix-p filename item)
105-
(catch 'match
106-
(dolist (elt completion-regexp-list)
107-
(unless (string-match-p elt item) (throw 'match nil)))
108-
(setq result (cons (concat item "/") result))))))))))
102+
(tramp-fuse-remove-hidden-files
103+
(all-completions
104+
filename
105+
(delete-dups
106+
(append
107+
(file-name-all-completions
108+
filename (tramp-fuse-local-file-name directory))
109+
;; Some storage systems do not return "." and "..".
110+
(let (result)
111+
(dolist (item '(".." ".") result)
112+
(when (string-prefix-p filename item)
113+
(catch 'match
114+
(dolist (elt completion-regexp-list)
115+
(unless (string-match-p elt item) (throw 'match nil)))
116+
(setq result (cons (concat item "/") result)))))))))))
109117

110118
(defun tramp-fuse-handle-file-readable-p (filename)
111119
"Like `file-readable-p' for Tramp files."

0 commit comments

Comments
 (0)