fixing the launcher
parent
d4dd93e316
commit
9120865157
|
@ -4,7 +4,7 @@ USING: io io.backend io.launcher io.nonblocking io.unix.backend
|
|||
io.unix.files io.nonblocking sequences kernel namespaces math
|
||||
system alien.c-types debugger continuations arrays assocs
|
||||
combinators unix.process strings threads unix
|
||||
io.unix.launcher.parser accessors ;
|
||||
io.unix.launcher.parser accessors io.files ;
|
||||
IN: io.unix.launcher
|
||||
|
||||
! Search unix first
|
||||
|
@ -67,6 +67,7 @@ USE: unix
|
|||
|
||||
: spawn-process ( process -- * )
|
||||
[
|
||||
current-directory get cd
|
||||
setup-priority
|
||||
setup-redirection
|
||||
dup pass-environment? [
|
||||
|
|
|
@ -90,4 +90,3 @@ SYMBOLS: +read-only+ +hidden+ +system+
|
|||
|
||||
M: windows-nt-io file-info ( path -- info )
|
||||
get-file-information-stat ;
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@ io.windows io.windows.nt.pipes libc io.nonblocking
|
|||
io.streams.duplex windows.types math windows.kernel32 windows
|
||||
namespaces io.launcher kernel sequences windows.errors assocs
|
||||
splitting system threads init strings combinators
|
||||
io.backend accessors concurrency.flags ;
|
||||
io.backend accessors concurrency.flags io.files ;
|
||||
IN: io.windows.launcher
|
||||
|
||||
TUPLE: CreateProcess-args
|
||||
|
@ -27,7 +27,8 @@ TUPLE: CreateProcess-args
|
|||
"STARTUPINFO" <c-object>
|
||||
"STARTUPINFO" heap-size over set-STARTUPINFO-cb >>lpStartupInfo
|
||||
"PROCESS_INFORMATION" <c-object> >>lpProcessInformation
|
||||
TRUE >>bInheritHandles ;
|
||||
TRUE >>bInheritHandles
|
||||
current-directory get >>lpCurrentDirectory ;
|
||||
|
||||
: call-CreateProcess ( CreateProcess-args -- )
|
||||
{
|
||||
|
|
|
@ -3,7 +3,7 @@ io.timeouts io.nonblocking io.windows io.windows.nt.backend
|
|||
kernel libc math threads windows windows.kernel32
|
||||
alien.c-types alien.arrays sequences combinators combinators.lib
|
||||
sequences.lib ascii splitting alien strings assocs
|
||||
combinators.cleave ;
|
||||
combinators.cleave namespaces ;
|
||||
IN: io.windows.nt.files
|
||||
|
||||
M: windows-nt-io cwd
|
||||
|
@ -63,11 +63,12 @@ ERROR: not-absolute-path ;
|
|||
ERROR: nonstring-pathname ;
|
||||
ERROR: empty-pathname ;
|
||||
|
||||
USE: tools.walker
|
||||
M: windows-nt-io normalize-pathname ( string -- string )
|
||||
dup string? [ nonstring-pathname ] unless
|
||||
dup empty? [ empty-pathname ] when
|
||||
{ { CHAR: / CHAR: \\ } } substitute
|
||||
cwd swap windows-append-path
|
||||
current-directory get swap windows-append-path
|
||||
[ "/\\." member? ] right-trim
|
||||
dup peek CHAR: : = [ "\\" append ] when ;
|
||||
|
||||
|
|
|
@ -1,36 +0,0 @@
|
|||
USING: io.files kernel tools.test io.backend
|
||||
io.windows.nt.files splitting ;
|
||||
IN: io.windows.nt.tests
|
||||
|
||||
[ "c:\\foo\\" ] [ "c:\\foo\\bar" parent-directory ] unit-test
|
||||
[ "c:\\" ] [ "c:\\foo\\" parent-directory ] unit-test
|
||||
[ "c:\\" ] [ "c:\\foo" parent-directory ] unit-test
|
||||
! { "c:" "c:\\" "c:/" } [ directory ] each -- all do the same thing
|
||||
[ "c:" ] [ "c:\\" parent-directory ] unit-test
|
||||
[ "Z:" ] [ "Z:\\" parent-directory ] unit-test
|
||||
[ "c:" ] [ "c:" parent-directory ] unit-test
|
||||
[ "Z:" ] [ "Z:" parent-directory ] unit-test
|
||||
[ t ] [ "c:\\" right-trim-separators root-directory? ] unit-test
|
||||
[ t ] [ "Z:\\" right-trim-separators root-directory? ] unit-test
|
||||
[ f ] [ "c:\\foo" root-directory? ] unit-test
|
||||
[ f ] [ "." root-directory? ] unit-test
|
||||
[ f ] [ ".." root-directory? ] unit-test
|
||||
|
||||
[ ] [ "" resource-path cd ] unit-test
|
||||
|
||||
[ "\\foo\\bar" ] [ "/foo/bar" normalize-pathname ":" split1 nip ] unit-test
|
||||
|
||||
[ "\\\\?\\C:\\builds\\factor\\log.txt" ] [
|
||||
"C:\\builds\\factor\\12345\\"
|
||||
"..\\log.txt" windows-append-path
|
||||
] unit-test
|
||||
|
||||
[ "\\\\?\\C:\\builds\\" ] [
|
||||
"C:\\builds\\factor\\12345\\"
|
||||
"..\\.." windows-append-path
|
||||
] unit-test
|
||||
|
||||
[ "\\\\?\\C:\\builds\\" ] [
|
||||
"C:\\builds\\factor\\12345\\"
|
||||
"..\\.." windows-append-path
|
||||
] unit-test
|
Loading…
Reference in New Issue