From 53b7279550a06967f660656363daa87bb261a753 Mon Sep 17 00:00:00 2001 From: jao Date: Mon, 10 Oct 2022 05:25:59 +0100 Subject: load-file: adjust current-directory to loaded file's Not totally sure it's always what we want, but makes effective the ("." . ".") default entry in library-directories. --- src/geiser/geiser.ss | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/geiser/geiser.ss b/src/geiser/geiser.ss index c982006..654a346 100644 --- a/src/geiser/geiser.ss +++ b/src/geiser/geiser.ss @@ -55,13 +55,17 @@ (define (obj-file-name name) (with-extension name ".so")) + (define (file-directory filename) + (let ((idx (last-index-of (string->list filename) #\/ 0 -1))) + (if (= idx -1) filename (substring filename 0 idx)))) + (define (geiser:load-file filename) (let ((output-filename (obj-file-name filename))) (call-with-result (lambda () - (with-output-to-string - (lambda () (maybe-compile-file filename output-filename))) - (parameterize ([compile-imported-libraries #t]) + (parameterize ([current-directory (file-directory filename)]) + (with-output-to-string + (lambda () (maybe-compile-file filename output-filename))) (load output-filename)))))) (define (geiser:add-to-load-path path) -- cgit v1.2.3