From 06101ffb8920b6db8f3007113d1fe392e25df4b6 Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Thu, 15 Nov 2018 10:02:57 -0700 Subject: [PATCH] cs & io: fix `current-directory` initialization --- racket/src/cs/io.sls | 2 -- racket/src/io/demo.rkt | 2 +- racket/src/io/main.rkt | 2 ++ racket/src/io/path/system.rkt | 11 ++++++++++- 4 files changed, 13 insertions(+), 4 deletions(-) diff --git a/racket/src/cs/io.sls b/racket/src/cs/io.sls index d4e1b710d0..d281b85fb4 100644 --- a/racket/src/cs/io.sls +++ b/racket/src/cs/io.sls @@ -462,8 +462,6 @@ (include-generated "io.scm") ;; Initialize: - (|#%app| 1/current-directory (current-directory)) - (|#%app| 1/current-directory-for-user (current-directory)) (set-log-system-message! (lambda (level str) (1/log-message (|#%app| 1/current-logger) level str #f))) (set-error-display-eprintf! (lambda (fmt . args) diff --git a/racket/src/io/demo.rkt b/racket/src/io/demo.rkt index 901def1dc5..f08456bf3e 100644 --- a/racket/src/io/demo.rkt +++ b/racket/src/io/demo.rkt @@ -12,7 +12,7 @@ [current-directory host:current-directory] [path->string host:path->string])) -(current-directory (find-system-path 'orig-dir)) +(path->string (current-directory)) (set-string->number?! string->number) (define-syntax-rule (test expect rhs) diff --git a/racket/src/io/main.rkt b/racket/src/io/main.rkt index 06a24c5189..82c44a9052 100644 --- a/racket/src/io/main.rkt +++ b/racket/src/io/main.rkt @@ -23,6 +23,7 @@ "machine/main.rkt" "run/main.rkt" "port/parameter.rkt" + "path/system.rkt" (only-in "host/rktio.rkt" rktio-place-init!) "port/place.rkt") @@ -56,6 +57,7 @@ (sandman-place-init!) (rktio-place-init!) (logger-init!) + (init-current-directory!) (init-current-ports! in-fd out-fd err-fd cust plumber)) (module main racket/base) diff --git a/racket/src/io/path/system.rkt b/racket/src/io/path/system.rkt index cdb4ed29c1..88820447ba 100644 --- a/racket/src/io/path/system.rkt +++ b/racket/src/io/path/system.rkt @@ -6,6 +6,7 @@ "../security/main.rkt" "../file/host.rkt" "path.rkt" + "parameter.rkt" "directory-path.rkt") (provide find-system-path @@ -13,7 +14,9 @@ set-run-file! set-collects-dir! set-config-dir! - set-addon-dir!) + set-addon-dir! + + init-current-directory!) (define/who (find-system-path key) (begin0 @@ -78,3 +81,9 @@ (rktio_free s) (end-atomic) (path bstr (system-path-convention-type))])) + +(define (init-current-directory!) + (current-directory orig-dir) + (current-directory-for-user orig-dir)) + +(void (init-current-directory!))