diff --git a/basis/alien/strings/windows/tags.txt b/basis/alien/strings/windows/tags.txt new file mode 100644 index 0000000000..6bf68304bb --- /dev/null +++ b/basis/alien/strings/windows/tags.txt @@ -0,0 +1 @@ +unportable diff --git a/basis/bootstrap/image/image-docs.factor b/basis/bootstrap/image/image-docs.factor index 91aa22b738..3856382ffb 100644 --- a/basis/bootstrap/image/image-docs.factor +++ b/basis/bootstrap/image/image-docs.factor @@ -1,4 +1,4 @@ -USING: help.markup help.syntax io io.files ; +USING: help.markup help.syntax io io.files io.pathnames ; IN: bootstrap.image ARTICLE: "bootstrap.image" "Bootstrapping new images" diff --git a/basis/bootstrap/image/image.factor b/basis/bootstrap/image/image.factor index c7d87776a1..d9ecdf22eb 100644 --- a/basis/bootstrap/image/image.factor +++ b/basis/bootstrap/image/image.factor @@ -1,14 +1,15 @@ ! Copyright (C) 2004, 2008 Slava Pestov. ! See http://factorcode.org/license.txt for BSD license. USING: alien arrays byte-arrays generic assocs hashtables assocs -hashtables.private io kernel kernel.private math namespaces make -parser prettyprint sequences sequences.private strings sbufs +hashtables.private io io.binary io.files io.encodings.binary +io.pathnames kernel kernel.private math namespaces make parser +prettyprint sequences sequences.private strings sbufs vectors words quotations assocs system layouts splitting grouping growable classes classes.builtin classes.tuple -classes.tuple.private words.private io.binary io.files vocabs +classes.tuple.private words.private vocabs vocabs.loader source-files definitions debugger quotations.private sequences.private combinators -io.encodings.binary math.order math.private accessors +math.order math.private accessors slots.private compiler.units ; IN: bootstrap.image diff --git a/basis/bootstrap/image/upload/upload.factor b/basis/bootstrap/image/upload/upload.factor index f0edf85e65..d70a253e5f 100644 --- a/basis/bootstrap/image/upload/upload.factor +++ b/basis/bootstrap/image/upload/upload.factor @@ -2,7 +2,8 @@ ! See http://factorcode.org/license.txt for BSD license. USING: checksums checksums.openssl splitting assocs kernel io.files bootstrap.image sequences io namespaces make -io.launcher math io.encodings.ascii ; +io.launcher math io.encodings.ascii io.files.temp io.pathnames +io.directories ; IN: bootstrap.image.upload SYMBOL: upload-images-destination diff --git a/basis/editors/editors.factor b/basis/editors/editors.factor index 6b49c939c3..53887bd353 100644 --- a/basis/editors/editors.factor +++ b/basis/editors/editors.factor @@ -1,9 +1,9 @@ ! Copyright (C) 2005, 2008 Slava Pestov. ! See http://factorcode.org/license.txt for BSD license. USING: parser lexer kernel namespaces sequences definitions -io.files summary continuations tools.crossref tools.vocabs io -prettyprint source-files assocs vocabs vocabs.loader io.backend -splitting accessors ; +io.files io.backend io.pathnames io summary continuations +tools.crossref tools.vocabs prettyprint source-files assocs +vocabs vocabs.loader splitting accessors ; IN: editors TUPLE: no-edit-hook ; diff --git a/basis/editors/jedit/jedit.factor b/basis/editors/jedit/jedit.factor index fe9abc0e76..e34f0ce175 100644 --- a/basis/editors/jedit/jedit.factor +++ b/basis/editors/jedit/jedit.factor @@ -4,7 +4,7 @@ USING: arrays definitions io kernel math namespaces parser prettyprint sequences strings words editors io.files io.sockets io.streams.byte-array io.binary math.parser io.encodings.ascii io.encodings.binary -io.encodings.utf8 io.files.private ; +io.encodings.utf8 io.files.private io.pathnames ; IN: editors.jedit : jedit-server-info ( -- port auth ) diff --git a/basis/http/client/client-docs.factor b/basis/http/client/client-docs.factor index 7a35ba812b..7031f5d16c 100644 --- a/basis/http/client/client-docs.factor +++ b/basis/http/client/client-docs.factor @@ -1,4 +1,4 @@ -USING: http help.markup help.syntax io.files io.streams.string +USING: http help.markup help.syntax io.pathnames io.streams.string io.encodings.8-bit io.encodings.binary kernel strings urls urls.encoding byte-arrays strings assocs sequences ; IN: http.client diff --git a/basis/http/client/client.factor b/basis/http/client/client.factor index 108ae5ecc4..fc6e296a4f 100644 --- a/basis/http/client/client.factor +++ b/basis/http/client/client.factor @@ -1,17 +1,12 @@ ! Copyright (C) 2005, 2008 Slava Pestov. ! See http://factorcode.org/license.txt for BSD license. USING: accessors assocs kernel math math.parser namespaces make -sequences io io.sockets io.streams.string io.files io.timeouts -strings splitting calendar continuations accessors vectors +sequences strings splitting calendar continuations accessors vectors math.order hashtables byte-arrays destructors -io.encodings -io.encodings.string -io.encodings.ascii -io.encodings.utf8 -io.encodings.8-bit -io.encodings.binary -io.streams.duplex -fry ascii urls urls.encoding present +io io.sockets io.streams.string io.files io.timeouts +io.pathnames io.encodings io.encodings.string io.encodings.ascii +io.encodings.utf8 io.encodings.8-bit io.encodings.binary +io.streams.duplex fry ascii urls urls.encoding present http http.parsers ; IN: http.client diff --git a/basis/io/directories/directories-docs.factor b/basis/io/directories/directories-docs.factor index 1638958e02..edfcf480b0 100644 --- a/basis/io/directories/directories-docs.factor +++ b/basis/io/directories/directories-docs.factor @@ -1,3 +1,5 @@ +USING: help.markup help.syntax io.files.private io.pathnames +quotations ; IN: io.directories HELP: cwd @@ -73,12 +75,6 @@ HELP: touch-file { $description "Updates the modification time of a file or directory. If the file does not exist, creates a new, empty file." } { $errors "Throws an error if the file could not be touched." } ; -HELP: delete-tree -{ $values { "path" "a pathname string" } } -{ $description "Deletes a file or directory, recursing into subdirectories." } -{ $errors "Throws an error if the deletion fails." } -{ $warning "Misuse of this word can lead to catastrophic data loss." } ; - HELP: move-file { $values { "from" "a pathname string" } { "to" "a pathname string" } } { $description "Moves or renames a file." } @@ -110,22 +106,6 @@ HELP: copy-files-into { $description "Copies a set of files to another directory." } { $errors "Throws an error if the file does not exist or if the copy operation fails." } ; -HELP: copy-tree -{ $values { "from" "a pathname string" } { "to" "a pathname string" } } -{ $description "Copies a directory tree recursively." } -{ $notes "This operation attempts to preserve original file attributes, however not all attributes may be preserved." } -{ $errors "Throws an error if the copy operation fails." } ; - -HELP: copy-tree-into -{ $values { "from" "a pathname string" } { "to" "a directory pathname string" } } -{ $description "Copies a directory tree to another directory, recursively." } -{ $errors "Throws an error if the copy operation fails." } ; - -HELP: copy-trees-into -{ $values { "files" "a sequence of pathname strings" } { "to" "a directory pathname string" } } -{ $description "Copies a set of directory trees to another directory, recursively." } -{ $errors "Throws an error if the copy operation fails." } ; - ARTICLE: "current-directory" "Current working directory" "File system I/O operations use the value of a variable to resolve relative pathnames:" { $subsection current-directory } @@ -165,7 +145,6 @@ $nl "Deleting files:" { $subsection delete-file } { $subsection delete-directory } -{ $subsection delete-tree } "Moving files:" { $subsection move-file } { $subsection move-file-into } @@ -174,10 +153,6 @@ $nl { $subsection copy-file } { $subsection copy-file-into } { $subsection copy-files-into } -"Copying directory trees recursively:" -{ $subsection copy-tree } -{ $subsection copy-tree-into } -{ $subsection copy-trees-into } "On most operating systems, files can only be moved within the same file system. To move files between file systems, use " { $link copy-file } " followed by " { $link delete-file } " on the old name." ; ARTICLE: "io.directories" "Directory manipulation" diff --git a/basis/io/directories/directories-tests.factor b/basis/io/directories/directories-tests.factor index 0dd759d2b9..b703421b45 100644 --- a/basis/io/directories/directories-tests.factor +++ b/basis/io/directories/directories-tests.factor @@ -1,6 +1,7 @@ USING: continuations destructors io io.directories -io.encodings.ascii io.encodings.utf8 io.files io.files.info -io.files.temp io.pathnames kernel sequences tools.test ; +io.directories.hierarchy io.encodings.ascii io.encodings.utf8 +io.files io.files.info io.files.temp io.pathnames kernel +sequences tools.test ; IN: io.directories.tests [ { "kernel" } ] [ diff --git a/basis/io/directories/directories.factor b/basis/io/directories/directories.factor index b6cc521851..0b8fa13791 100644 --- a/basis/io/directories/directories.factor +++ b/basis/io/directories/directories.factor @@ -1,8 +1,8 @@ ! Copyright (C) 2004, 2008 Slava Pestov, Doug Coleman. ! See http://factorcode.org/license.txt for BSD license. USING: accessors combinators destructors io io.backend -io.encodings.binary io.files io.files.info io.files.links -io.pathnames kernel namespaces sequences system vocabs.loader ; +io.encodings.binary io.files io.pathnames kernel namespaces +sequences system vocabs.loader fry ; IN: io.directories : set-current-directory ( path -- ) @@ -42,7 +42,7 @@ HOOK: (directory-entries) os ( path -- seq ) directory-entries [ name>> ] map ; : with-directory-files ( path quot -- ) - [ "" directory-files ] prepose with-directory ; inline + '[ "" directory-files @ ] with-directory ; inline ! Touching files HOOK: touch-file io-backend ( path -- ) @@ -52,13 +52,6 @@ HOOK: delete-file io-backend ( path -- ) HOOK: delete-directory io-backend ( path -- ) -: delete-tree ( path -- ) - dup link-info type>> +directory+ = [ - [ [ [ delete-tree ] each ] with-directory-files ] - [ delete-directory ] - bi - ] [ delete-file ] if ; - : to-directory ( from to -- from to' ) over file-name append-path ; @@ -69,7 +62,7 @@ HOOK: move-file io-backend ( from to -- ) to-directory move-file ; : move-files-into ( files to -- ) - [ move-file-into ] curry each ; + '[ _ move-file-into ] each ; ! Copying files HOOK: copy-file io-backend ( from to -- ) @@ -86,28 +79,7 @@ M: object copy-file to-directory copy-file ; : copy-files-into ( files to -- ) - [ copy-file-into ] curry each ; - -DEFER: copy-tree-into - -: copy-tree ( from to -- ) - normalize-path - over link-info type>> - { - { +symbolic-link+ [ copy-link ] } - { +directory+ [ - swap [ - [ swap copy-tree-into ] with each - ] with-directory-files - ] } - [ drop copy-file ] - } case ; - -: copy-tree-into ( from to -- ) - to-directory copy-tree ; - -: copy-trees-into ( files to -- ) - [ copy-tree-into ] curry each ; + '[ _ copy-file-into ] each ; { { [ os unix? ] [ "io.directories.unix" require ] } diff --git a/basis/io/directories/hierarchy/hierarchy-docs.factor b/basis/io/directories/hierarchy/hierarchy-docs.factor new file mode 100644 index 0000000000..8b3ca7391d --- /dev/null +++ b/basis/io/directories/hierarchy/hierarchy-docs.factor @@ -0,0 +1,36 @@ +USING: help.markup help.syntax ; +IN: io.directories.hierarchy + +HELP: delete-tree +{ $values { "path" "a pathname string" } } +{ $description "Deletes a file or directory, recursing into subdirectories." } +{ $errors "Throws an error if the deletion fails." } +{ $warning "Misuse of this word can lead to catastrophic data loss." } ; + +HELP: copy-tree +{ $values { "from" "a pathname string" } { "to" "a pathname string" } } +{ $description "Copies a directory tree recursively." } +{ $notes "This operation attempts to preserve original file attributes, however not all attributes may be preserved." } +{ $errors "Throws an error if the copy operation fails." } ; + +HELP: copy-tree-into +{ $values { "from" "a pathname string" } { "to" "a directory pathname string" } } +{ $description "Copies a directory tree to another directory, recursively." } +{ $errors "Throws an error if the copy operation fails." } ; + +HELP: copy-trees-into +{ $values { "files" "a sequence of pathname strings" } { "to" "a directory pathname string" } } +{ $description "Copies a set of directory trees to another directory, recursively." } +{ $errors "Throws an error if the copy operation fails." } ; + +ARTICLE: "io.directories.hierarchy" "Directory hierarchy manipulation" +"The " { $vocab-link "io.directories.hierarchy" } " vocabulary defines words for operating on directory hierarchies recursively." +$nl +"Deleting directory trees recursively:" +{ $subsection delete-tree } +"Copying directory trees recursively:" +{ $subsection copy-tree } +{ $subsection copy-tree-into } +{ $subsection copy-trees-into } ; + +ABOUT: "io.directories.hierarchy" diff --git a/basis/io/directories/hierarchy/hierarchy.factor b/basis/io/directories/hierarchy/hierarchy.factor new file mode 100644 index 0000000000..555f001bfc --- /dev/null +++ b/basis/io/directories/hierarchy/hierarchy.factor @@ -0,0 +1,31 @@ +! Copyright (C) 2004, 2008 Slava Pestov, Doug Coleman. +! See http://factorcode.org/license.txt for BSD license. +USING: kernel accessors sequences combinators fry io.directories +io.pathnames io.files.info io.files.types io.files.links +io.backend ; +IN: io.directories.hierarchy + +: delete-tree ( path -- ) + dup link-info directory? [ + [ [ [ delete-tree ] each ] with-directory-files ] + [ delete-directory ] + bi + ] [ delete-file ] if ; + +DEFER: copy-tree-into + +: copy-tree ( from to -- ) + normalize-path + over link-info type>> + { + { +symbolic-link+ [ copy-link ] } + { +directory+ [ '[ [ _ copy-tree-into ] each ] with-directory-files ] } + [ drop copy-file ] + } case ; + +: copy-tree-into ( from to -- ) + to-directory copy-tree ; + +: copy-trees-into ( files to -- ) + '[ _ copy-tree-into ] each ; + diff --git a/basis/io/directories/unix/unix.factor b/basis/io/directories/unix/unix.factor index 90243594d1..1ef80b3438 100644 --- a/basis/io/directories/unix/unix.factor +++ b/basis/io/directories/unix/unix.factor @@ -3,7 +3,7 @@ USING: accessors alien.c-types alien.strings combinators continuations destructors fry io io.backend io.backend.unix io.directories io.encodings.binary io.encodings.utf8 io.files -io.files.info io.pathnames kernel math.bitwise sequences system +io.pathnames io.files.types kernel math.bitwise sequences system unix unix.stat ; IN: io.directories.unix @@ -36,10 +36,7 @@ M: unix delete-directory ( path -- ) ] with-disposal ; M: unix copy-file ( from to -- ) - [ normalize-path ] bi@ - [ (copy-file) ] - [ swap file-info permissions>> chmod io-error ] - 2bi ; + [ normalize-path ] bi@ (copy-file) ; : with-unix-directory ( path quot -- ) [ opendir dup [ (io-error) ] unless ] dip diff --git a/basis/io/files/info/info-docs.factor b/basis/io/files/info/info-docs.factor index 8bb79851ec..8db780f976 100644 --- a/basis/io/files/info/info-docs.factor +++ b/basis/io/files/info/info-docs.factor @@ -1,3 +1,4 @@ +USING: help.markup help.syntax arrays io.files ; IN: io.files.info HELP: file-info @@ -11,30 +12,6 @@ HELP: link-info { file-info link-info } related-words -HELP: +regular-file+ -{ $description "A regular file. This type exists on all platforms. See " { $link "file-streams" } " for words operating on files." } ; - -HELP: +directory+ -{ $description "A directory. This type exists on all platforms. See " { $link "directories" } " for words operating on directories." } ; - -HELP: +symbolic-link+ -{ $description "A symbolic link file. This type is currently implemented on Unix platforms only. See " { $link "symbolic-links" } " for words operating on symbolic links." } ; - -HELP: +character-device+ -{ $description "A Unix character device file. This type exists on Unix platforms only." } ; - -HELP: +block-device+ -{ $description "A Unix block device file. This type exists on Unix platforms only." } ; - -HELP: +fifo+ -{ $description "A Unix fifo file. This type exists on Unix platforms only." } ; - -HELP: +socket+ -{ $description "A Unix socket file. This type exists on Unix platforms only." } ; - -HELP: +unknown+ -{ $description "A unknown file type." } ; - HELP: directory? { $values { "file-info" file-info } { "?" "a boolean" } } { $description "Tests if " { $snippet "file-info" } " is a directory." } ; @@ -49,18 +26,6 @@ HELP: file-system-info { "file-system-info" file-system-info } } { $description "Returns a platform-specific object describing the file-system that contains the path. The cross-platform slot is " { $slot "free-space" } "." } ; -ARTICLE: "file-types" "File types" -"Platform-independent types:" -{ $subsection +regular-file+ } -{ $subsection +directory+ } -"Platform-specific types:" -{ $subsection +character-device+ } -{ $subsection +block-device+ } -{ $subsection +fifo+ } -{ $subsection +symbolic-link+ } -{ $subsection +socket+ } -{ $subsection +unknown+ } ; - ARTICLE: "io.files.info" "File system meta-data" "File meta-data:" { $subsection file-info } diff --git a/basis/io/files/info/info.factor b/basis/io/files/info/info.factor index ae8d806417..fd21850612 100644 --- a/basis/io/files/info/info.factor +++ b/basis/io/files/info/info.factor @@ -1,7 +1,7 @@ ! Copyright (C) 2008 Doug Coleman, Eduardo Cavazos. ! See http://factorcode.org/license.txt for BSD license. USING: accessors kernel system sequences combinators -vocabs.loader ; +vocabs.loader io.files.types ; IN: io.files.info ! File info @@ -12,16 +12,6 @@ HOOK: file-info os ( path -- info ) HOOK: link-info os ( path -- info ) -SYMBOL: +regular-file+ -SYMBOL: +directory+ -SYMBOL: +symbolic-link+ -SYMBOL: +character-device+ -SYMBOL: +block-device+ -SYMBOL: +fifo+ -SYMBOL: +socket+ -SYMBOL: +whiteout+ -SYMBOL: +unknown+ - : directory? ( file-info -- ? ) type>> +directory+ = ; ! File systems diff --git a/basis/io/files/unix/unix-docs.factor b/basis/io/files/info/unix/unix-docs.factor similarity index 97% rename from basis/io/files/unix/unix-docs.factor rename to basis/io/files/info/unix/unix-docs.factor index eeac3cea0f..0dff2e4419 100644 --- a/basis/io/files/unix/unix-docs.factor +++ b/basis/io/files/info/unix/unix-docs.factor @@ -1,7 +1,7 @@ ! Copyright (C) 2008 Doug Coleman. ! See http://factorcode.org/license.txt for BSD license. USING: classes help.markup help.syntax io.streams.string -strings math calendar io.files ; +strings math calendar io.files.info io.files.info.unix ; IN: io.files.unix HELP: file-group-id @@ -268,10 +268,10 @@ ARTICLE: "unix-file-ids" "Unix file user and group ids" { $subsection set-file-group } ; -ARTICLE: "io.files.unix" "Unix file attributes" -"The " { $vocab-link "io.files.unix" } " vocabulary implements the Unix backend for opening files and provides a high-level way to set permissions, timestamps, and user and group ids for files." +ARTICLE: "io.files.info.unix" "Unix file attributes" +"The " { $vocab-link "io.files.info.unix" } " vocabulary implements a high-level way to set Unix-specific permissions, timestamps, and user and group IDs for files." { $subsection "unix-file-permissions" } { $subsection "unix-file-timestamps" } { $subsection "unix-file-ids" } ; -ABOUT: "io.files.unix" +ABOUT: "io.files.info.unix" diff --git a/basis/io/files/info/unix/unix.factor b/basis/io/files/info/unix/unix.factor index 3d08534b71..66b95db144 100644 --- a/basis/io/files/info/unix/unix.factor +++ b/basis/io/files/info/unix/unix.factor @@ -2,8 +2,9 @@ ! See http://factorcode.org/license.txt for BSD license. USING: accessors kernel system math math.bitwise strings arrays sequences combinators combinators.short-circuit alien.c-types -vocabs.loader calendar calendar.unix io.files.info io.backend -unix unix.stat unix.time unix.users unix.groups ; +vocabs.loader calendar calendar.unix io.files.info +io.files.types io.backend unix unix.stat unix.time unix.users +unix.groups ; IN: io.files.info.unix TUPLE: unix-file-system-info < file-system-info diff --git a/basis/io/files/links/links-docs.factor b/basis/io/files/links/links-docs.factor index 3c00e5d8f5..0e9a375da3 100644 --- a/basis/io/files/links/links-docs.factor +++ b/basis/io/files/links/links-docs.factor @@ -1,3 +1,4 @@ +USING: help.markup help.syntax io.files.info ; IN: io.files.links HELP: make-link diff --git a/basis/io/files/types/types-docs.factor b/basis/io/files/types/types-docs.factor new file mode 100644 index 0000000000..48df9b2328 --- /dev/null +++ b/basis/io/files/types/types-docs.factor @@ -0,0 +1,40 @@ +USING: help.markup help.syntax ; +IN: io.files.types + +HELP: +regular-file+ +{ $description "A regular file. This type exists on all platforms. See " { $link "file-streams" } " for words operating on files." } ; + +HELP: +directory+ +{ $description "A directory. This type exists on all platforms. See " { $link "directories" } " for words operating on directories." } ; + +HELP: +symbolic-link+ +{ $description "A symbolic link file. This type is currently implemented on Unix platforms only. See " { $link "symbolic-links" } " for words operating on symbolic links." } ; + +HELP: +character-device+ +{ $description "A Unix character device file. This type exists on Unix platforms only." } ; + +HELP: +block-device+ +{ $description "A Unix block device file. This type exists on Unix platforms only." } ; + +HELP: +fifo+ +{ $description "A Unix fifo file. This type exists on Unix platforms only." } ; + +HELP: +socket+ +{ $description "A Unix socket file. This type exists on Unix platforms only." } ; + +HELP: +unknown+ +{ $description "A unknown file type." } ; + +ARTICLE: "file-types" "File types" +"Platform-independent types:" +{ $subsection +regular-file+ } +{ $subsection +directory+ } +"Platform-specific types:" +{ $subsection +character-device+ } +{ $subsection +block-device+ } +{ $subsection +fifo+ } +{ $subsection +symbolic-link+ } +{ $subsection +socket+ } +{ $subsection +unknown+ } ; + +ABOUT: "file-types" diff --git a/basis/io/files/types/types.factor b/basis/io/files/types/types.factor new file mode 100644 index 0000000000..bf8be9ec9b --- /dev/null +++ b/basis/io/files/types/types.factor @@ -0,0 +1,13 @@ +! Copyright (C) 2008 Slava Pestov. +! See http://factorcode.org/license.txt for BSD license. +IN: io.files.types + +SYMBOL: +regular-file+ +SYMBOL: +directory+ +SYMBOL: +symbolic-link+ +SYMBOL: +character-device+ +SYMBOL: +block-device+ +SYMBOL: +fifo+ +SYMBOL: +socket+ +SYMBOL: +whiteout+ +SYMBOL: +unknown+ diff --git a/basis/tools/deploy/backend/backend.factor b/basis/tools/deploy/backend/backend.factor index ee8615ac5a..636e44062e 100644 --- a/basis/tools/deploy/backend/backend.factor +++ b/basis/tools/deploy/backend/backend.factor @@ -4,9 +4,11 @@ USING: namespaces make continuations.private kernel.private init assocs kernel vocabs words sequences memory io system arrays continuations math definitions mirrors splitting parser classes summary layouts vocabs.loader prettyprint.config prettyprint -debugger io.streams.c io.files io.backend quotations io.launcher -words.private tools.deploy.config tools.deploy.config.editor -bootstrap.image io.encodings.utf8 destructors accessors ; +debugger io.streams.c io.files io.files.temp io.pathnames +io.directories io.directories.hierarchy io.backend quotations +io.launcher words.private tools.deploy.config +tools.deploy.config.editor bootstrap.image io.encodings.utf8 +destructors accessors ; IN: tools.deploy.backend : copy-vm ( executable bundle-name extension -- vm ) diff --git a/basis/tools/deploy/config/editor/editor.factor b/basis/tools/deploy/config/editor/editor.factor index 2b5788adfc..ac89e3290b 100644 --- a/basis/tools/deploy/config/editor/editor.factor +++ b/basis/tools/deploy/config/editor/editor.factor @@ -1,6 +1,6 @@ ! Copyright (C) 2008 Slava Pestov. ! See http://factorcode.org/license.txt for BSD license. -USING: assocs io.files kernel parser prettyprint sequences +USING: assocs io.pathnames kernel parser prettyprint sequences splitting tools.deploy.config tools.vocabs vocabs.loader ; IN: tools.deploy.config.editor diff --git a/basis/tools/deploy/macosx/macosx.factor b/basis/tools/deploy/macosx/macosx.factor index 94cab2bb9d..10e1566290 100644 --- a/basis/tools/deploy/macosx/macosx.factor +++ b/basis/tools/deploy/macosx/macosx.factor @@ -1,7 +1,8 @@ ! Copyright (C) 2007, 2008 Slava Pestov. ! See http://factorcode.org/license.txt for BSD license. -USING: io io.files kernel namespaces make sequences system -tools.deploy.backend tools.deploy.config +USING: io io.files io.files.info.unix io.pathnames +io.directories io.directories.hierarchy kernel namespaces make +sequences system tools.deploy.backend tools.deploy.config tools.deploy.config.editor assocs hashtables prettyprint io.backend.unix cocoa io.encodings.utf8 io.backend cocoa.application cocoa.classes cocoa.plists qualified @@ -53,7 +54,8 @@ IN: tools.deploy.macosx } cleave ] [ create-app-plist ] - [ "Contents/MacOS/" append-path "" copy-vm ] 2tri ; + [ "Contents/MacOS/" append-path "" copy-vm ] 2tri + dup OCT: 755 set-file-permissions ; : deploy.app-image ( vocab bundle-name -- str ) [ % "/Contents/Resources/" % % ".image" % ] "" make ; diff --git a/basis/tools/deploy/unix/unix.factor b/basis/tools/deploy/unix/unix.factor index bd49155e84..faafa1e932 100644 --- a/basis/tools/deploy/unix/unix.factor +++ b/basis/tools/deploy/unix/unix.factor @@ -1,13 +1,15 @@ ! Copyright (C) 2008 James Cash ! See http://factorcode.org/license.txt for BSD license. -USING: io io.files io.backend kernel namespaces make sequences -system tools.deploy.backend tools.deploy.config -tools.deploy.config.editor assocs hashtables prettyprint ; +USING: io io.files io.files.info.unix io.backend kernel +namespaces make sequences system tools.deploy.backend +tools.deploy.config tools.deploy.config.editor assocs hashtables +prettyprint ; IN: tools.deploy.unix : create-app-dir ( vocab bundle-name -- vm ) dup "" copy-fonts - "" copy-vm ; + "" copy-vm + dup OCT: 755 set-file-permissions ; : bundle-name ( -- str ) deploy-name get ; diff --git a/basis/tools/vocabs/browser/browser.factor b/basis/tools/vocabs/browser/browser.factor index e9e8d27870..e4db72a2fe 100644 --- a/basis/tools/vocabs/browser/browser.factor +++ b/basis/tools/vocabs/browser/browser.factor @@ -3,8 +3,8 @@ USING: accessors arrays assocs classes classes.builtin classes.intersection classes.mixin classes.predicate classes.singleton classes.tuple classes.union combinators -definitions effects fry generic help help.markup -help.stylesheet help.topics io io.files io.styles kernel macros +definitions effects fry generic help help.markup help.stylesheet +help.topics io io.files io.pathnames io.styles kernel macros make namespaces prettyprint sequences sets sorting summary tools.vocabs vocabs vocabs.loader words ; IN: tools.vocabs.browser diff --git a/basis/tools/vocabs/monitor/monitor.factor b/basis/tools/vocabs/monitor/monitor.factor index 416eec91d2..ac0160e58f 100644 --- a/basis/tools/vocabs/monitor/monitor.factor +++ b/basis/tools/vocabs/monitor/monitor.factor @@ -1,6 +1,6 @@ ! Copyright (C) 2008 Slava Pestov. ! See http://factorcode.org/license.txt for BSD license. -USING: threads io.files io.monitors init kernel +USING: threads io.files io.pathnames io.monitors init kernel vocabs vocabs.loader tools.vocabs namespaces continuations sequences splitting assocs command-line concurrency.messaging io.backend sets tr ; diff --git a/basis/ui/tools/operations/operations.factor b/basis/ui/tools/operations/operations.factor index e3c3d46904..2297382a96 100644 --- a/basis/ui/tools/operations/operations.factor +++ b/basis/ui/tools/operations/operations.factor @@ -3,8 +3,8 @@ USING: continuations definitions ui.tools.browser ui.tools.interactor ui.tools.listener ui.tools.profiler ui.tools.search ui.tools.traceback ui.tools.workspace generic -help.topics stack-checker summary inspector io.files io.styles -kernel namespaces parser prettyprint quotations +help.topics stack-checker summary inspector io.pathnames +io.styles kernel namespaces parser prettyprint quotations tools.annotations editors tools.profiler tools.test tools.time tools.walker ui.commands ui.gadgets.editors ui.gestures ui.operations ui.tools.deploy vocabs vocabs.loader words diff --git a/basis/ui/tools/search/search.factor b/basis/ui/tools/search/search.factor index cf980cfc23..9d248e29bd 100644 --- a/basis/ui/tools/search/search.factor +++ b/basis/ui/tools/search/search.factor @@ -1,6 +1,6 @@ ! Copyright (C) 2006, 2008 Slava Pestov. ! See http://factorcode.org/license.txt for BSD license. -USING: accessors assocs help help.topics io.files io.styles +USING: accessors assocs help help.topics io.pathnames io.styles kernel models models.delay models.filter namespaces prettyprint quotations sequences sorting source-files definitions strings tools.completion tools.crossref classes.tuple vocabs words diff --git a/basis/urls/urls-docs.factor b/basis/urls/urls-docs.factor index ce8a7be88c..f6c25980ea 100644 --- a/basis/urls/urls-docs.factor +++ b/basis/urls/urls-docs.factor @@ -1,6 +1,6 @@ USING: assocs hashtables help.markup help.syntax -io.streams.string io.files kernel strings present math multiline -; +io.streams.string io.files io.pathnames kernel strings present +math multiline ; IN: urls HELP: url diff --git a/core/source-files/source-files-docs.factor b/core/source-files/source-files-docs.factor index 89ffbfd795..2c9e2172cc 100644 --- a/core/source-files/source-files-docs.factor +++ b/core/source-files/source-files-docs.factor @@ -1,4 +1,4 @@ -USING: help.markup help.syntax vocabs.loader io.files strings +USING: help.markup help.syntax vocabs.loader io.pathnames strings definitions quotations compiler.units ; IN: source-files