Alexander Iljin
f530692362
io.files.windows: replace open-existing with open-r/w
...
This fixes error throwing in case of CreateFile failure, and calls
add-completion for the file handle on success.
2016-06-22 11:27:26 -07:00
Alexander Iljin
ae1c7b7a54
io.files.windows: use CreateFileW in open-file for consistency
2016-06-22 11:27:26 -07:00
Jon Harper
e9454fc310
io.files.info docs, sync link-info and file-info docs
2016-06-22 11:22:43 -07:00
Björn Lindqvist
a80aeea7f9
io.files.windows: make CreateFile-flags a normal word (fixes the recent test failures)
2016-05-31 17:04:34 +02:00
Alexander Iljin
8e2a65e5a2
io.files.info.windows: add a comment to open-read-handle
2016-05-30 12:35:26 -07:00
Alexander Iljin
aa7a285390
io.files.info.windows: fix flags in open-read-handle
...
Add FILE_SHARE_WRITE and FILE_SHARE_DELETE flags and calls CreateFile-flags
hook. This fixes file-readable? so that it uses the same flags as open-read
(issue #1470 ).
2016-05-30 12:35:25 -07:00
Alexander Iljin
ff26c3d39c
io.files.windows: add FILE_FLAG_BACKUP_SEMANTICS to CreateFile-flags
...
This provides additional access rights if the process has SE_BACKUP_NAME
or SE_RESTORE_NAME privileges. Does nothing otherwise.
2016-05-30 12:35:25 -07:00
Alexander Iljin
043c6984b9
io.files.info.windows: fix file-readable?
...
This fixes issue #1470 . Now the method tries to open the file handle for
reading and returns t on success. This approach makes Windows check the
current user's permissions.
2016-05-30 12:35:24 -07:00
Alexander Iljin
2264638a61
io.files.info.windows: add open-read-handle to reuse later
2016-05-30 12:35:23 -07:00
Alexander Iljin
2b68636207
io.files.info.windows: fix parameter name for get-file-information-stat
2016-05-30 12:35:23 -07:00
Doug Coleman
3494576ad8
io.files.windows: Add a unit test to make sure shared flags stay on.
2016-05-30 12:24:17 -07:00
Doug Coleman
3307876cc2
io.files.unique: clean up the files that are created if not all files can be created.
2016-05-26 14:05:58 -07:00
Doug Coleman
a399439a5f
io.files.unique: Make sure the files are the same except for the suffix. Add unit test. Fix paths typo.
2016-05-25 17:49:59 -07:00
Doug Coleman
48d9b2b4eb
io.files.unique: Add a way to create multiple unique files at the same time. If any of them fail, then the whole operation fails.
2016-05-23 13:17:29 -07:00
Doug Coleman
363e08b6a8
factor: fix whitespace at end of files.
2016-04-06 16:53:25 -07:00
John Benediktsson
2269b07d33
use with-temp-file and with-temp-directory in some tests.
2016-04-04 10:33:03 -07:00
John Benediktsson
c09312d881
io.files.unix: more test cleanup.
2016-03-31 21:32:05 -07:00
John Benediktsson
3f18b71d07
cleanup some QUALIFIED: that are no longer needed.
2016-03-29 10:20:16 -07:00
Björn Lindqvist
0bb3228063
unix: fixed read-symbolic-link ( #1074 ) + tests
2016-03-23 16:15:30 +01:00
Björn Lindqvist
53467d4e21
io.files.unix: loop getcwd with an expanding buffer, fixes part of #1074
...
It appears that the right way to do it is using an arbitrary sized buffer
and just expanding it in case getcwd reports ERANGE.
2016-03-23 16:15:29 +01:00
Björn Lindqvist
579875821b
VM: removes the OBJ-ERROR special object in favor of a constant
...
The special object contained the string "kernel-error" which were used
to tag VM errors. But it is simplier and removes a little complexity to
just tag them with a fixnum constant.
2016-03-22 17:52:19 +01:00
John Benediktsson
50759f4bc6
io.files.unique: change cleanup-unique-file quot stack effect.
2016-03-19 13:03:15 -07:00
John Benediktsson
bde8f522f1
fix some tests broken by my io.files.unique change.
2016-03-19 09:50:01 -07:00
John Benediktsson
e36727db23
io.files.unique: some cleanup.
2016-03-18 16:54:17 -07:00
John Benediktsson
baae677276
io.files.unique: change to create unique files and directories relative to the current-directory.
2016-03-18 10:57:54 -07:00
John Benediktsson
32b29f7079
io.files.info: cleanup by using with-temp-directory.
2016-03-17 17:51:36 -07:00
Doug Coleman
d4b8e44399
license rename: fix the rest of it.
2016-03-17 02:36:34 -07:00
John Benediktsson
73de6246b7
io.files.temp: use a startup hook as the temp directory could change from run to run.
2016-03-16 21:40:25 -07:00
Doug Coleman
2aadc94b10
io.files.temp: Initialize symbols after the backends are loaded. Top level code sucks.
2016-03-16 21:25:19 -07:00
John Benediktsson
33b6c0426d
io.files.temp: allow changing of current temp and cache directory.
2016-03-16 15:19:10 -07:00
Doug Coleman
67e7874e91
io.files.info.unix.linux: Special characters in mount points are encoded as octal escape sequences.
2015-11-03 15:55:14 -08:00
Doug Coleman
51ecaa5ab4
io.files.windows: ALIEN: -1 puts an expired alien in the image. -1 <alien>
...
it is then.
2015-11-02 21:18:49 -08:00
Doug Coleman
26e5c1aecf
windows.kernel32, io.files.windows: Add support for listing alternate data
...
streams, e.g. file paths like foo.txt:Zone.Identifier.
2015-11-01 18:17:51 -08:00
Björn Lindqvist
575da3e478
VM: fix so that errno is set if MoveFileEx fails, should fix #1490
2015-10-12 12:19:21 +02:00
Björn Lindqvist
37cd54cfbb
io.files.windows.tests: windows test for the save-image not failing failure #1489
...
this one really should always throw permission denied or else something
is very spooky
2015-10-11 04:21:43 +02:00
Björn Lindqvist
e35087fb22
io.files.windows: fix incorrect parsing of file attribute bitfield in win32-file-attributes
2015-10-11 04:11:30 +02:00
Doug Coleman
db793e06f6
io.files.windows: SetFilePointer takes a PLONG not a uint pointer.
2015-10-09 19:50:06 -07:00
Alexander Iljin
156a2d0b90
Minor documentation fixes.
2015-09-29 09:12:29 -07:00
John Benediktsson
e477f6996f
Fix comments to be ! not #!.
2015-09-08 16:15:10 -07:00
John Benediktsson
ceb75057da
change ERROR: words from throw-foo back to foo.
2015-08-13 16:13:05 -07:00
Doug Coleman
b6be8685c3
basis: ERROR: changes.
2015-08-13 03:20:39 -07:00
John Benediktsson
2a3427bdff
io.files.info: use directory?, symbolic-link?, and regular-file?.
2015-08-05 18:33:35 -07:00
Doug Coleman
23899e2d83
io.files.windows: Need the SLOT: file from io.sockets.secure.openssl
2015-07-30 00:05:37 -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
0176591527
factor: actual patch to remove ; from all c/fortran functions
2015-07-19 16:25:30 -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
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