branch: elpa/geiser-guile
commit 849fc5ff74f24e755fc7c73d1ef6c4d41f060f10
Author: Jose Antonio Ortega Ruiz <[email protected]>
Commit: Jose Antonio Ortega Ruiz <[email protected]>

    Compile file.
---
 geiser/eval.scm | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/geiser/eval.scm b/geiser/eval.scm
index 7d82f7d..b4c0ea0 100644
--- a/geiser/eval.scm
+++ b/geiser/eval.scm
@@ -62,8 +62,15 @@ SUBR, MSG and REST."
           (cons 'msg (if msg (apply format (cons #f (cons msg margs))) '()))
           (cons 'rest (or rest '())))))
 
-(define (comp-file path)
+(define (comp-file path . dest)
   "Compile and load file, given its full @var{path}."
-  (compile-file path))
+  (let ((dest (if (null? dest)
+                  (dirname path)
+                  (car dest)))
+        (current (getcwd)))
+    (dynamic-wind
+        (lambda () (chdir dest))
+        (lambda () (compile-file path))
+        (lambda () (chdir current)))))
 
 ;;; eval.scm ends here

Reply via email to