Commit Graph

43 Commits (39a9b21e986bddccd21167a69e9a61ddc785ad43)

Author SHA1 Message Date
Benjamin Pollack 7184771c31 io.directories: improve file moving words
move-file previously had inconsistent behavior on Windows and unixes.
This unifies the behavior to the common case (just get 'er done), while
also introducing an obviously named word, move-file-atomically, to
handle the case where you need an atomic file primitive.

Fixes #1772
2017-01-06 15:43:34 -08:00
Björn Lindqvist 6a76bf9084 io.directories.unix: normalize-path doesn't need to be called
It is already called by the words copy-file delegates to.
2016-06-15 01:25:53 +02:00
Björn Lindqvist dbcfc178ff io.directories.unix,environment.unix: better to use
native-string-encoding over hardcoding utf8
2015-10-01 15:52:51 +02:00
John Benediktsson 7badef25ce libc: reduce code duplication. 2014-11-21 10:19:12 -08:00
John Benediktsson 39093727b1 libc: rename (io-error) to throw-errno. 2014-11-21 09:29:45 -08:00
Doug Coleman be232dac9b io.backend: Remove duplicate definition of file-mode. Add mkdir-mode using non-magic symbols. Cleanup imports. 2014-10-24 17:16:40 -07:00
John Benediktsson 4ca5b2ccb3 Revert "unix.ffi: be more explicit about dirent64."
This reverts commit edf456149330d44995b1c8bdf61a1c5d2617ed9c.
2014-04-29 14:02:30 -07:00
John Benediktsson 5dd26a9066 unix.ffi: be more explicit about dirent64. 2014-04-29 13:54:27 -07:00
John Benediktsson 09dec78603 io.directories.unix.linux: fix using. 2014-04-29 13:38:27 -07:00
John Benediktsson 26ff963758 io.directories: faster directory-entries by caching dirent structs. 2014-04-29 13:22:56 -07:00
Björn Lindqvist eaca04de3b libc: several vocabs now need to depend on libc 2014-04-02 12:13:00 -05:00
Doug Coleman ec1ecbe549 io.directories.unix: If you mount a .iso, all the file types are +unknown+ according to directory-files.
Fall back to file-info on +unknown+ file types and use with-directory in with-unix-directory so the paths are correct for file-info.
Fixes #911.
2013-07-11 09:46:26 -07:00
John Benediktsson 5a99bbaf1d io.directories.unix: style fix to line up code. 2013-03-25 19:47:56 -07:00
John Benediktsson 2f325e4fee using if-zero in even more places. 2012-07-16 19:38:49 -07:00
Joe Groff 25ec33dc10 io.directories.unix: remove redundant using 2011-11-28 20:36:46 -08:00
Joe Groff 4c0d73da3c io.files.info: fix circularity
Remove the undocumented and redundant "copy-file-and-info" word, since "copy-file" does the same thing, and the circular dependency on "io.directories" was causing some deploys to fail
2011-11-28 19:37:01 -08:00
Joe Groff 7754ab2c06 io.directories.unix: make copy-file copy perms
Like the docs claim it does
2011-11-27 12:37:54 -08:00
Joe Groff 943596575a use radix literals 2011-11-23 19:03:40 -08:00
Doug Coleman 94db86a6db Make "foo.private" require load foo instead.
Move require from vocabs.loader to vocabs. Update everything.
Fixes #201.
2011-11-02 11:50:03 -07:00
Slava Pestov a8633d28c7 unix.*, io.directories.unix: remove unnecessary dependency on io.backend.unix 2011-09-01 22:31:45 -07:00
Erik Charlebois 662bc3b07b Fix bugs in unix ffi usage 2011-05-23 23:36:14 -04:00
Slava Pestov 75560699ea Move <ref>, deref and little-endian? from alien.c-types to alien.data, remove <c-object> 2010-12-25 16:55:36 -08:00
Doug Coleman 4ca9bd0bba Remove usages of <void*> and *void* 2010-10-25 13:22:50 -05:00
Doug Coleman 026499e64f Use flags{ instead of flags all over the place 2010-04-01 14:44:03 -05:00
Slava Pestov 95bfc8a240 vocabs.metadata: replace unportable tag with a platforms.txt file for more fine-grained control. Rename unportable tag to untested for remaining cases 2010-02-20 13:30:49 +13:00
Slava Pestov 4893ebf183 Small cleanups 2010-02-16 04:04:09 +13:00
Doug Coleman 7c40fc1a36 unix-system-call io-error -> unix-system-call drop
make unix.ffi, unix.ffi.linux unportable
fix spacing in io.cpp before refactoring
2010-01-23 09:07:35 -06:00
Doug Coleman 3c09c7052c Fix using 2010-01-22 12:59:33 -06:00
Doug Coleman 8d952277a2 Handle EINTR in a lot of cases where it wasn't handled before. Split off unix into unix.ffi and unix. 2010-01-22 12:59:24 -06:00
Doug Coleman 07fcb43a06 Make unix-system-call retry the call immediately upon hitting EINTR. Use unix-system-call wherever EAGAIN or EINPROGRESS are not handled. Handle EINTR if connect returns it. 2010-01-22 12:59:17 -06:00
Doug Coleman d8be0561fb make a struct for dirents on linux, not a <c-object> 2009-08-30 22:49:35 -05:00
Doug Coleman 14973eacb5 update dirent for structs 2009-08-30 22:11:42 -05:00
Joe Groff a6c8e91f88 fix directory-entries so we can bootstrap again 2009-08-25 23:50:27 -05:00
Doug Coleman 0ef5826b86 remove the rest of the unportable fields from dirent for now 2009-05-11 22:03:07 -05:00
Doug Coleman e3a3aea5de d_off is missing on macosx, remove for now 2009-05-11 21:56:09 -05:00
erg 3bf8e41eef fix bootstrap errors, add missing files 2009-05-07 16:53:32 -05:00
erg 8c19ab04c9 use open64 instead of open on linux. use stat64 instead of stat on
linux. add word to report if a file is sparse
2009-05-07 16:41:37 -05:00
Slava Pestov cd53c2bd37 produce and produce-as: don't need third quotation either 2009-02-28 15:31:34 -06:00
Slava Pestov 2fe934ba9d Remove some code duplication in io.directories.unix 2009-02-15 20:36:04 -06:00
Slava Pestov 034022ec7f Add meta-data 2008-12-16 00:43:32 -06:00
Slava Pestov 59a5e554d4 Split up io.directories further, move file types to io.files.types. Bunny demo no longer pulls in file-info and file-system-info code, reducing image size by 35kb 2008-12-15 00:01:06 -06:00
Slava Pestov dccbb84629 Updating unit tests for I/O re-organization 2008-12-14 21:21:44 -06:00
Slava Pestov 50e214c152 io.files split up and general refactoring work in progress 2008-12-14 20:03:00 -06:00