Commit Graph

1436 Commits (revert-2214-feature-commandline-documentation)

Author SHA1 Message Date
John Benediktsson 5eec781b40 use ``if*`` instead of ``dup [ ] [ drop ] if``. 2015-07-20 22:24:30 -07:00
Doug Coleman 2f6548d6d2 factor: fix breakage with word renamings. 2015-07-20 05:51:16 -07:00
Doug Coleman 618330b31e factor: rename system:vm -> vm-path to differentiate it from vm:vm (which is a STRUCT:) 2015-07-20 00:10:29 -07:00
Doug Coleman 5f8426cfbe factor: rename files that are not loadable on mac, too 2015-07-19 16:55:36 -07:00
Doug Coleman 0176591527 factor: actual patch to remove ; from all c/fortran functions 2015-07-19 16:25:30 -07:00
Doug Coleman 4ec2311406 factor: Trim whitespace after ! comments and a few USING: lines that got skipped before. 2015-07-18 20:14:22 -07:00
John Benediktsson 5d6632514a io.sockets: make host-name a hook and throw correct errors. 2015-07-16 13:15:14 -07:00
Doug Coleman 892c62e1dc factor: second stab at [ ] [ ] unit-test -> { } [ ] unit-test 2015-07-03 09:39:59 -07:00
Doug Coleman 59f3b1ea57 Revert "factor: rename [ ] [ ] unit-test -> { } [ ] unit-test using a refactoring tool!"
Needs a bit more work.

