Commit Graph

961 Commits (2f325e4fee8857f93423f44ff025587076f73dd3)

Author SHA1 Message Date
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
Joe Groff 01419b3e6b io.streams.null: read-unsafe methods 2011-10-17 21:23:00 -07:00
Joe Groff a3b15543e1 io.ports: implement read-unsafe operations 2011-10-17 21:22:59 -07:00
Joe Groff 7e9dbde99f io.buffers: factor out buffer-read-unsafe word
buffer-read-unsafe returns a length and a pointer into the buffer instead of a copy.
2011-10-17 21:22:59 -07:00
Joe Groff d5f4b6f155 io.streams.sequence: change to provide read-unsafe
Change io.streams.sequence and its children io.streams.byte-array and io.streams.string to implement the -unsafe protocol and mixin noncopying-reader.
2011-10-17 21:22:59 -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
John Benediktsson 24232cb095 io.crlf: add a word that reads an optional CR. 2011-10-12 12:36:54 -07:00
Doug Coleman 7228c2df2c stream-element-type on output-ports was broken -- it looked for a stream>> slot but no such slot exists. add some unit tests 2011-10-12 01:05:01 -07:00
Doug Coleman c74402dad9 Fix using list because I'm dumb for developing Windows changes from a Mac. 2011-10-11 13:33:44 -07:00
Doug Coleman 63fa01fd4f Proper double-quote and backslash escaping for windows command line arguments. Fixes #245. 2011-10-11 12:21:04 -07:00
Doug Coleman 871dfb9a3a On Windows, escape command line arguments with double quotes with a backslash: " -> \". Fixes #245. 2011-10-10 22:24:23 -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
Doug Coleman 2402345794 Add examples to encode/decode docs. 2011-10-06 13:21:18 -07:00
Slava Pestov dabbe35bd9 concurrency.mailboxes: linked-thread's error reporting should still work even when debugger.threads is not loaded. This addresses part of #95 2011-10-03 00:24:37 -07:00
Doug Coleman 76580da5d5 Refactor the lexer/parser to expose friendlier words for scanning tokens. The preferred top-level words now throw an exception on EOF.
CREATE -> scan-new
CREATE-CLASS -> scan-new-class
CREATE-WORD -> scan-new-word
CREATE-GENERIC -> scan-new-generic
scan -> (scan-token)
scan-token now throws on eof
(scan-word) returns word/number/f
scan-word now throws on eof
scan-word-name expects a non-number
Fixes #183.
Fixes #209.
2011-09-29 11:28:28 -07:00
Doug Coleman e255e9f1cb Fix typo on datagram docs 2011-09-26 12:27:37 -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
John Benediktsson baac978767 Removing "to:" syntax from values.
Squashed commit of the following:

commit 18fef6bfa59f71dcb63b439f631c735848a9bbbb
Author: John Benediktsson <mrjbq7@gmail.com>
Date:   Mon Sep 26 11:02:26 2011 -0700

    vocabs.metadata: revert mistaken change.

commit 496b103b54034ea953882a039c08847d0eda0bb4
Author: John Benediktsson <mrjbq7@gmail.com>
Date:   Sun Sep 25 19:03:54 2011 -0700

    values: Removing "to:" syntax.
