;;; package: (runtime working-directory)
(declare (usual-integrations))
-
+\f
(define (initialize-package!)
- (set! working-directory-pathname (make-parameter #f))
+ (set! working-directory-pathname
+ (make-general-parameter #f
+ identity-procedure
+ identity-procedure
+ wd-setter))
(reset!)
(add-event-receiver! event:after-restore reset!))
(define working-directory-pathname)
+(define (wd-setter set-param pathname)
+ (set-param pathname)
+ (param:default-pathname-defaults pathname)
+ pathname)
+
(define (set-working-directory-pathname! name)
(let ((pathname (new-pathname name)))
;; XXX Checking FILE-DIRECTORY? is a stop-gap kludge until we fix
'SET-WORKING-DIRECTORY-PATHNAME!
(list name)))
(working-directory-pathname pathname)
- (param:default-pathname-defaults pathname)
(cmdl/set-default-directory (nearest-cmdl) pathname)
pathname))