Commit Graph

260 Commits (73d430bfb9ac222128c5cd750a61ce49e095b04c)

Author SHA1 Message Date
Doug Coleman 7e54cc2824 factor: rename [ ] [ ] unit-test -> { } [ ] unit-test using a refactoring tool! 2015-07-02 11:36:08 -07:00
Doug Coleman 2ee3516bf1 io.files.unique: Better docs for with-unique-directory. 2015-06-01 15:22:05 -07:00
Doug Coleman 74f5eacec7 editors.visual-studio-code: Support for m$ft's new code editor. Can't
figure out command line parameters yet.
io.files.temp.windows: Make (get-appdata-directory) not private and rename
it to get-appdata-directory.
2015-04-30 18:21:15 -07:00
John Benediktsson 39093727b1 libc: rename (io-error) to throw-errno. 2014-11-21 09:29:45 -08:00
John Benediktsson 3f362dfc99 destructors: change check-disposed not to drop the disposable. 2014-11-21 08:19:05 -08:00
John Benediktsson f79d61060e io.buffers: cleanup interface a bit. 2014-11-16 18:54:24 -08:00
John Benediktsson b7ed0a431c basis/extra: cleanup some platform requires. 2014-11-15 14:25:12 -08:00
John Benediktsson 8033741135 io/ui: slim down the USE: list 2014-10-24 17:33:27 -07:00
Doug Coleman 138ec84642 io.files.temp.macosx: Create the cache and temp directories every time. Fixes #1089. 2014-07-03 23:41:20 -07:00
John Benediktsson 57f9d78892 improve help by linking to types directly. 2014-05-23 20:20:15 -07:00
Björn Lindqvist b72fa3ba0a Docs: fixed doc example errors triggered by help-lint and added with-disposal where applicable 2014-04-14 08:42:10 -07:00
Björn Lindqvist 2cbea3cb31 Docs: a few more examples for words that were missing them 2014-04-14 08:42:09 -07:00
John Benediktsson e50d1375a1 io: need to use libc for OS X? 2014-04-03 21:43:37 -07:00
Björn Lindqvist f8387a08ae Merge:
io.sockets.secure.windows: use non-blocking sockets to prevent
SSL_connect from blocking

On Windows, SSL_connect may hang forever if the server doesn't send any
data. To counteract that we temporarily set the socket non-blocking and
then call select in the wait-for-fd method.

Conflicts:
	basis/io/sockets/secure/openssl/openssl-tests.factor
