unspecific)
(define (save-boot-inits! environment)
- (if (pair? boot-inits)
+ (if boot-inits
(let ((inits (reverse! boot-inits)))
(set! boot-inits #f)
(let ((p (assq environment saved-boot-inits)))
(let ((environment (package/environment (find-package package-name)))
(runtime (pathname-as-directory "runtime"))
(rundir (system-library-directory-pathname "runtime" #t)))
+ (if (not init-expression) (init-boot-inits!))
(for-each
(lambda (file)
(let ((file (force* file)))
#t))))))))))
files)
(flush-purification-queue!)
- (eval init-expression environment))))
+ (if (not init-expression)
+ (begin
+ (save-boot-inits! environment)
+ ((get-boot-init-runner environment)))
+ (eval init-expression environment)))))
(define (force* value)
(cond ((procedure? value) (force* (value)))