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