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
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