summaryrefslogtreecommitdiff
path: root/scheme/guile/geiser
diff options
context:
space:
mode:
authorJose Antonio Ortega Ruiz <jao@gnu.org>2013-09-13 20:36:56 +0200
committerJose Antonio Ortega Ruiz <jao@gnu.org>2013-09-13 20:36:56 +0200
commit393305d2fcf612f4e5f99383f680f819b458c326 (patch)
treec74f36af8672b6c6c8c2e9624df19f2804cbd38c /scheme/guile/geiser
parentba42cac06db062d5392342930d3d175c1d3cf763 (diff)
downloadgeiser-chez-393305d2fcf612f4e5f99383f680f819b458c326.tar.gz
geiser-chez-393305d2fcf612f4e5f99383f680f819b458c326.tar.bz2
Guile: augmenting %load-compiled-path too
We add the paths in geiser-guile-load-path also to %load-compiled-path, and new directories added to the load path via geiser-add-to-load-path are added to both %load-path and %load-compiled-path. Here's hope Ludovic will like all these additions!
Diffstat (limited to 'scheme/guile/geiser')
-rw-r--r--scheme/guile/geiser/evaluation.scm15
1 files changed, 11 insertions, 4 deletions
diff --git a/scheme/guile/geiser/evaluation.scm b/scheme/guile/geiser/evaluation.scm
index 5562382..21f8772 100644
--- a/scheme/guile/geiser/evaluation.scm
+++ b/scheme/guile/geiser/evaluation.scm
@@ -1,6 +1,6 @@
;;; evaluation.scm -- evaluation, compilation and macro-expansion
-;; Copyright (C) 2009, 2010, 2011 Jose Antonio Ortega Ruiz
+;; Copyright (C) 2009, 2010, 2011, 2013 Jose Antonio Ortega Ruiz
;; This program is free software; you can redistribute it and/or
;; modify it under the terms of the Modified BSD License. You should
@@ -108,8 +108,15 @@
(lambda ()
(pretty-print (tree-il->scheme (macroexpand form)))))))
+(define (add-to-list lst dir)
+ (and (not (member dir lst))))
+
(define (ge:add-to-load-path dir)
(and (file-is-directory? dir)
- (not (member dir %load-path))
- (begin (set! %load-path (cons dir %load-path))
- #t)))
+ (let ((in-lp (member dir %load-path))
+ (in-clp (member dir %load-compiled-path)))
+ (when (not in-lp)
+ (set! %load-path (cons dir %load-path)))
+ (when (not in-clp)
+ (set! %load-compiled-path (cons dir %load-compiled-path)))
+ (or in-lp in-clp))))