This reverts commit 7e54cc2824.
2015-07-02 13:47:06 -07:00
Doug Coleman 7e54cc2824 factor: rename [ ] [ ] unit-test -> { } [ ] unit-test using a refactoring tool! 2015-07-02 11:36:08 -07:00
Doug Coleman 999aa7c897 factor: clean up spaces in -tests files 2015-07-02 10:34:01 -07:00
Doug Coleman e3cb325040 factor: clean up whitespace in -docs files 2015-07-02 10:31:22 -07:00
Doug Coleman 352e5de16a core, basis, extra: Remove DOS line endings from files.
Remove whitespace from end of lines.
Add a newline to the end of each file.
2015-06-29 17:25:40 -07:00
Doug Coleman 9d2c641a99 io.standard-paths: On mac when you launch Factor from the doc it doesn't have the login shell PATH variable for paths such as /usr/local/bin for homebrew. Add a word that finds things in this path as well.
Note that launching a binary found this way needs the full path, as the PATH variable itself is not modified and the binary will still not be in PATH if it wasnt before.
2015-06-24 18:44:09 -07:00
Doug Coleman 6e60c811ac core: Rename create to create-word, create-in to create-word-in. 2015-06-08 12:47:35 -07:00
Doug Coleman 2ee3516bf1 io.files.unique: Better docs for with-unique-directory. 2015-06-01 15:22:05 -07:00
John Benediktsson 22402a2e07 Revert "io.standard-paths: adding support for PATHEXT."
This reverts commit be9bff0e5b.
2015-06-01 14:59:36 -07:00
John Benediktsson be9bff0e5b io.standard-paths: adding support for PATHEXT. 2015-06-01 14:57:47 -07:00
John Benediktsson 0d7c3c5291 io.standard-paths: add ?find-in-path. 2015-06-01 14:26:38 -07:00
John Benediktsson 2884f8dabe io.standard-paths.windows: use map-find. 2015-06-01 14:26:27 -07:00
Doug Coleman cf3ccd0abe io.directories.search: Add some more combinators for finding files. 2015-05-21 22:35:24 -07:00
Doug Coleman 12bd42c663 io.monitors: Fix using, speed up test from 3 second timeouts to 100ms timeouts. 2015-05-19 12:37:07 -07:00
Doug Coleman 0962b4a697 io.monitors: Run each set of monitors tests in its own directory. Fixes #1106. 2015-05-19 10:50:58 -07:00
John Benediktsson b366a06c41 use reject instead of [ ... not ] filter. 2015-05-12 18:50:34 -07:00
Björn Lindqvist ba8caa72fb io.crlf: the lf>crlf and crlf>lf words looks generally useful, lets put them in io.crlf to reduce some code duplication 2015-05-12 09:32:05 -07:00
Doug Coleman f2c67d6ab4 io.directories.search: Add two tests for find-up-to-directory, one that finds a file and one that doesn't. 2015-05-08 21:02:29 -07:00
Doug Coleman 2aa6ce7e8c io.directories.search: fix inline recursive combinator compilation. fix
reversed logic for containing-directory
2015-05-07 16:49:32 -07:00
Doug Coleman 510f605df9 io.directories.search: Add find-up-to-root combinator and helper words.
Example:  "c:\\factor64\\.git\\objects" [ ".txt" tail? ] find-up-to-root .
"c:\\factor64\\.git"
2015-05-05 23:26:52 -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
Doug Coleman 7895e0fcaa io.launcher.windows tests: Use unique-file instead of temp-file. Fixes 2015-04-01 15:44:55 -07:00
John Benediktsson 3f3c11c446 ui.backend.cocoa: fix reset of thread-timer. 2015-01-17 15:58:57 -08:00
John Benediktsson be173c8a43 core-foundation.run-loop: cleanup timer-thread code. 2015-01-17 14:16:24 -08:00
John Benediktsson 3515a45b84 io.launcher: fix stack effects. 2014-12-30 17:23:24 -08:00
John Benediktsson 3e7bc051d4 io.launcher: fix docs for with-process-reader and with-process-writer. 2014-12-30 15:04:34 -08:00
John Benediktsson 9fd568267d io.launcher: add versions of with-process that preserve process and status. 2014-12-30 14:51:23 -08:00
John Benediktsson 83f7b31910 io.launcher: cleanup public interface, make some things private or internal. 2014-12-30 10:04:09 -08:00
Doug Coleman c59a025288 io.ports: Make buffered-port not have a length because of Linux virtual files and TCP sockets.
Related to issues #1256 and #1259.
2014-12-23 13:47:50 -08:00
John Benediktsson 76761b2e59 more minor cleanup. 2014-11-30 19:26:23 -08:00
John Benediktsson 49bcbaee7a removing small and unnecessary files. 2014-11-29 17:24:42 -08:00
Doug Coleman d23ab51ce8 io.files: Move with-cd to the tests file so that nobody uses it. My bad. Basically nobody should ever use cd or cwd for anything. Fixes #1214. 2014-11-23 01:39:36 -08:00
Doug Coleman aff0150a8c io.files: add with-cd. Related to #1214. 2014-11-22 22:21:35 -08: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
John Benediktsson 3f362dfc99 destructors: change check-disposed not to drop the disposable. 2014-11-21 08:19:05 -08:00
John Benediktsson 45bd145596 io: use errno case instead of cond. 2014-11-20 19:46:14 -08:00
John Benediktsson c0b4c1adb1 io.buffers: unsafe code is more unsafe. 2014-11-20 17:46:36 -08:00
John Benediktsson 25f3032d04 io.ports: use fixnum where possible, assert c-ptr since we use memcpy. 2014-11-20 17:19:16 -08:00
John Benediktsson f6ed37a6f7 io.ports: some cleanup before optimizations. 2014-11-20 16:19:39 -08:00
John Benediktsson e55af0ebfe io.buffers: simplify test word. 2014-11-20 15:46:07 -08:00
John Benediktsson c60a3e6e80 io.buffers: adding a buffer-read-into that can take a c-ptr or a sequence. 2014-11-20 14:40:43 -08:00
John Benediktsson 0a31a7c17a io.backend.unix: { fixnum } read will be a { fixnum } . 2014-11-20 13:23:53 -08:00
Doug Coleman 0fe5b2d90f io.directories: Add unit test for #890. 2014-11-18 14:11:13 -08:00
Doug Coleman 831ec24b14 io.sockets.windows: Spacing cleanup. 2014-11-18 14:06:24 -08:00
Doug Coleman 09f0edfb2f io.launcher.windows: Don't cd to directory when calling run-process. Fixes 2014-11-18 14:03:06 -08:00
Doug Coleman cab001234a io.sockets.windows: Fix unit test--recover leaves socket on stack, nip
it.
2014-11-18 14:02:44 -08:00
John Benediktsson 0826d8468c io.launcher: really minor cleanup. 2014-11-16 20:31:50 -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 d6b6f3893d basis/extra: switch to "vocab." os name>> append require. 2014-11-13 13:00:44 -08:00
Björn Lindqvist bbab41ade4 io.sockets.windows.tests: plugs the socket leaks (#1104) 2014-11-12 19:32:44 -08:00
Benjamin Pollack 2c3dd8c3c8 Remove executable bit from tons of files that aren't 2014-11-05 20:40:42 -08:00
John Benediktsson 21b4e31d60 Revert "io.backend.unix.macosx: Trying to change instances of USE: to require if"
This reverts commit 4bab33bddb.
2014-11-01 15:29:37 -07:00
Doug Coleman 4bab33bddb io.backend.unix.macosx: Trying to change instances of USE: to require if
the vocab must be loaded but no symbols are directly depended upon.
2014-11-01 13:16:13 -07:00
John Benediktsson 321186f6c5 io.backend.unix.macosx: need this for deploy. 2014-10-27 19:40:22 -07:00
John Benediktsson 8033741135 io/ui: slim down the USE: list 2014-10-24 17:33:27 -07: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
Doug Coleman 026aa163c8 io.launcher.windows: Make unit tests show that process fails rather than
reporting bogus error. Fixes #1152 (it wasn't really a bug, just bad
tests).
2014-10-16 16:40:49 -07:00
Doug Coleman d8121a9622 io.launcher.windows.test/env.factor: Fix script for new . behavior. 2014-10-07 13:51:13 -07:00
Björn Lindqvist c1187500de io.ports.tests: better to use with-disposal than calling the dispose word explicitly 2014-09-24 14:40:34 -07:00
Björn Lindqvist 47c16ed078 io.streams.limited.tests: use with-stream in the tests to ensure that the pipes are disposed 2014-09-24 14:40:34 -07:00
John Benediktsson d6019337f9 core-foundation: define some more callbacks. 2014-08-05 16:09:04 -07:00
John Benediktsson 8c58b99b1d Revert "openssl: define a startup-hook so that openssl initializes automatically"
This reverts commit 981ea313a0.

