From e7fdd07ebdf69cc9565345e1f20b429b42fcc3f9 Mon Sep 17 00:00:00 2001 From: Tim Vaughan Date: Fri, 29 May 2020 10:34:54 +0200 Subject: [PATCH] Scripts now evaluated with cwd set to their location. --- rags.scm | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/rags.scm b/rags.scm index ecc8618..b60a121 100644 --- a/rags.scm +++ b/rags.scm @@ -159,9 +159,12 @@ (define (serve-script config uri) ;; Scripts are responsible for the entire response, including header - (let ((path (document-path config uri))) - (apply (eval (with-input-from-file path read)) - (list uri)))) + (let* ((path (document-path config uri)) + (proc (eval (with-input-from-file path read)))) + (with-current-working-directory + (pathname-directory (document-path config uri)) + (lambda () + (apply proc (list uri)))))) (define (with-current-working-directory directory thunk) (let ((old-wd (current-directory)) -- 2.20.1