From 2a3427bdff695ef5a7caa32153a31ac229f8c2d2 Mon Sep 17 00:00:00 2001 From: John Benediktsson Date: Wed, 5 Aug 2015 18:33:35 -0700 Subject: [PATCH] io.files.info: use directory?, symbolic-link?, and regular-file?. --- basis/ftp/server/server.factor | 2 +- basis/io/directories/hierarchy/hierarchy.factor | 2 +- basis/io/files/links/links.factor | 2 +- basis/tools/completion/completion.factor | 11 +++++------ basis/vocabs/hierarchy/hierarchy.factor | 4 ++-- extra/codebook/codebook.factor | 2 +- extra/io/files/trash/unix/unix.factor | 2 +- extra/tools/tree/tree.factor | 3 +-- 8 files changed, 13 insertions(+), 15 deletions(-) diff --git a/basis/ftp/server/server.factor b/basis/ftp/server/server.factor index 6e9dc01f1c..6dacaf72cc 100644 --- a/basis/ftp/server/server.factor +++ b/basis/ftp/server/server.factor @@ -72,7 +72,7 @@ C: ftp-disconnect : can-serve-file? ( path -- ? ) { [ exists? ] - [ file-info type>> +regular-file+ = ] + [ file-info regular-file? ] [ serving? ] } 1&& ; diff --git a/basis/io/directories/hierarchy/hierarchy.factor b/basis/io/directories/hierarchy/hierarchy.factor index b39587af2e..663e2c8712 100644 --- a/basis/io/directories/hierarchy/hierarchy.factor +++ b/basis/io/directories/hierarchy/hierarchy.factor @@ -10,7 +10,7 @@ IN: io.directories.hierarchy : directory-tree-files% ( path prefix -- ) [ dup directory-entries ] dip '[ [ name>> [ append-path ] [ _ prepend-path ] bi ] - [ type>> +directory+ = ] bi over , + [ directory? ] bi over , [ directory-tree-files% ] [ 2drop ] if ] with each ; diff --git a/basis/io/files/links/links.factor b/basis/io/files/links/links.factor index 8526321a85..42a5535cca 100644 --- a/basis/io/files/links/links.factor +++ b/basis/io/files/links/links.factor @@ -27,7 +27,7 @@ ERROR: too-many-symlinks path n ; : (follow-links) ( n path -- path' ) over 0 = [ symlink-depth get too-many-symlinks ] when - dup link-info type>> +symbolic-link+ = + dup link-info symbolic-link? [ [ 1 - ] [ follow-link ] bi* (follow-links) ] [ nip ] if ; inline recursive diff --git a/basis/tools/completion/completion.factor b/basis/tools/completion/completion.factor index b3632c9f29..58bf1d4156 100644 --- a/basis/tools/completion/completion.factor +++ b/basis/tools/completion/completion.factor @@ -2,11 +2,10 @@ ! See http://factorcode.org/license.txt for BSD license. USING: accessors arrays assocs colors.constants combinators combinators.short-circuit fry io.directories io.files -io.files.info io.pathnames kernel locals make math math.order -sequences sequences.private sorting splitting typed +io.files.info io.files.types io.pathnames kernel locals make +math math.order sequences sequences.private sorting splitting unicode.categories unicode.data vectors vocabs vocabs.hierarchy ; - IN: tools.completion : directory-paths ( directory -- alist ) dup '[ [ - [ dup _ prepend-path ] - [ file-info directory? [ path-separator append ] when ] + [ name>> dup _ prepend-path ] + [ directory? [ path-separator append ] when ] bi swap ] { } map>assoc - ] with-directory-files ; + ] with-directory-entries ; PRIVATE> diff --git a/basis/vocabs/hierarchy/hierarchy.factor b/basis/vocabs/hierarchy/hierarchy.factor index b80d760b44..96b8723e68 100644 --- a/basis/vocabs/hierarchy/hierarchy.factor +++ b/basis/vocabs/hierarchy/hierarchy.factor @@ -1,7 +1,7 @@ ! Copyright (C) 2007, 2009 Slava Pestov. ! See http://factorcode.org/license.txt for BSD license. USING: accessors arrays assocs combinators.short-circuit fry -io.directories io.files io.files.types io.pathnames kernel make +io.directories io.files io.files.info io.pathnames kernel make memoize namespaces sequences sets sorting splitting vocabs vocabs.loader vocabs.metadata ; IN: vocabs.hierarchy @@ -17,7 +17,7 @@ M: vocab-prefix vocab-name name>> ; : visible-dirs ( seq -- seq' ) [ { - [ type>> +directory+ = ] + [ directory? ] [ name>> "." head? not ] } 1&& ] filter ; diff --git a/extra/codebook/codebook.factor b/extra/codebook/codebook.factor index af05ff2894..0fd960e7f6 100644 --- a/extra/codebook/codebook.factor +++ b/extra/codebook/codebook.factor @@ -45,7 +45,7 @@ TUPLE: code-file : include-file-name? ( name -- ? ) { [ path-components [ "." head? ] any? not ] - [ link-info type>> +regular-file+ = ] + [ link-info regular-file? ] } 1&& ; : code-files ( dir -- files ) diff --git a/extra/io/files/trash/unix/unix.factor b/extra/io/files/trash/unix/unix.factor index 56b474efe8..99d82078a7 100644 --- a/extra/io/files/trash/unix/unix.factor +++ b/extra/io/files/trash/unix/unix.factor @@ -27,7 +27,7 @@ IN: io.files.trash.unix { [ file-info directory? ] [ sticky? ] - [ link-info type>> +symbolic-link+ = not ] + [ link-info symbolic-link? not ] } 1&& [ "invalid trash path" throw ] unless ; : trash-home ( -- path ) diff --git a/extra/tools/tree/tree.factor b/extra/tools/tree/tree.factor index ad0c2e84fc..cf2ab92a5a 100644 --- a/extra/tools/tree/tree.factor +++ b/extra/tools/tree/tree.factor @@ -30,8 +30,7 @@ DEFER: write-tree ] 2bi #directories [ 1 + ] change-global ; : write-entry ( entry indents -- ) - nl over type>> +directory+ = - [ write-dir ] [ write-file ] if ; + nl over directory? [ write-dir ] [ write-file ] if ; :: write-tree ( path indents -- ) path [ -- 2.34.1