Conflicts:
	basis/openssl/openssl.factor
2014-08-05 12:14:53 -07:00
John Benediktsson fec182d2d8 io.backend.unix.multiplexers.run-loop: don't enable-all-callbacks twice. 2014-08-05 10:31:42 -07:00
Björn Lindqvist 60ffe0680e kernel: new combinator 2with = with with 2014-07-22 07:40:13 -07:00
John Benediktsson 5771cae818 io.monitors.recursive: fix second test. 2014-07-11 18:03:37 -07:00
Doug Coleman 4e67fac92d io.monitors.recursive: On Windows, at least, a recursive file monitor gets
set up for every single file. This is causing OOM errors on win32, so
let's just test resource:core\io instead.
2014-07-11 17:15:20 -07:00
Doug Coleman 3ad3e33006 io.launcher: Example is not very cross-platform. 2014-07-10 11:21:33 -07:00
Doug Coleman 6ea98afc99 io.sockets.secure.openssl: We don't care what the error is as long as it fails. 2014-07-09 22:32:32 -07:00
Doug Coleman baa9bed236 io.launcher: Fix help-lint for Windows. The examples don't work on
Windows, so disable them.
2014-07-09 23:19:58 -05:00
Doug Coleman 377180baf6 io.sockets.secure.windows: Fix using, remove duplication. 2014-07-07 21:44:40 -05:00
Doug Coleman 59c5373263 io.sockets.secure: Another fix for cross-platform openssl. 2014-07-07 18:45:22 -07:00
Doug Coleman 075a86f5d9 io.sockets.secure: Move some code from secure.unix to secure.openssl. Add a hook for finding sockets to upgrade. 2014-07-07 18:34:41 -07:00
Doug Coleman 79b0948377 io.backend.unix.multiplexers.run-loop: Really fix bug #775! 2014-07-04 01:50:45 -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 0c7a5b7c84 io.backend.unix.multiplexors.select: some cleanup. 2014-06-26 13:49:48 -07:00
Björn Lindqvist a4e98529fa io.launcher.windows.tests: many of the tests can result in utf8-encoded strings 2014-06-10 08:10:21 -07:00
Björn Lindqvist 981ea313a0 openssl: define a startup-hook so that openssl initializes automatically 2014-06-06 14:12:09 -07:00
John Benediktsson 57f9d78892 improve help by linking to types directly. 2014-05-23 20:20:15 -07:00
John Benediktsson ab969b072c io.directories.search: some cleanup. 2014-05-20 14:46:01 -07:00
John Benediktsson 3fb1532bd6 io.directories.search: add quot stack effects, simplify find-all-files. 2014-05-20 12:29:02 -07:00
John Benediktsson 7e4f2ec618 io.directories.search: faster directory traversal. 2014-05-20 12:06:11 -07:00
John Benediktsson 8293425783 io.encodings.ascii: moving to core. 2014-05-20 11:47:38 -07:00
John Benediktsson 98935b7f15 docs: change ``{ $quotation "( x -- y )" }`` to ``{ $quotation ( x -- y ) }``. 2014-05-18 20:09:10 -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
Doug Coleman 50ca01a4d8 io.sockets.windows: Fix using. 2014-04-23 20:07:32 -07:00
John Benediktsson e3323818cc io.sockets.secure.openssl: disable tests for now. 2014-04-22 08:16:53 -07:00
John Benediktsson 06912460b4 io.sockets.secure.openssl: use must-fail-with. 2014-04-22 07:41:23 -07:00
John Benediktsson e7a74e0e61 io.standard-paths.unix: fixing the tests for Ubuntu. 2014-04-22 07:40:57 -07:00
Doug Coleman 876b430ec9 io.standard-paths.unix: Fix ifconfig test. 2014-04-21 23:45:45 -07:00
John Benediktsson 6f87c2afc7 io.sockets: use must-fail-with for resolve-host errors. 2014-04-20 10:02:04 -07:00
John Benediktsson 24cb41aa13 io.sockets: don't need "0 or" for addrinfo. 2014-04-20 09:30:03 -07:00
Björn Lindqvist e1206d5ef1 io.sockets: add word addrinfo-error to signal host lookup failures
If the getaddrinfo call fails, and you want to handle that failure in
a structured way, then you need a designated error type to know what
went wrong.
2014-04-20 09:29:31 -07:00
Björn Lindqvist 516ffcc311 io.sockets.secure.openssl.tests: more and better SSL_connect tests
Better error handling so it should be easier to see why the tests fail
on the build server (#1036).
2014-04-18 10:06:46 -07:00
Björn Lindqvist df3417c5b7 io.sockets.secure.openssl: more docs 2014-04-18 10:06:46 -07:00
Björn Lindqvist e473ef628d io.sockets.secure.openssl: big refactoring, all error handling merged into one check-ssl-error word 2014-04-18 10:06:46 -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 9b28623b4f Docs: examples for io.launcher words 2014-04-14 08:42:09 -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
Björn Lindqvist a3eba146fd io.sockets: example for the with-socket function 2014-04-14 08:42:09 -07:00
Björn Lindqvist b79bd45908 io.sockets: example for resolve-host 2014-04-14 08:42:08 -07:00
Doug Coleman d123f589f7 io.sockets.secure.openssl: Check error code in unit test. 2014-04-08 12:08:58 -07:00
John Benediktsson 5e129a8964 more libc fixes. 2014-04-04 08:03:46 -07:00
John Benediktsson e50d1375a1 io: need to use libc for OS X? 2014-04-03 21:43:37 -07:00
Doug Coleman a02e8e3cda io.sockets.secure.openssl: Fix using list. 2014-04-02 23:11:52 -05:00
Björn Lindqvist ee19a97869 io.sockets.windows: wrap ioctlsocket and related constants to enable
setting sockets in non-blocking mode
2014-04-02 16:50:20 -05: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 4d8f3e8a78 io.sockets.secure.openssl: do-ssl-connect needs to call wait-for-fd 2014-04-02 12:13:21 -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 6421af3401 io.sockets.secure.*: unification of lots of platform-independent code
Code that is duplicated in the backends moved to
io.sockets.secure.openssl. The wait-for-fd verb used by do-ssl-accept
doesn't have any equivalent on Windows so that needs to be
implemented.
2014-04-02 12:12:37 -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
Björn Lindqvist 6ed3a09b5d io.sockets.secure: new hook variable ssl-certificate-verification-supported?
t if the backend is able to verify certificates, f
otherwise. Currently certificate validation isn't implemented on Windows
2014-04-02 12:11:53 -05:00
John Benediktsson 03b7e67547 fix some help-lint errors. 2014-03-12 20:08:15 -07:00
John Benediktsson 0a2fef0775 io.sockets: change protocol-port to handle ``f`` on all platforms. 2014-03-12 07:27:39 -07:00
John Benediktsson 0a2e632d4c io.standard-paths.unix: fix tests on arch linux. 2014-03-11 11:37:00 -07:00
John Benediktsson b039b6a542 io.streams.string: cleanup tests. 2014-03-11 11:25:53 -07:00
John Benediktsson ee040a242c io.streams: some more test cases for sequence-read-until. 2014-03-10 15:29:11 -07:00
Björn Lindqvist 39b13b6736 io.sockets.secure.openssl: guard against SSL_get_peer_certificate returning null 2014-03-06 18:41:37 +01:00
John Benediktsson 332fc7bc1a io.files.info.unix.linux: cleanup stack effects. 2014-02-27 15:26:38 -08:00
John Benediktsson bf1f4e9aa2 io.streams.sequence: cleanup by moving type checks. 2014-02-25 09:32:47 -08:00
John Benediktsson f243b31ddd io.streams.sequence: rename (stream-seek) to sequence-seek. 2014-02-25 07:56:28 -08:00
John Benediktsson ee9ead89f8 io.streams.sequence: bounds check sequence-read-until. 2014-02-25 07:52:07 -08:00
John Benediktsson 0b04d3f279 io.streams.string: faster M\ string-reader stream-readln. 2014-02-24 21:47:49 -08:00
John Benediktsson 2fe03b6711 io.streams.string: inline <string-writer> so with-string-writer is faster. 2014-02-10 20:46:25 -08:00
John Benediktsson 517268c18f io.encodings.utf7: add copyright for Björn Lindqvist. 2014-01-11 08:55:54 -08:00
Björn Lindqvist a47c41e45c io.encodings.utf7: cleaned up vocab per review
1. Tuple is used to hold the decoding buffer instead of a global
2. Fixed problematic sequence type conversions.
2014-01-11 08:43:36 -08:00
Björn Lindqvist 797d73bb8c io.encodings.utf7: documentation and metadata files 2014-01-11 08:43:36 -08:00
Björn Lindqvist c286d91289 io.encodings.utf7: working utf7 decoding with tests 2014-01-11 08:43:36 -08:00
Björn Lindqvist 9a7a2648fd io.encodings.utf7: decoder implementation, doesn't support utf7imap4 yet 2014-01-11 08:43:36 -08:00
Björn Lindqvist 9c90bc0c67 io.encodings.utf7: better encoding using the group-by combinator 2014-01-11 08:43:36 -08:00
Björn Lindqvist 900c670894 io.encodings.utf7: implementation of decoding for new codec utf7 2014-01-11 08:43:36 -08:00
John Benediktsson 1acf307e15 io.streams: make stream-element-type inline on string-reader and byte-reader. 2013-12-02 17:44:03 -08:00
Doug Coleman a71e2d8060 io.sockets.secure.openssl: Fix docs. 2013-11-28 12:59:36 -06:00
John Benediktsson 473fdc0d84 io.encodings.string: faster decode by using sbufs. 2013-11-24 16:22:29 -08:00
John Benediktsson 13ec450ac8 io.encodings.string: faster for ascii and utf8. 2013-11-24 16:08:26 -08:00
John Benediktsson 0806a8ce15 io.encodings: string>byte-array-fast for when aux>> is f. 2013-11-24 13:43:00 -08:00
John Benediktsson 53592b9c7d io.sockets.secure.windows: add platforms.txt. 2013-11-16 16:20:34 -08:00
Doug Coleman 4bcb356ba8 io.sockets.secure.openssl: libssl error is opaque, check that cert files
exist in Factor beforehand so we can get a nicer error message.
Add missing USE: and neaten up the list.
2013-11-16 15:59:31 -08:00
Björn Lindqvist 5f2238f7d4 io.sockets.secure.windows: secure socket implementation for windows, it works reasonably but certificate validation is not working correctly yet 2013-10-11 10:23:40 -07:00
Björn Lindqvist 729bd8a362 io.sockets.secure.openssl.tests: remove windows.winsock import and another test for subject-name 2013-10-11 10:23:40 -07:00
Björn Lindqvist ad627a1395 openssl.libssl: on windows the X509_* family of functions is in a
different dll than the other functions in libssl
2013-10-11 10:23:40 -07:00
Doug Coleman e407981e12 io.directories: Add with-resource-directory word and use it. 2013-09-24 13:13:39 -07:00
John Benediktsson 602e0aab94 io.ports: speed up stream-flush. 2013-09-18 19:27:40 -07:00
Björn Lindqvist bc56b5099f io.sockets, urls: move documentation for protocol-port 2013-09-16 17:31:37 -07:00
Björn Lindqvist 7c179f876c unix.ffi, windows.winsock: wraps for servent functions 2013-09-16 17:31:37 -07:00
John Benediktsson 32b07016b0 io.sockets.secure.openssl: some style improvements. 2013-09-16 17:24:31 -07:00
Björn Lindqvist 44a1d61bd4 io.sockets.secure: common-name -> subject-name 2013-09-16 17:17:48 -07:00
Björn Lindqvist c2fd5031e0 io.sockets.secure, io.sockets.secure.openssl: improved host name verification that takes into account a certificates subject alternative names. 2013-09-16 17:17:48 -07:00
Björn Lindqvist f4f60b8ba3 io.sockets.secure.openssl: support for getting issuer name 2013-09-16 17:17:47 -07:00
Doug Coleman 7ed9365c00 io.monitors.recursive: Fry quotations - do not apply liberally. 2013-07-16 14:43:29 -07:00
Doug Coleman 36a4eb7ee1 io.monitors.recursive: Bug - <recursive-monitor> could fail and leak a file monitor.
Fix - Monitors tests were "leaking" dummy-monitors objects.
2013-07-16 14:30:38 -07: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
Doug Coleman 1136ed9c19 io.launcher: Fix bug -- if dispose fails, still call dispose on the other
resource.
2013-05-19 10:22:07 -07:00
Doug Coleman 7c1caacc35 io.launcher: Fix two potential bugs.
1) If first (pipe) succeeds but second one fails, first pipe leaks.
2) out>> dispose fails, then in>> dispose is never called and leaks.
2013-05-19 10:18:14 -07:00
Doug Coleman c64cb2c886 io.pipes: If dispose on in>> throws, then out>> leaks. 2013-05-19 10:12:38 -07: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
Doug Coleman 7a35d85f30 io.directories.search: Show directory entries instead of throwing them away. 2013-04-13 16:18:54 -07:00
Doug Coleman 84a93dd998 io.directories.search.windows: Windows8 doesn't find ProgramFiles with the
existing methods, find it in an os-env.
2013-04-09 12:19:06 -07:00
John Benediktsson 1718c69e56 io.files: use split instead of split*. 2013-03-31 16:04:11 -07:00
John Benediktsson 5a99bbaf1d io.directories.unix: style fix to line up code. 2013-03-25 19:47:56 -07:00
Doug Coleman 4bb509ccdf io.encodings.strict: Fix docs 2013-03-25 11:57:25 -07:00
Doug Coleman efc2dedab4 io.pools: Fix load 2013-03-24 21:40:29 -07:00
Doug Coleman f12633e73b io.launcher.unix, unix.ffi: Reset ignored signal in process launcher. Fix SIG_DFL etc. 2013-03-24 12:38:02 -07:00
Doug Coleman e0216808e2 io.encodings.strict: Rename 2013-03-24 10:11:18 -07:00
Doug Coleman dc1adc942b io.pools: Rename 2013-03-24 10:11:17 -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 3b7d0681af unix: rename C function kevent. 2013-03-23 17:44:00 -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
Doug Coleman 8c19602ae9 assocs: Add of and ?of. Change all the things at once! Fixes #701. 2013-03-23 14:59:07 -07:00
Doug Coleman f9ea61bf91 basis/extra: Update last usages of <sliced-groups> to <groups>. 2013-03-23 12:08:18 -07:00
Doug Coleman 8917ae9ad7 grouping: Remove <groups>, old <sliced-groups> is now <groups>. Fixes 2013-03-23 11:37:51 -07:00
John Benediktsson 67a2b9dc9a io.encodings: speed up ascii and utf8 stream-read-until. 2013-03-18 13:35:22 -07:00
John Benediktsson 86b2dea8d5 io.encodings: remove duplication in decoder-readln. 2013-03-15 10:50:40 -07:00
John Benediktsson 68fed78c7d io.encodings.strict: some fixes. 2013-03-15 07:55:20 -07:00
John Benediktsson d11805228f io.files.info.unix.linux: use string>csv instead. 2013-03-15 06:40:24 -07:00
Doug Coleman ce72121c7a basis: End <PRIVATE with PRIVATE>. 2013-03-10 22:36:57 -07:00
Doug Coleman d7a61ae809 io.encodings.utf32: Fix unmatched <PRIVATE. 2013-03-10 22:20:59 -07:00
John Benediktsson 85d0c607b0 io.directories: fix docs for (directory-entries). 2013-03-06 17:35:53 -08:00
Doug Coleman f4834ce51c io.backend.unix: Nobody uses (refill), remove it. 2013-02-05 09:35:51 -08:00
John Benediktsson 83712ad87e io.directories: defining "?delete-file". 2012-10-25 10:07:15 -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
John Benediktsson 013160df9a change some "2drop 2drop" to "4drop". 2012-10-23 12:21:30 -07:00
John Benediktsson 87f55eb033 Change "3dup drop" to "2over". 2012-10-22 20:45:15 -07:00
John Benediktsson adb3a15d21 io.launcher.unix: fix tests to use arch in file names. 2012-09-22 10:30:10 -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
Doug Coleman bcc86baf45 io.sockets: Minor cleanup. 2012-08-26 00:04:53 -07:00
Doug Coleman 30673f65cf io.ports: More correct memory handling. There are still leaks in the tests... 2012-08-25 19:44:22 -07:00
Doug Coleman 27f445d505 assocs: Add sift-keys and sift-values. Remove three other implementations
of sift-values and use the new one.
2012-08-23 22:36:10 -07:00
John Benediktsson 8343c88f4d io.sockets: fix stack effect names. 2012-08-02 14:49:50 -07:00
John Benediktsson 7d8d6cdd51 core-foundation.run-loop: remove reset on every iteration. 2012-08-01 16:59:33 -07:00
John Benediktsson 1b32690d22 io.backend.unix.multiplexors.run-loop: switch to "mx get-global". 2012-08-01 16:20:31 -07:00
John Benediktsson 1a3e8a2994 io.backend: fix docs to show nanoseconds instead of micros. 2012-08-01 12:08:18 -07:00
John Benediktsson 3e6e6458e5 core-foundation.run-loop: do less work, speeds up yield by 50%. 2012-08-01 10:57:58 -07:00
Doug Coleman c448ea0e3e io.launcher.windows.tests: dos2unixfy it 2012-07-25 23:18:15 -07:00
Doug Coleman a4d7a76143 io.launcher: Bad usage of if-zero. Fixes #584. 2012-07-25 23:17:46 -07:00
John Benediktsson 4e72d80256 Using "same?" in more places. 2012-07-21 10:22:44 -07:00
John Benediktsson 2398580eb8 io.sockets.secure.unix.debug: move to io.sockets.secure.debug (not unix specific). 2012-07-19 19:17:52 -07:00
John Benediktsson 1a73e79ef7 cleanup some use of with-scope. 2012-07-19 13:55:34 -07:00
Doug Coleman 1da8666a70 io.sockets.unix: Needs to still use namespaces. Clean up using lists. 2012-07-19 00:53:09 -07:00
Doug Coleman 42f4dc36b2 namespaces: Rename ``bind`` to ``with-variables``. Update a few places that called ``global [ ] with-variables`` to use ``with-global``. 2012-07-19 00:02:47 -07:00
John Benediktsson 2f7e8c0352 io.directories: fix mistaken refactor. 2012-07-17 08:39:31 -07:00
John Benediktsson c507293d41 io.directories.hierarchy: faster directory-tree-files. 2012-07-17 08:25:53 -07:00
John Benediktsson b519b52fa3 io.directories: cleanup and some performance improvements with move/copy. 2012-07-16 22:03:49 -07:00
John Benediktsson 2f325e4fee using if-zero in even more places. 2012-07-16 19:38:49 -07:00
John Benediktsson 5cc30f46f5 using if-zero in more places. 2012-07-16 15:45:21 -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
John Benediktsson f53f6993ec io.sockets: fix stack effect for <broadcast>. 2012-05-29 15:47:15 -07:00
John Benediktsson 2db76ac23c io.sockets.windows: get the handle from the handle. 2012-05-29 11:20:55 -07:00
John Benediktsson 51fcae2d8b io.sockets: adding "broadcast port", ideally would just be +broadcast+ or something, but this works. 2012-05-29 10:46:19 -07:00
Doug Coleman 3507b9bad7 classes:
- Allow methods to dispatch off union{ } and intersection{ } classes.
- Add not{ } anonymous-complement syntax.
- Define class-name for anonymous-union/intersection/complement and maybes, and clean up pprint.
- Change maybe: foo to maybe{ foo }
- Call sort-classes when making anonymous-union/anonymous-intersection classes so that they are canonicalized.
2012-05-03 19:45:30 -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 b26ddc37e8 io.encodings.iana: remove values 2011-11-29 13:22:23 -08:00
Joe Groff 255d024e51 io.sockets: remove unneeded USING: values 2011-11-29 09:46:51 -08:00
Joe Groff 1ef6fc03e6 remove values vocab 2011-11-28 21:26:33 -08: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 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
Doug Coleman 067f9830ef classes.union: Define a maybe: word that makes a tuple that acts as an anonymous union for a type and f. Updated all the places we define UNION: ?foo foo POSTPONE: f ;. Fixes #416 and lots of headaches. 2011-11-22 01:56:13 -08:00
Joe Groff 9b73ecdf70 io.monitors: kill outdated doc about kqueue on BSD 2011-11-17 16:56:34 -08:00
Doug Coleman 62f652a5a1 io.directories: fix delete-file on windows, add unit test 2011-11-12 18:28:07 -08:00
Joe Groff 1c99568492 io.sockets.windows: plug receive-from memory leak
Should fix #387.
2011-11-11 17:56:04 -08:00
Slava Pestov 98d98ab04a io.ports: clean up 2011-11-10 00:40:31 -05:00
Joe Groff d685cb6502 io.ports: make read-step inline 2011-11-09 19:59:46 -08:00
Joe Groff a67931b7c5 io.ports: fix bootstrap
Apparently can't use TYPED: or have HINTS: in the wrong place.
2011-11-09 16:32:47 -08:00
Joe Groff 9443f30b7d io.backend.unix: hints on M\ fd refill
Trims some low-order dispatch overhead for #376.
2011-11-09 16:32:47 -08:00
Joe Groff 5a3537b90a io.files: add file-reader, file-writer mixins
This lets us do some trickery so that the stream-element-type propagates from <file-reader>/<file-writer>. For #376.
2011-11-09 14:43:39 -08:00
Joe Groff bab801b321 io.ports: make read-step TYPED:
Eliminates more dispatch. For #376.
2011-11-09 14:13:41 -08:00
Joe Groff 63c48aa952 io.buffers, io.ports: trim some dispatch
For #376. Still some work to do.
2011-11-09 13:31:02 -08:00
Joe Groff feb8c6149a io.backend: start signal thread after io-backend
The c-io-backend can't handle input-ports and raises an error during bootstrap.
2011-11-08 11:54:54 -08:00
Joe Groff fc7c175c9f new module unix.signals: app-level signal handlers
example:

