guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

01/10: discovery: 'scheme-files' ignores hidden files.


From: guix-commits
Subject: 01/10: discovery: 'scheme-files' ignores hidden files.
Date: Fri, 26 Jul 2019 19:06:05 -0400 (EDT)

civodul pushed a commit to branch master
in repository guix.

commit 548e0af4da4e2e9311bc696831a80eedbc5b5798
Author: Ludovic Courtès <address@hidden>
Date:   Fri Jul 26 21:49:25 2019 +0200

    discovery: 'scheme-files' ignores hidden files.
    
    * guix/discovery.scm (scheme-files)[dot-prefixed?]: New procedure.
    Use it to exclude any file starting with ".".
---
 guix/discovery.scm | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/guix/discovery.scm b/guix/discovery.scm
index 468b6c5..7c5fed7 100644
--- a/guix/discovery.scm
+++ b/guix/discovery.scm
@@ -51,13 +51,15 @@ DIRECTORY is not accessible."
       ((? symbol? type)
        type)))
 
+  (define (dot-prefixed? file)
+    (string-prefix? "." file))
+
   ;; Use 'scandir*' so we can avoid an extra 'lstat' for each entry, as
   ;; opposed to Guile's 'scandir' or 'file-system-fold'.
   (fold-right (lambda (entry result)
                 (match entry
-                  (("." . _)
-                   result)
-                  ((".." . _)
+                  (((? dot-prefixed?) . _)
+                   ;; Exclude ".", "..", and hidden files such as backups.
                    result)
                   ((name . properties)
                    (let ((absolute (string-append directory "/" name)))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]