2011-09-26 11:08:26 -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
Doug Coleman 1b20b0c476 Make sure 0 read always returns f. Fixes issue #70.
More unit tests, fix read-until to return f f sometimes
Rename ((read-until)) to read-until-loop. Fix the stack effect declarations of (read) and handle-readln.
2011-09-09 18:51:06 -07:00
Doug Coleman 56e8ddb9cb Fix windows unit test 2011-09-07 00:35:03 -07:00
Doug Coleman 5fce2d0f27 Make "quiet" true by default. Disable quiet mode for listener, bootstrap, and deploy tool.
Move "quiet" to parser-quiet? in parser.notes. Change a few places where quiet was handle wrong.
2011-09-06 17:58:12 -07:00
Slava Pestov a8633d28c7 unix.*, io.directories.unix: remove unnecessary dependency on io.backend.unix 2011-09-01 22:31:45 -07:00
John Benediktsson 39b800907c io.files.windows: add some tests cases for UNC paths. Fixes #44. 2011-08-28 12:55:09 -07:00
John Benediktsson 3949c53343 Merge remote-tracking branch '8byte-jose/win32-unc-fix' 2011-08-28 11:46:43 -07:00
John Benediktsson 9f34c9c676 Spelling fixes to documentation. 2011-08-26 16:20:31 -07:00
Doug Coleman 4d38a02316 Revert "Try to read instead of write from a TCP connection. This gives 'Connection refused' instead of 'Broken pipe', which is much more useful."
This reverts commit 088c367b77.
2011-08-26 13:55:52 -05:00
Doug Coleman b7314a68d8 Try to read instead of write from a TCP connection. This gives 'Connection refused' instead of 'Broken pipe', which is much more useful. 2011-08-26 11:03:01 -05:00
Slava Pestov ce9b311b10 io.pipes: add unit test for Linux x86-64 epoll() problem 2011-08-25 21:37:26 -07:00
Slava Pestov dfc7326413 io.thread: if the I/O thread throws an error, call out to the fep immediately instead of going through the normal thread error mechanism, which by that point won't work anyway 2011-08-25 21:36:57 -07:00
John Benediktsson d7d1b6fea1 io.sockets: check ipv4 and ipv6 for valid address strings. 2011-08-19 14:19:09 -07:00
Erik Charlebois 662bc3b07b Fix bugs in unix ffi usage 2011-05-23 23:36:14 -04:00
Erik Charlebois 013209bd17 epoll working on linux 2011-05-23 23:36:13 -04:00
John Benediktsson 013097e617 io.launcher: fix launcher examples. 2011-04-17 18:12:23 -07:00
Anton Gorenko 090254d671 ui.backend.gtk: fix a bug with endless error messages in a console after closing of UI;
io.thread: start-io-thread always starts io-thread even if it was stopped, fix line endings;
2011-04-01 22:06:07 +06:00
Slava Pestov db29973ccb io.sockets: fix unit test on Windows 2011-02-27 14:38:47 -08:00
Slava Pestov c0de0ac15f Merge branch 'doc-fixes' of git://github.com/keitahaga/factor 2011-02-25 22:37:39 -08:00
Slava Pestov 266c6d32e7 io.sockets: add scope-id to ipv6 addrspecs, fixing a problem with connecting to localhost on Mac OS X (and other systems) where localhost is associated with a link-local address such as fe80::1 2011-02-25 22:33:28 -08:00
Slava Pestov 78a85d0b05 io.sockets.secure.unix: update unit test for close-notify change 2011-02-25 21:05:56 -08:00
Keita Haga e374d55d09 io.encodings.8-bit.latin9, io.encodings.shift-jis: fix typo in docs. offical => official 2011-02-21 02:53:35 +09:00
Keita Haga 93b3cc0a93 io.styles: remove a nl in usage example of background 2011-02-20 06:11:31 +09:00
Keita Haga 2696c59aab io.sockets: fix a few typos in docs 2011-02-06 17:40:03 +09:00
Slava Pestov 4270c6cce6 io.sockets.secure.unix: fix socket shutdown handling to make http.client work with https://www.google.com 2011-01-31 23:45:45 -05:00
Slava Pestov cc06c4e51f openssl: remove cacert.pem, since its useless and we should call SSL_CTX_set_default_verify_paths instead 2011-01-29 23:26:29 -05:00
8byte-jose b3f0ff51aa fixed handling of UNC paths under windows 2011-01-25 13:32:21 +01:00
Keita Haga 23ec49a109 io.servers: fix a couple of typos in docs 2011-01-14 19:47:52 +09:00
Keita Haga a093c454c1 io.launcher: fix typo in docs 2011-01-08 23:10:35 +09:00
Keita Haga d5fe4fecc1 remove useless whitespace in several documentation 2011-01-05 15:55:34 +09: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 7a9591674c io.directories.search: fix a couple of examples 2010-12-23 05:15:20 +09: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 08656749bf io.styles: add using to all examples plus fix formatting in some examples 2010-12-04 21:25:12 +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
Keita Haga ae7b44e5eb io.directories: fix typo in example 2010-11-14 17:18:56 +09:00
Slava Pestov c4a83d2d0b io.servers: don't try to open SSL sockets if they're not supported on the current platform (ie, Windows) 2010-11-13 18:32:10 -06: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
Slava Pestov b10897334c io.sockets.secure: add ssl-supported? hook, and make furnace.auth and twitter vocabs use it. This makes furnace work on Windows 2010-10-24 15:54:19 -07:00
Slava Pestov fbbaef70c4 Remove stream-peek and stream-peek1, re-implement dns vocab to not need this abstraction 2010-10-08 18:55:13 -07:00
Doug Coleman 7367ff19c4 Add a method on url-addr for local ports
Remove test for code that got reverted
2010-10-08 08:42:19 -07:00
Doug Coleman d462355035 Implement and document stream-peek 2010-10-08 06:34:19 -07:00
Doug Coleman f7af445625 Add stream-peek1 and remove it from images.gif and dns. Add sequence-peek but not stream-peek (yet?) 2010-10-08 06:34:17 -07:00
Slava Pestov 89ae9d9638 Various cleanups for Doug's recent socket addressing change
- urls: now have a host/port slots again, add a new set-url-addr word
- http.server: fix host header parsing for IPv6 addresses
2010-10-06 23:00:38 -07:00
Doug Coleman 32f447d796 Since ip4/ip6 services can run on different ports, we must include which version of ip we're using instead of just a port. Make URL objects store an inet4/i nt6/inet object with host/port slots instead of storing host/port slots separately. Stricter error checking on inet4/inet6 tuple creation. Update lots of code related to the URL change. 2010-10-05 09:56:29 -05:00
Doug Coleman e48c28359e Fix io.streams.throwing word and write docs for it. Fix typo in io.streams.limited docs 2010-09-27 20:20:48 -05:00
Doug Coleman 0bbfa64b24 Squashed commit of the following:
commit 54b3e19c7407707fabddd53872559c58cd5143d2
Author: Doug Coleman <doug.coleman@gmail.com>
Date:   Mon Sep 27 19:10:15 2010 -0500

    Fix typo

commit 3207516dc93e0e1edc9f119efcc79f4484eab244
Author: Doug Coleman <doug.coleman@gmail.com>
Date:   Mon Sep 27 19:08:30 2010 -0500

    Rename io.servers.connection to io.servers
2010-09-27 19:12:33 -05:00
Doug Coleman 4ade3b6a5c Clean up io.servers.connection >insecure word 2010-09-27 19:00:54 -05:00
Doug Coleman b03268f047 Make secure-context persist longer than a millisecond when a server gets started. 2010-09-27 18:57:14 -05:00
Slava Pestov 2fb36ea1c5 io.sockets: minor cleanup 2010-09-24 01:17:33 -07:00
Doug Coleman a2a598546f Only return ipv4 addresses for binding to on linux. 2010-09-23 13:20:18 -05:00
Doug Coleman 8d3cb0d596 Remove test for icmp sockets since extra/ping implicitly tests this 2010-09-22 00:55:18 -05:00
Doug Coleman 2c42e616b4 Implement a raw port. Make ping only run on Windows and Mac because the other platforms require root privs. 2010-09-21 22:00:18 -05:00