2014-04-02 12:16:51 -05:00
Björn Lindqvist eaca04de3b libc: several vocabs now need to depend on libc 2014-04-02 12:13:00 -05:00
Björn Lindqvist 753b2f0177 io.files: make wait-for-fd generic and dispatch depending on backend
do-ssl-accept need to call wait-for-fd so it needs to be generic. On
windows it's a noop but on unix it will wait for the fd.
2014-04-02 12:12:49 -05:00
Björn Lindqvist 5f38df7741 io.sockets.secure.windows: reading and writing from ssl sockets
Unified the drain and refill generics and put their definition in
io.files. They are now used by both the windows and unix ssl backend
for io. Windows ssl kind of works now, but the error cases are not
implemented correctly.
2014-04-02 12:12:14 -05:00
Björn Lindqvist 8c5ceb8b0c io.files.windows: new generic words drain and refill, like in io.backend.unix
The purpose of these words is to abstract out the pushing of the bytes
to the ports so that you can insert the ssl layer in between. Exactly
like how drain and refill are specialized on ssl-handle in
io.sockets.secure.unix.
2014-04-02 12:12:04 -05:00
John Benediktsson 332fc7bc1a io.files.info.unix.linux: cleanup stack effects. 2014-02-27 15:26:38 -08:00
Doug Coleman 19002c93a6 io.files.info: Longer names for file-info predicates. 2013-04-18 10:08:42 -07:00
Doug Coleman 345b5bb678 io.files.info: Add file? and symlink? words. 2013-04-18 07:35:47 -07:00
John Benediktsson 1718c69e56 io.files: use split instead of split*. 2013-03-31 16:04:11 -07:00
Doug Coleman 20e14a96df unix.statfs etc: Naming conflicts. 2013-03-23 22:38:38 -07:00
Doug Coleman f4410e295a io.files.info.windows: Fix file-info-tuple inheritance. 2013-03-23 19:14:28 -07:00
Doug Coleman 2761c45277 io.files.info: Fix unit test. 2013-03-23 17:20:00 -07:00
Doug Coleman d2024a84e3 io.files.info: Rename file-info and file-system-info. 2013-03-23 16:43:32 -07:00
John Benediktsson d11805228f io.files.info.unix.linux: use string>csv instead. 2013-03-15 06:40:24 -07:00
Doug Coleman 2921829b79 windows: Attempt to fix circularity. 2012-10-24 19:03:25 -07:00
John Benediktsson 04e783a886 io.files.info.unix: errno EACCES should be handled separately. 2012-10-24 17:51:13 -07:00
John Benediktsson 83b40e44d2 io.files.info: make access checks throw on file-does-not-exist. 2012-10-24 17:40:00 -07:00
Doug Coleman c458b7dcaf io.files.info.windows: Implement file-readable?, writable?, and executable? 2012-10-24 17:29:32 -07:00
John Benediktsson 379f060636 io.files.info.unix: make sure to normalize so special paths work. 2012-10-24 17:11:35 -07:00
John Benediktsson 37bb5f6917 io.files.info: adding checks for read, write, or execute permissions. 2012-10-24 16:44:12 -07:00
Doug Coleman 0bdcf5173f io.files.info: On my Windows7 box, D: is "not really there" and it kills
file-systems. Ignore errors instead of dying.
2012-09-16 17:23:25 -07:00
John Benediktsson 1a73e79ef7 cleanup some use of with-scope. 2012-07-19 13:55:34 -07:00
Doug Coleman 82dd2ca3c9 utf16n: botched merge commit. oops 2012-06-21 09:04:09 -07:00
Doug Coleman 3dd30d2f49 issue #358: rename ole32-error -> check-ole32-error 2012-06-21 08:38:02 -07:00
Doug Coleman eccf5a82ae io.files.info.windows: Fix file-systems word in two ways. First, don't
allocate 32k on the local alloc stack (which causes a 'double fault.')
Second, if the volume doesnt look up to a real path, don't make a dummy
object for that. volume
Use alien>native-string and native-string>alien wherever possible instead of
utf16n for Windows.
2012-06-21 08:32:53 -07:00
John Benediktsson a20f12005a io.files.temp: adding with-temp-directory and with-cache-directory. 2012-06-18 12:22:59 -07:00
Doug Coleman 3447136e2a io.files.info.unix: When setting access or modified time alone, don't set the other time to 1970.
See #490.
2012-06-01 16:03:41 -07:00
Joe Groff 8b9b8df457 io.files.temp.windows: fix up 2012-04-16 11:55:33 -07:00
Joe Groff 480545a683 io.files.temp: use OS tmp dir; add cache-directory
Change temp-directory to return an OS-sanctioned temporary directory instead of "resource:temp". Add a new function cache-directory to return an OS-sanctioned directory for storing staging images etc. Fixes #365.
Windows implementation needs to be finished and tested.
2012-04-16 11:55:22 -07: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 72de75b881 let's pretend BIN: HEX: OCT: never happened 2011-11-23 19:22:37 -08:00
Joe Groff 943596575a use radix literals 2011-11-23 19:03:40 -08:00
Joe Groff 8cf18d1a82 remove BSD,solaris,etc. misc platform support code 2011-11-02 17:13:51 -07: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
Doug Coleman 3507a0cc4b Don't use exception handling for handle>file-size 2011-10-19 10:15:09 -07:00
Doug Coleman 55bb863704 Create attributes>> accessor in io.files.windows 2011-10-19 03:14:19 -07:00
Doug Coleman 5608178389 When deleting a file, if it fails with "Access is denied" then set the file
attributes to normal and try again. Some files in the .git directory are set
to read-only, preventing the build machines from deleting old builds.
2011-10-19 02:28:45 -07:00
Doug Coleman 55790cc6e4 Check if streams are seekable in Windows 2011-10-19 01:16:53 -07:00
Joe Groff 9b2634fbd7 io.files.windows: fix can-seek? and length 2011-10-18 12:42:53 -07:00
Joe Groff 863ab575e3 io.ports: stream-seekable? and stream-length
io.files.windows, io.backend.unix: platform-specific backends for those methods
2011-10-17 21:23:08 -07:00
John Benediktsson f20e5df501 io.files.info.unix.linux: fix more M: stack effects. 2011-10-13 17:55:30 -07:00
John Benediktsson 2d8e7c77e8 io.files.info.unix.linux: fix M: stack effect. 2011-10-13 17:38:30 -07:00
John Benediktsson 1987deb359 Fix M: stack effects. 2011-10-13 16:41:17 -07:00
Doug Coleman 044a03dc34 On Windows, the overlapped structure high bits were always zero, so reading through a file > 4gb would loop forever. 2011-10-07 15:04:00 -07:00
John Benediktsson 4f42c72012 specialized-arrays: performed some cleanup.
Specifically,
    •   Created >c-array to be replacement for >T-array.
    •   Created cast-array to be generic replacement for all T-array-cast words.
    •   Created c-array@ to be generic replacement for T-array@ words.
    •   Replaced usages of <T-array> with T <c-array>
    •   Replaced usages of <direct-T-array> with T <c-direct-array>
    •   Replaced usages of >T-array with T >c-array
    •   Replaced usages of T-array-cast with T cast-array
    •   Replaced usages of malloc-T-array with T malloc-array.
    •   Removed malloc-T-array.
    •   Removed T-array-cast.
    •   Removed T-array@.
    •   Removed >T-array.