IN: scratchpad USING: unix.ffi unix.signals ;
Loading resource:basis/unix/signals/signals.factor
IN: scratchpad [ V{ "Me not that kind of orc!" "Me busy, leave me alone!" "Work work" "Zug zug" } pop print flush ] SIGINFO add-signal-handler
IN: scratchpad load: 0.60  cmd: factor 41541 running 0.28u 0.16s
Zug zug
load: 0.71  cmd: factor 41541 running 0.28u 0.16s
Work work
load: 0.71  cmd: factor 41541 running 0.28u 0.16s
Me busy, leave me alone!
load: 0.73  cmd: factor 41541 running 0.28u 0.16s
Me not that kind of orc!
2011-11-08 10:21:49 -08:00
Joe Groff 8337b08d0d io.backend.unix: startup hook for signal-pipe 2011-11-08 08:42:48 -08:00
Joe Groff ed24890dce io.backend.unix: init-signal-pipe function
Currently just reads off signal numbers and drops them.
2011-11-08 08:42:48 -08:00
Joe Groff 55a316248e io.launcher.windows: update tests for prompt 2011-11-08 00:09:25 -08:00
Doug Coleman 69ffe6377a io.backend.unix.macosx: Remove duplicate USE: 2011-11-02 17:47:15 -07: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 c44a998ef4 Fix typo in tests 2011-11-02 09:15:32 -07:00
Doug Coleman a647df58f6 Make editors use the new path-finding vocabulary and protocol.
Implement io.standard-paths on Windows.
2011-10-31 13:16:37 -07:00
Joe Groff bf0c7eaa22 io.encodings.string: make binary decode/encode nop
Fixes #319.
2011-10-31 11:07:44 -07:00
Doug Coleman ada631c202 Add core-foundation.launch-services for finding the path of a bundle. Add a new standard-paths vocabulary for finding files. 2011-10-30 16:11:18 -07:00
Doug Coleman ff27f2c3f7 Change order or articles in io.launcher. 2011-10-29 15:13:45 -07:00
Doug Coleman eb7fd4a69b Add options to set the child process group id or session for Unix. This fixes part of #307. 2011-10-29 02:47:10 -07:00
Slava Pestov 5b69026f59 io.launcher: change kill-process to also close the pipe, if there is one, so that try-output-process can timeout even if the process spawns a subprocess which inherits the pipe. This fixes part of #307 2011-10-28 21:53:25 -07:00
Doug Coleman 4ebe5218c7 Update Windows for word renames, fix lint errors 2011-10-24 21:50:02 -07:00
Doug Coleman 51c033a1f6 Fix all failures in the linux64 build email 2011-10-24 19:33:09 -07:00
Doug Coleman f9257959fd Rename class to class-of 2011-10-24 06:47:42 -05:00
John Benediktsson 5a943b32c4 Remove stack effects from HELP: declarations. 2011-10-20 19:36:11 -07:00
John Benediktsson fb2aab3545 Remove unused words. Fixes #132. 2011-10-19 11:01:16 -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 b58688f87d Add throw-win32-error, use it in (delete-file) 2011-10-19 02:51:36 -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 e40453ebee io.streams.limited: missed INSTANCE: input-stream 2011-10-18 21:27:08 -07:00
Joe Groff 13b17fb84a io: input-stream and output-stream mixins 2011-10-18 16:25:09 -07:00
Joe Groff 9b2634fbd7 io.files.windows: fix can-seek? and length 2011-10-18 12:42:53 -07:00
Doug Coleman 5c694767cd Report which file doesn't get deleted on Windows. 2011-10-18 00:59:57 -07:00
Doug Coleman 24a6895436 io.sockets.windows - Add a using, output count to fix compile error. Not bad for having no Windows box. 2011-10-17 23:28:22 -07:00
Joe Groff 90e1002349 io.sockets: rename (receive) to (receive-unsafe) 2011-10-17 21:23:37 -07:00
Joe Groff 9a812cc5c9 io.ports: lift common methods onto buffered-port 2011-10-17 21:23:37 -07:00
Joe Groff 67cccc63b3 formatting 2011-10-17 21:23:36 -07:00
Joe Groff 68621c4d79 io.sockets.windows: recv to byte-array via malloc
WSARecvFrom on Windows does its work asynchronously, so the buffer cannot be in the managed heap during the extent of the operation.
2011-10-17 21:23:36 -07:00
Joe Groff 8fc0be3c2f io.sockets: remove unix.ffi inserted by auto-use 2011-10-17 21:23:36 -07:00
Joe Groff 5d0ff43613 io.sockets: receive directly into byte array 2011-10-17 21:23:11 -07:00
Joe Groff 20e49c273f io.sockets: receive-unsafe and receive-into
Analogous to read-unsafe/read-into for streams (and thereby TCP sockets), provide receive-unsafe and receive-into words for datagram sockets that receive into a caller-supplied buffer.
2011-10-17 21:23:11 -07:00
Joe Groff e426512534 more stream-seekable? and stream-length methods
- limited-streams and throw-on-eof-streams
- string-readers and byte-readers
2011-10-17 21:23:09 -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
Joe Groff 09f55f82fa clean up forwarding stream-read-partial-unsafe
Now that "io" provides a method on object for stream-read-partial-unsafe that forwards to stream-read-unsafe, individual stream class that don't implement partial reads don't need to provide such a method themselves.
2011-10-17 21:23:06 -07:00
Joe Groff 6f12322bda kill noncopying-reader mixin, stream-read generic
Now that all streams have been updated to implement the stream-read-unsafe protocol, take out the noncopying-reader shim. Turn stream-read and stream-read-partial into plain functions over the -unsafe generics.
2011-10-17 21:23:05 -07:00
Joe Groff 5c945595ee io.encodings.string: faster decode and encode
stream-contents is apparently way slow for decoders. Write decode out more directly as a read1/push loop so it's faster. encode isn't quite as bad, but we can still get a 25% speed improvement by writing to an appropriately sized byte-vector.
2011-10-17 21:23:02 -07:00
Joe Groff 055196d4b7 io.streams.(limited,throwing): read-unsafe methods 2011-10-17 21:23:00 -07:00