I also added (but didn't change any code to use):
    •   T c-array-type, returns T-array
    •   T c-array?, returns T-array?
    •   c-array{ T ... }, returns T-array{ ... }

Bootstraps just find on Mac OS X.  Also `load-all test-all` works for me.
2011-09-26 11:37:51 -07:00
Doug Coleman bf2a96e9e0 Remove Windows CE from core/ basis/ and build-support/
Rename the winnt singleton to windows in core/ basis/ extra/
Rename boot images winnt -> windows
Fixes #84.
2011-09-18 23:19:06 -05:00
John Benediktsson 39b800907c io.files.windows: add some tests cases for UNC paths. Fixes #44. 2011-08-28 12:55:09 -07:00
8byte-jose b3f0ff51aa fixed handling of UNC paths under windows 2011-01-25 13:32:21 +01:00
Slava Pestov 13d6c6a698 Update code for alien.data changes 2010-12-26 02:08:57 -06: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
Keita Haga c3189054d1 io.files.info.unix, sequences: few $examples and $unchecked-examples turn into $codes 2010-12-23 04:05:06 +09:00
Keita Haga 04aeadbb15 io.files.info.unix: fix IN: in docs 2010-11-18 04:29:36 +09:00
Keita Haga 08cb8a4848 io.files.info.unix: fix a couple of set-file-permissions examples 2010-11-18 03:46:02 +09:00
Doug Coleman 4ca9bd0bba Remove usages of <void*> and *void* 2010-10-25 13:22:50 -05:00
Doug Coleman 1f57dc326e Remove many uses of <int> and *int etc 2010-10-25 12:49:12 -05:00
Doug Coleman f791c8c5d2 Squashed commit of the following:
commit 197dbe9a6733775ac0ea19b3da4bd4dc3c85418c
Author: Doug Coleman <doug.coleman@gmail.com>
Date:   Sat Sep 18 19:01:38 2010 -0500

    Fix bootstrap, move privileges to windows.privileges

commit 521c622f8afb15bf42d263c738cb990560dc29cb
Author: Doug Coleman <doug.coleman@gmail.com>
Date:   Sat Sep 18 18:26:30 2010 -0500

    Hopefully fix bootstrap

commit eb3f22928b59758b9505430034044b5b94705da2
Author: Doug Coleman <doug.coleman@gmail.com>
Date:   Sat Sep 18 18:19:05 2010 -0500

    Remove wince from factor codebase

commit 619d6c99415f46208a7ede6a04b0ccda46b15360
Author: Doug Coleman <doug.coleman@gmail.com>
Date:   Sat Sep 18 16:07:46 2010 -0500

    Remove Windows CE from vm/
2010-09-19 19:13:25 -05:00
Doug Coleman 4a018ebdfc Squashed commit of the following:
commit fbec7374aa3f99d8f76499183920e537dc7f38b1
Author: Doug Coleman <doug.coleman@gmail.com>
Date:   Sun Sep 19 13:28:47 2010 -0500

    Remove random.combinators vocab

commit 74f91aca4a961879ec57ef56114eadd5e9f6dcee
Author: Doug Coleman <doug.coleman@gmail.com>
Date:   Sun Sep 19 13:28:22 2010 -0500

    Rename random.combinators to combinators.random.  Add random.data vocabulary

commit f616c3f4ceac48ac6f48836040130ba4f090c47f
Author: Doug Coleman <doug.coleman@gmail.com>
Date:   Sun Sep 19 13:14:01 2010 -0500

    Add execute-random combinator, docs, and respace a few things..

commit 1ce17507e3767c78e14ecf5e27e542168a47b2a2
Merge: db359d6 b53fc83
Author: Doug Coleman <doug.coleman@gmail.com>
Date:   Sun Sep 19 12:55:53 2010 -0500

    Merge branch 'random-combinators' of git://github.com/jonenst/factor into random-combinators

commit b53fc830f3319e9bdfce02674ea480f69e1453db
Author: Jon Harper <jon.harper87@gmail.com>
Date:   Mon Aug 23 17:16:21 2010 +0200

    Random combinators vocabulary
2010-09-19 13:29:43 -05:00
Doug Coleman 7122f9fccb Make sure io.backend.windows loads the implementations for the generics it defines. Make windows.handles not depend on io.timeouts. Fix typo in win32-file-attributes. Fix bug in null-output word. Clean up error checking code. 2010-09-17 14:19:10 -05:00
Doug Coleman 06e3fc84a6 Trim using lists for io.files.windows 2010-09-16 16:10:38 -05:00
Slava Pestov e5b30b7518 io: minor doc fixes throughout 2010-09-11 18:43:47 -07:00
Philipp Brüschweiler 352e263de6 io.files.info.unix.linux: sometimes /etc/mtab isn't properly formatted (found on arch linux) 2010-08-01 14:00:03 +02:00
Slava Pestov f7bd876cae io.files.unix: fix tests for recent calendar.unix vocab changes 2010-07-21 00:23:35 -04:00
Slava Pestov 446ee6896d alien.data: remove second quotation parameter from with-out-parameters, now all values are copied properly and calling 'clone' on structs in this quotation is not necessary 2010-07-16 17:32:05 -04:00
Doug Coleman 9840e5e147 Add a combinator to make a unique directory, set that to the current and temp directories, and then delete the directory when done. Useful when working with apps that need to write intermediate files to the current directory 2010-06-13 19:34:17 -05:00
Slava Pestov 66fcab3721 Fixes for out parameter changes 2010-05-23 03:27:40 -05:00
Slava Pestov 70a99e1cdb Updating code to use with-out-parameters 2010-05-23 03:07:47 -04:00
Doug Coleman 026499e64f Use flags{ instead of flags all over the place 2010-04-01 14:44:03 -05:00
Doug Coleman dc52f177f5 Add utiltity words for io.files.unique 2010-03-31 15:09:51 -05:00
Slava Pestov ca8be54c96 io.files.unix: fix load errors arising from byte-length being moved 2010-02-24 21:20:21 +13: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 e19461d410 io.files.info: load io.files.info.unix if we're on Unix. Fixes long-standing no-method error on file-info 2010-02-15 17:15:26 +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 b7b84fc5b7 fix using 2010-01-22 12:59:27 -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 00f58f81e1 Fix iota bug in io.files.info.windows 2010-01-15 21:17:47 -06:00
Doug Coleman 4c71d71907 random is generic now -- iota random -> random 2010-01-14 12:48:57 -06:00
Slava Pestov df4fb4a3ee Removing integers-as-sequences 2010-01-15 07:15:33 +13:00
Doug Coleman 7369522b69 add utility words for changing file permissions 2009-12-06 17:53:35 -06:00
Slava Pestov 0612bc6177 Factor source files should not be executable 2009-11-21 17:50:43 -06:00
Slava Pestov 5ccce283fa Various Windows load fixes 2009-11-21 17:24:37 -06:00
Slava Pestov ffd7de02d6 Update a few places that used string C type names to use words; fixes some deploy tests 2009-11-20 03:21:48 -06:00
Joe Groff 138cdeff54 typo in io.files.info.windows 2009-11-07 22:23:39 -06:00
Joe Groff 61d579360d remove non-primitive-related uses of tuck from basis 2009-11-05 17:03:24 -06:00
Doug Coleman e376a0ece2 (normalize-path) -> absolute-path, canonicalize-path -> resolve-symlinks 2009-10-28 17:25:50 -05:00
Doug Coleman 739f61bc56 fix using 2009-10-16 19:56:48 -05:00
Doug Coleman 7e2fdfe1ec fix using for io.pathnames changes 2009-10-16 05:48:51 -05:00